vulkan-api 1.1.0.0 → 1.1.1.0
raw patch · 784 files changed
+156293/−127493 lines, 784 filesdep −ghc-prim
Dependencies removed: ghc-prim
This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.
Files
- cbits/vulkan_loader.c +39/−0
- include/vulkan/vulkan_core.h +130/−1
- include/vulkan_loader.h +8/−0
- src-gen/Graphics/Vulkan/Core_1_0.hsc +25282/−5935
- src-gen/Graphics/Vulkan/Core_1_1.hs +6094/−2356
- src-gen/Graphics/Vulkan/Ext.hs +6/−0
- src-gen/Graphics/Vulkan/Ext/VK_AMD_buffer_marker.hs +56/−43
- src-gen/Graphics/Vulkan/Ext/VK_AMD_draw_indirect_count.hs +117/−99
- src-gen/Graphics/Vulkan/Ext/VK_AMD_rasterization_order.hs +13/−16
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_core_properties.hs +80/−0
- src-gen/Graphics/Vulkan/Ext/VK_AMD_shader_info.hs +55/−52
- src-gen/Graphics/Vulkan/Ext/VK_AMD_texture_gather_bias_lod.hs +11/−13
- src-gen/Graphics/Vulkan/Ext/VK_ANDROID_external_memory_android_hardware_buffer.hs +146/−130
- src-gen/Graphics/Vulkan/Ext/VK_EXT_acquire_xlib_display.hs +94/−57
- src-gen/Graphics/Vulkan/Ext/VK_EXT_blend_operation_advanced.hs +25/−49
- src-gen/Graphics/Vulkan/Ext/VK_EXT_conservative_rasterization.hs +19/−30
- src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_marker.hs +233/−127
- src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_report.hs +179/−124
- src-gen/Graphics/Vulkan/Ext/VK_EXT_debug_utils.hs +549/−289
- src-gen/Graphics/Vulkan/Ext/VK_EXT_descriptor_indexing.hs +139/−0
- src-gen/Graphics/Vulkan/Ext/VK_EXT_direct_mode_display.hs +44/−23
- src-gen/Graphics/Vulkan/Ext/VK_EXT_discard_rectangles.hs +106/−125
- src-gen/Graphics/Vulkan/Ext/VK_EXT_display_control.hs +223/−169
- src-gen/Graphics/Vulkan/Ext/VK_EXT_display_surface_counter.hs +70/−47
- src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_dma_buf.hs +3/−3
- src-gen/Graphics/Vulkan/Ext/VK_EXT_external_memory_host.hs +73/−63
- src-gen/Graphics/Vulkan/Ext/VK_EXT_global_priority.hs +10/−14
- src-gen/Graphics/Vulkan/Ext/VK_EXT_hdr_metadata.hs +52/−34
- src-gen/Graphics/Vulkan/Ext/VK_EXT_sample_locations.hs +137/−115
- src-gen/Graphics/Vulkan/Ext/VK_EXT_sampler_filter_minmax.hs +21/−37
- src-gen/Graphics/Vulkan/Ext/VK_EXT_swapchain_colorspace.hs +2/−2
- src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_cache.hs +204/−144
- src-gen/Graphics/Vulkan/Ext/VK_EXT_validation_flags.hs +11/−11
- src-gen/Graphics/Vulkan/Ext/VK_EXT_vertex_attribute_divisor.hs +17/−32
- src-gen/Graphics/Vulkan/Ext/VK_GOOGLE_display_timing.hs +117/−76
- src-gen/Graphics/Vulkan/Ext/VK_IMG_filter_cubic.hs +4/−4
- src-gen/Graphics/Vulkan/Ext/VK_IMG_format_pvrtc.hs +2/−2
- src-gen/Graphics/Vulkan/Ext/VK_KHR_16bit_storage.hs +4/−6
- src-gen/Graphics/Vulkan/Ext/VK_KHR_android_surface.hs +190/−31
- src-gen/Graphics/Vulkan/Ext/VK_KHR_bind_memory2.hs +94/−71
- src-gen/Graphics/Vulkan/Ext/VK_KHR_dedicated_allocation.hs +5/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_descriptor_update_template.hs +187/−133
- src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group.hs +230/−217
- src-gen/Graphics/Vulkan/Ext/VK_KHR_device_group_creation.hs +67/−45
- src-gen/Graphics/Vulkan/Ext/VK_KHR_display.hs +1488/−392
- src-gen/Graphics/Vulkan/Ext/VK_KHR_display_swapchain.hs +228/−59
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence.hs +6/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_capabilities.hs +71/−58
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_fd.hs +91/−56
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_fence_win32.hs +102/−68
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory.hs +10/−15
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_capabilities.hs +78/−73
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_fd.hs +99/−71
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_memory_win32.hs +111/−78
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore.hs +6/−7
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_capabilities.hs +74/−58
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_fd.hs +95/−60
- src-gen/Graphics/Vulkan/Ext/VK_KHR_external_semaphore_win32.hs +115/−74
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs +183/−132
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_physical_device_properties2.hs +418/−296
- src-gen/Graphics/Vulkan/Ext/VK_KHR_get_surface_capabilities2.hs +129/−92
- src-gen/Graphics/Vulkan/Ext/VK_KHR_image_format_list.hs +15/−25
- src-gen/Graphics/Vulkan/Ext/VK_KHR_incremental_present.hs +13/−17
- src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance1.hs +45/−25
- src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance2.hs +23/−29
- src-gen/Graphics/Vulkan/Ext/VK_KHR_maintenance3.hs +69/−52
- src-gen/Graphics/Vulkan/Ext/VK_KHR_mir_surface.hs +339/−42
- src-gen/Graphics/Vulkan/Ext/VK_KHR_multiview.hs +9/−13
- src-gen/Graphics/Vulkan/Ext/VK_KHR_push_descriptor.hs +130/−117
- src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_mirror_clamp_to_edge.hs +2/−2
- src-gen/Graphics/Vulkan/Ext/VK_KHR_sampler_ycbcr_conversion.hs +192/−165
- src-gen/Graphics/Vulkan/Ext/VK_KHR_shared_presentable_image.hs +66/−46
- src-gen/Graphics/Vulkan/Ext/VK_KHR_surface.hs +853/−94
- src-gen/Graphics/Vulkan/Ext/VK_KHR_swapchain.hs +1829/−539
- src-gen/Graphics/Vulkan/Ext/VK_KHR_variable_pointers.hs +4/−6
- src-gen/Graphics/Vulkan/Ext/VK_KHR_wayland_surface.hs +344/−42
- src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_keyed_mutex.hs +9/−10
- src-gen/Graphics/Vulkan/Ext/VK_KHR_win32_surface.hs +334/−40
- src-gen/Graphics/Vulkan/Ext/VK_KHR_xcb_surface.hs +351/−44
- src-gen/Graphics/Vulkan/Ext/VK_KHR_xlib_surface.hs +350/−44
- src-gen/Graphics/Vulkan/Ext/VK_MVK_ios_surface.hs +59/−45
- src-gen/Graphics/Vulkan/Ext/VK_MVK_macos_surface.hs +62/−45
- src-gen/Graphics/Vulkan/Ext/VK_NN_vi_surface.hs +58/−45
- src-gen/Graphics/Vulkan/Ext/VK_NVX_device_generated_commands.hs +466/−326
- src-gen/Graphics/Vulkan/Ext/VK_NVX_multiview_per_view_attributes.hs +11/−21
- src-gen/Graphics/Vulkan/Ext/VK_NV_clip_space_w_scaling.hs +65/−53
- src-gen/Graphics/Vulkan/Ext/VK_NV_dedicated_allocation.hs +23/−38
- src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory.hs +23/−31
- src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_capabilities.hs +88/−80
- src-gen/Graphics/Vulkan/Ext/VK_NV_external_memory_win32.hs +61/−46
- src-gen/Graphics/Vulkan/Ext/VK_NV_fill_rectangle.hs +2/−2
- src-gen/Graphics/Vulkan/Ext/VK_NV_fragment_coverage_to_color.hs +7/−10
- src-gen/Graphics/Vulkan/Ext/VK_NV_framebuffer_mixed_samples.hs +9/−12
- src-gen/Graphics/Vulkan/Ext/VK_NV_glsl_shader.hs +2/−2
- src-gen/Graphics/Vulkan/Ext/VK_NV_shader_subgroup_partitioned.hs +67/−0
- src-gen/Graphics/Vulkan/Ext/VK_NV_viewport_swizzle.hs +15/−20
- src-gen/Graphics/Vulkan/Ext/VK_NV_win32_keyed_mutex.hs +9/−10
- src-gen/Graphics/Vulkan/Types/Defines.hs +3/−3
- src-gen/Graphics/Vulkan/Types/Enum/AccessFlags.hs +260/−0
- src-gen/Graphics/Vulkan/Types/Enum/Attachment.hs +176/−0
- src-gen/Graphics/Vulkan/Types/Enum/Blend.hs +293/−0
- src-gen/Graphics/Vulkan/Types/Enum/BorderColor.hs +92/−0
- src-gen/Graphics/Vulkan/Types/Enum/Buffer.hs +294/−0
- src-gen/Graphics/Vulkan/Types/Enum/ChromaLocation.hs +70/−0
- src-gen/Graphics/Vulkan/Types/Enum/Color.hs +137/−0
- src-gen/Graphics/Vulkan/Types/Enum/Command.hs +361/−0
- src-gen/Graphics/Vulkan/Types/Enum/CompareOp.hs +93/−0
- src-gen/Graphics/Vulkan/Types/Enum/ComponentSwizzle.hs +92/−0
- src-gen/Graphics/Vulkan/Types/Enum/CompositeAlphaFlagsKHR.hs +122/−0
- src-gen/Graphics/Vulkan/Types/Enum/ConservativeRasterizationModeEXT.hs +72/−0
- src-gen/Graphics/Vulkan/Types/Enum/CoverageModulationModeNV.hs +83/−0
- src-gen/Graphics/Vulkan/Types/Enum/CullModeFlags.hs +100/−0
- src-gen/Graphics/Vulkan/Types/Enum/Debug.hs +735/−0
- src-gen/Graphics/Vulkan/Types/Enum/DependencyFlags.hs +82/−0
- src-gen/Graphics/Vulkan/Types/Enum/Descriptor.hs +431/−0
- src-gen/Graphics/Vulkan/Types/Enum/Device.hs +239/−0
- src-gen/Graphics/Vulkan/Types/Enum/DiscardRectangleModeEXT.hs +61/−0
- src-gen/Graphics/Vulkan/Types/Enum/Display.hs +208/−0
- src-gen/Graphics/Vulkan/Types/Enum/DynamicState.hs +112/−0
- src-gen/Graphics/Vulkan/Types/Enum/External.hs +942/−0
- src-gen/Graphics/Vulkan/Types/Enum/Fence.hs +153/−0
- src-gen/Graphics/Vulkan/Types/Enum/Filter.hs +47/−0
- src-gen/Graphics/Vulkan/Types/Enum/Format.hs +1726/−0
- src-gen/Graphics/Vulkan/Types/Enum/FramebufferCreateFlagBits.hs +25/−0
- src-gen/Graphics/Vulkan/Types/Enum/FrontFace.hs +52/−0
- src-gen/Graphics/Vulkan/Types/Enum/Image.hs +630/−0
- src-gen/Graphics/Vulkan/Types/Enum/IndexType.hs +51/−0
- src-gen/Graphics/Vulkan/Types/Enum/IndirectCommands.hs +255/−0
- src-gen/Graphics/Vulkan/Types/Enum/InstanceCreateFlagBits.hs +25/−0
- src-gen/Graphics/Vulkan/Types/Enum/InternalAllocationType.hs +49/−0
- src-gen/Graphics/Vulkan/Types/Enum/LogicOp.hs +144/−0
- src-gen/Graphics/Vulkan/Types/Enum/Memory.hs +279/−0
- src-gen/Graphics/Vulkan/Types/Enum/Object.hs +427/−0
- src-gen/Graphics/Vulkan/Types/Enum/PeerMemoryFeatureFlag.hs +144/−0
- src-gen/Graphics/Vulkan/Types/Enum/PhysicalDeviceType.hs +86/−0
- src-gen/Graphics/Vulkan/Types/Enum/Pipeline.hs +629/−0
- src-gen/Graphics/Vulkan/Types/Enum/PointClippingBehavior.hs +76/−0
- src-gen/Graphics/Vulkan/Types/Enum/PolygonMode.hs +60/−0
- src-gen/Graphics/Vulkan/Types/Enum/PresentModeKHR.hs +70/−0
- src-gen/Graphics/Vulkan/Types/Enum/PrimitiveTopology.hs +145/−0
- src-gen/Graphics/Vulkan/Types/Enum/Query.hs +465/−0
- src-gen/Graphics/Vulkan/Types/Enum/Queue.hs +176/−0
- src-gen/Graphics/Vulkan/Types/Enum/RasterizationOrderAMD.hs +60/−0
- src-gen/Graphics/Vulkan/Types/Enum/RenderPassCreateFlagBits.hs +25/−0
- src-gen/Graphics/Vulkan/Types/Enum/Result.hs +190/−0
- src-gen/Graphics/Vulkan/Types/Enum/SampleCountFlags.hs +145/−0
- src-gen/Graphics/Vulkan/Types/Enum/Sampler.hs +339/−0
- src-gen/Graphics/Vulkan/Types/Enum/SemaphoreImportFlag.hs +98/−0
- src-gen/Graphics/Vulkan/Types/Enum/Shader.hs +195/−0
- src-gen/Graphics/Vulkan/Types/Enum/SharingMode.hs +53/−0
- src-gen/Graphics/Vulkan/Types/Enum/Sparse.hs +179/−0
- src-gen/Graphics/Vulkan/Types/Enum/Stencil.hs +183/−0
- src-gen/Graphics/Vulkan/Types/Enum/StructureType.hs +559/−0
- src-gen/Graphics/Vulkan/Types/Enum/SubgroupFeatureFlags.hs +174/−0
- src-gen/Graphics/Vulkan/Types/Enum/Subpass.hs +114/−0
- src-gen/Graphics/Vulkan/Types/Enum/Surface.hs +254/−0
- src-gen/Graphics/Vulkan/Types/Enum/SwapchainCreateFlagsKHR.hs +74/−0
- src-gen/Graphics/Vulkan/Types/Enum/SystemAllocationScope.hs +92/−0
- src-gen/Graphics/Vulkan/Types/Enum/TessellationDomainOrigin.hs +77/−0
- src-gen/Graphics/Vulkan/Types/Enum/ValidationC.hs +87/−0
- src-gen/Graphics/Vulkan/Types/Enum/VertexInputRate.hs +54/−0
- src-gen/Graphics/Vulkan/Types/Enum/ViewportCoordinateSwizzleNV.hs +127/−0
- src-gen/Graphics/Vulkan/Types/Enum/VkAccessFlags.hs +0/−260
- src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentDescriptionFlags.hs +0/−93
- src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentLoadOp.hs +0/−61
- src-gen/Graphics/Vulkan/Types/Enum/VkAttachmentStoreOp.hs +0/−55
- src-gen/Graphics/Vulkan/Types/Enum/VkBlendFactor.hs +0/−193
- src-gen/Graphics/Vulkan/Types/Enum/VkBlendOp.hs +0/−70
- src-gen/Graphics/Vulkan/Types/Enum/VkBlendOverlapEXT.hs +0/−64
- src-gen/Graphics/Vulkan/Types/Enum/VkBorderColor.hs +0/−92
- src-gen/Graphics/Vulkan/Types/Enum/VkBufferCreateFlags.hs +0/−113
- src-gen/Graphics/Vulkan/Types/Enum/VkBufferUsageFlags.hs +0/−190
- src-gen/Graphics/Vulkan/Types/Enum/VkBufferViewCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkChromaLocation.hs +0/−54
- src-gen/Graphics/Vulkan/Types/Enum/VkChromaLocationKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkColorComponentFlags.hs +0/−106
- src-gen/Graphics/Vulkan/Types/Enum/VkColorSpaceKHR.hs +0/−47
- src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferLevel.hs +0/−56
- src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferResetFlags.hs +0/−89
- src-gen/Graphics/Vulkan/Types/Enum/VkCommandBufferUsageFlags.hs +0/−113
- src-gen/Graphics/Vulkan/Types/Enum/VkCommandPoolCreateFlags.hs +0/−102
- src-gen/Graphics/Vulkan/Types/Enum/VkCommandPoolResetFlags.hs +0/−86
- src-gen/Graphics/Vulkan/Types/Enum/VkCompareOp.hs +0/−93
- src-gen/Graphics/Vulkan/Types/Enum/VkComponentSwizzle.hs +0/−92
- src-gen/Graphics/Vulkan/Types/Enum/VkCompositeAlphaFlagsKHR.hs +0/−122
- src-gen/Graphics/Vulkan/Types/Enum/VkConservativeRasterizationModeEXT.hs +0/−72
- src-gen/Graphics/Vulkan/Types/Enum/VkCoverageModulationModeNV.hs +0/−83
- src-gen/Graphics/Vulkan/Types/Enum/VkCullModeFlags.hs +0/−100
- src-gen/Graphics/Vulkan/Types/Enum/VkDebugReportFlagsEXT.hs +0/−126
- src-gen/Graphics/Vulkan/Types/Enum/VkDebugReportObjectTypeEXT.hs +0/−418
- src-gen/Graphics/Vulkan/Types/Enum/VkDebugUtilsMessageSeverityFlagsEXT.hs +0/−135
- src-gen/Graphics/Vulkan/Types/Enum/VkDebugUtilsMessageTypeFlagsEXT.hs +0/−118
- src-gen/Graphics/Vulkan/Types/Enum/VkDependencyFlags.hs +0/−82
- src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorPoolCreateFlags.hs +0/−91
- src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorSetLayoutCreateFlags.hs +0/−84
- src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorType.hs +0/−142
- src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorUpdateTemplateType.hs +0/−51
- src-gen/Graphics/Vulkan/Types/Enum/VkDescriptorUpdateTemplateTypeKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkDeviceCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkDeviceEventTypeEXT.hs +0/−49
- src-gen/Graphics/Vulkan/Types/Enum/VkDeviceGroupPresentModeFlagsKHR.hs +0/−142
- src-gen/Graphics/Vulkan/Types/Enum/VkDeviceQueueCreateFlags.hs +0/−73
- src-gen/Graphics/Vulkan/Types/Enum/VkDiscardRectangleModeEXT.hs +0/−61
- src-gen/Graphics/Vulkan/Types/Enum/VkDisplayEventTypeEXT.hs +0/−49
- src-gen/Graphics/Vulkan/Types/Enum/VkDisplayPlaneAlphaFlagsKHR.hs +0/−126
- src-gen/Graphics/Vulkan/Types/Enum/VkDisplayPowerStateEXT.hs +0/−66
- src-gen/Graphics/Vulkan/Types/Enum/VkDynamicState.hs +0/−112
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceFeatureFlagBitsKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceFeatureFlags.hs +0/−101
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceHandleTypeFlagBitsKHR.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalFenceHandleTypeFlags.hs +0/−129
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryFeatureFlagBitsKHR.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryFeatureFlags.hs +0/−115
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryFeatureFlagsNV.hs +0/−117
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlagBitsKHR.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlags.hs +0/−166
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalMemoryHandleTypeFlagsNV.hs +0/−137
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreFeatureFlagBitsKHR.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreFeatureFlags.hs +0/−106
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreHandleTypeFlagBitsKHR.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkExternalSemaphoreHandleTypeFlags.hs +0/−148
- src-gen/Graphics/Vulkan/Types/Enum/VkFenceCreateFlags.hs +0/−81
- src-gen/Graphics/Vulkan/Types/Enum/VkFenceImportFlagBitsKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkFenceImportFlags.hs +0/−81
- src-gen/Graphics/Vulkan/Types/Enum/VkFilter.hs +0/−47
- src-gen/Graphics/Vulkan/Types/Enum/VkFormat.hs +0/−1491
- src-gen/Graphics/Vulkan/Types/Enum/VkFormatFeatureFlags.hs +0/−251
- src-gen/Graphics/Vulkan/Types/Enum/VkFramebufferCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkFrontFace.hs +0/−52
- src-gen/Graphics/Vulkan/Types/Enum/VkImageAspectFlags.hs +0/−107
- src-gen/Graphics/Vulkan/Types/Enum/VkImageCreateFlags.hs +0/−138
- src-gen/Graphics/Vulkan/Types/Enum/VkImageLayout.hs +0/−128
- src-gen/Graphics/Vulkan/Types/Enum/VkImageTiling.hs +0/−53
- src-gen/Graphics/Vulkan/Types/Enum/VkImageType.hs +0/−55
- src-gen/Graphics/Vulkan/Types/Enum/VkImageUsageFlags.hs +0/−171
- src-gen/Graphics/Vulkan/Types/Enum/VkImageViewType.hs +0/−91
- src-gen/Graphics/Vulkan/Types/Enum/VkIndexType.hs +0/−51
- src-gen/Graphics/Vulkan/Types/Enum/VkIndirectCommandsLayoutUsageFlagsNVX.hs +0/−144
- src-gen/Graphics/Vulkan/Types/Enum/VkIndirectCommandsTokenTypeNVX.hs +0/−127
- src-gen/Graphics/Vulkan/Types/Enum/VkInstanceCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkInternalAllocationType.hs +0/−49
- src-gen/Graphics/Vulkan/Types/Enum/VkLogicOp.hs +0/−144
- src-gen/Graphics/Vulkan/Types/Enum/VkMemoryAllocateFlagBitsKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkMemoryAllocateFlags.hs +0/−86
- src-gen/Graphics/Vulkan/Types/Enum/VkMemoryHeapFlags.hs +0/−83
- src-gen/Graphics/Vulkan/Types/Enum/VkMemoryPropertyFlags.hs +0/−142
- src-gen/Graphics/Vulkan/Types/Enum/VkObjectEntryTypeNVX.hs +0/−91
- src-gen/Graphics/Vulkan/Types/Enum/VkObjectEntryUsageFlagsNVX.hs +0/−101
- src-gen/Graphics/Vulkan/Types/Enum/VkObjectType.hs +0/−268
- src-gen/Graphics/Vulkan/Types/Enum/VkPeerMemoryFeatureFlagBitsKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkPeerMemoryFeatureFlags.hs +0/−130
- src-gen/Graphics/Vulkan/Types/Enum/VkPhysicalDeviceType.hs +0/−86
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineBindPoint.hs +0/−55
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCacheCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCacheHeaderVersion.hs +0/−50
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineColorBlendStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineCreateFlags.hs +0/−108
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineDepthStencilStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineDynamicStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineInputAssemblyStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineLayoutCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineMultisampleStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineRasterizationStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineShaderStageCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineStageFlags.hs +0/−305
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineTessellationStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineVertexInputStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPipelineViewportStateCreateFlagBits.hs +0/−26
- src-gen/Graphics/Vulkan/Types/Enum/VkPointClippingBehavior.hs +0/−60
- src-gen/Graphics/Vulkan/Types/Enum/VkPointClippingBehaviorKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkPolygonMode.hs +0/−60
- src-gen/Graphics/Vulkan/Types/Enum/VkPresentModeKHR.hs +0/−70
- src-gen/Graphics/Vulkan/Types/Enum/VkPrimitiveTopology.hs +0/−145
- src-gen/Graphics/Vulkan/Types/Enum/VkQueryControlFlags.hs +0/−83
- src-gen/Graphics/Vulkan/Types/Enum/VkQueryPipelineStatisticFlags.hs +0/−253
- src-gen/Graphics/Vulkan/Types/Enum/VkQueryPoolCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkQueryResultFlags.hs +0/−117
- src-gen/Graphics/Vulkan/Types/Enum/VkQueryType.hs +0/−60
- src-gen/Graphics/Vulkan/Types/Enum/VkQueueFlags.hs +0/−110
- src-gen/Graphics/Vulkan/Types/Enum/VkQueueGlobalPriorityEXT.hs +0/−82
- src-gen/Graphics/Vulkan/Types/Enum/VkRasterizationOrderAMD.hs +0/−60
- src-gen/Graphics/Vulkan/Types/Enum/VkRenderPassCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkResult.hs +0/−190
- src-gen/Graphics/Vulkan/Types/Enum/VkSampleCountFlags.hs +0/−145
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerAddressMode.hs +0/−80
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerCreateFlagBits.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerMipmapMode.hs +0/−57
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerReductionModeEXT.hs +0/−72
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrModelConversion.hs +0/−98
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrModelConversionKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrRange.hs +0/−58
- src-gen/Graphics/Vulkan/Types/Enum/VkSamplerYcbcrRangeKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkSemaphoreImportFlagBitsKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkSemaphoreImportFlags.hs +0/−84
- src-gen/Graphics/Vulkan/Types/Enum/VkShaderInfoTypeAMD.hs +0/−64
- src-gen/Graphics/Vulkan/Types/Enum/VkShaderStageFlags.hs +0/−147
- src-gen/Graphics/Vulkan/Types/Enum/VkSharingMode.hs +0/−53
- src-gen/Graphics/Vulkan/Types/Enum/VkSparseImageFormatFlags.hs +0/−116
- src-gen/Graphics/Vulkan/Types/Enum/VkSparseMemoryBindFlags.hs +0/−86
- src-gen/Graphics/Vulkan/Types/Enum/VkStencilFaceFlags.hs +0/−101
- src-gen/Graphics/Vulkan/Types/Enum/VkStencilOp.hs +0/−98
- src-gen/Graphics/Vulkan/Types/Enum/VkStructureType.hs +0/−559
- src-gen/Graphics/Vulkan/Types/Enum/VkSubgroupFeatureFlags.hs +0/−174
- src-gen/Graphics/Vulkan/Types/Enum/VkSubpassContents.hs +0/−56
- src-gen/Graphics/Vulkan/Types/Enum/VkSubpassDescriptionFlags.hs +0/−74
- src-gen/Graphics/Vulkan/Types/Enum/VkSurfaceCounterFlagsEXT.hs +0/−86
- src-gen/Graphics/Vulkan/Types/Enum/VkSurfaceTransformFlagsKHR.hs +0/−191
- src-gen/Graphics/Vulkan/Types/Enum/VkSwapchainCreateFlagsKHR.hs +0/−74
- src-gen/Graphics/Vulkan/Types/Enum/VkSystemAllocationScope.hs +0/−92
- src-gen/Graphics/Vulkan/Types/Enum/VkTessellationDomainOrigin.hs +0/−61
- src-gen/Graphics/Vulkan/Types/Enum/VkTessellationDomainOriginKHR.hs +0/−25
- src-gen/Graphics/Vulkan/Types/Enum/VkValidationCacheHeaderVersionEXT.hs +0/−50
- src-gen/Graphics/Vulkan/Types/Enum/VkValidationCheckEXT.hs +0/−54
- src-gen/Graphics/Vulkan/Types/Enum/VkVertexInputRate.hs +0/−54
- src-gen/Graphics/Vulkan/Types/Enum/VkViewportCoordinateSwizzleNV.hs +0/−127
- src-gen/Graphics/Vulkan/Types/Funcpointers.hs +12/−20
- src-gen/Graphics/Vulkan/Types/Struct/AcquireNextImageInfoKHR.hsc +332/−0
- src-gen/Graphics/Vulkan/Types/Struct/AllocationCallbacks.hsc +301/−0
- src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc +323/−0
- src-gen/Graphics/Vulkan/Types/Struct/Attachment.hsc +685/−0
- src-gen/Graphics/Vulkan/Types/Struct/Bind.hsc +1961/−0
- src-gen/Graphics/Vulkan/Types/Struct/Buffer.hsc +1661/−0
- src-gen/Graphics/Vulkan/Types/Struct/Clear.hsc +913/−0
- src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc +906/−0
- src-gen/Graphics/Vulkan/Types/Struct/Command.hsc +1057/−0
- src-gen/Graphics/Vulkan/Types/Struct/ComponentMapping.hsc +207/−0
- src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc +346/−0
- src-gen/Graphics/Vulkan/Types/Struct/CopyDescriptorSet.hsc +397/−0
- src-gen/Graphics/Vulkan/Types/Struct/Debug.hsc +1435/−0
- src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsLabelEXT.hsc +275/−0
- src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc +625/−0
- src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCreateInfoEXT.hsc +374/−0
- src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsObjectNameInfoEXT.hsc +269/−0
- src-gen/Graphics/Vulkan/Types/Struct/DedicatedAllocation.hsc +650/−0
- src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc +3306/−0
- src-gen/Graphics/Vulkan/Types/Struct/Device.hsc +3982/−0
- src-gen/Graphics/Vulkan/Types/Struct/DispatchIndirectCommand.hsc +177/−0
- src-gen/Graphics/Vulkan/Types/Struct/Display.hsc +2388/−0
- src-gen/Graphics/Vulkan/Types/Struct/DrawInd.hsc +469/−0
- src-gen/Graphics/Vulkan/Types/Struct/EventCreateInfo.hsc +178/−0
- src-gen/Graphics/Vulkan/Types/Struct/Export.hsc +712/−0
- src-gen/Graphics/Vulkan/Types/Struct/ExtensionProperties.hsc +207/−0
- src-gen/Graphics/Vulkan/Types/Struct/Extent.hsc +283/−0
- src-gen/Graphics/Vulkan/Types/Struct/External.hsc +1951/−0
- src-gen/Graphics/Vulkan/Types/Struct/Fence.hsc +375/−0
- src-gen/Graphics/Vulkan/Types/Struct/FormatProperties.hsc +356/−0
- src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc +401/−0
- src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc +447/−0
- src-gen/Graphics/Vulkan/Types/Struct/Image.hsc +4292/−0
- src-gen/Graphics/Vulkan/Types/Struct/Import.hsc +984/−0
- src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc +721/−0
- src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.hsc +211/−0
- src-gen/Graphics/Vulkan/Types/Struct/InstanceCreateInfo.hsc +377/−0
- src-gen/Graphics/Vulkan/Types/Struct/LayerProperties.hsc +335/−0
- src-gen/Graphics/Vulkan/Types/Struct/MappedMemoryRange.hsc +250/−0
- src-gen/Graphics/Vulkan/Types/Struct/Memory.hsc +2185/−0
- src-gen/Graphics/Vulkan/Types/Struct/MultisamplePropertiesEXT.hsc +199/−0
- src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc +1720/−0
- src-gen/Graphics/Vulkan/Types/Struct/Offset.hsc +272/−0
- src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc +289/−0
- src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc +20205/−0
- src-gen/Graphics/Vulkan/Types/Struct/PhysicalDeviceFeatures.hsc +2803/−0
- src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc +9402/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformAndroidKhr.hsc +1816/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformIosMvk.hsc +221/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformMacosMvk.hsc +224/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformMirKhr.hsc +261/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformViNn.hsc +216/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformWaylandKhr.hsc +264/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformWin32Khr.hsc +4433/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformXcbKhr.hsc +260/−0
- src-gen/Graphics/Vulkan/Types/Struct/PlatformXlibKhr.hsc +259/−0
- src-gen/Graphics/Vulkan/Types/Struct/Present.hsc +1014/−0
- src-gen/Graphics/Vulkan/Types/Struct/ProtectedSubmitInfo.hsc +182/−0
- src-gen/Graphics/Vulkan/Types/Struct/PushConstantRange.hsc +179/−0
- src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc +296/−0
- src-gen/Graphics/Vulkan/Types/Struct/QueueFamilyProperties.hsc +407/−0
- src-gen/Graphics/Vulkan/Types/Struct/Rect.hsc +288/−0
- src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc +116/−0
- src-gen/Graphics/Vulkan/Types/Struct/RenderPass.hsc +1734/−0
- src-gen/Graphics/Vulkan/Types/Struct/SampleLocation.hsc +437/−0
- src-gen/Graphics/Vulkan/Types/Struct/Sampler.hsc +1888/−0
- src-gen/Graphics/Vulkan/Types/Struct/Semaphore.hsc +381/−0
- src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc +1134/−0
- src-gen/Graphics/Vulkan/Types/Struct/SharedPresentSurfaceCapabilitiesKHR.hsc +213/−0
- src-gen/Graphics/Vulkan/Types/Struct/Sparse.hsc +1875/−0
- src-gen/Graphics/Vulkan/Types/Struct/Specialization.hsc +378/−0
- src-gen/Graphics/Vulkan/Types/Struct/StencilOpState.hsc +321/−0
- src-gen/Graphics/Vulkan/Types/Struct/SubmitInfo.hsc +399/−0
- src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc +929/−0
- src-gen/Graphics/Vulkan/Types/Struct/SubresourceLayout.hsc +248/−0
- src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc +1548/−0
- src-gen/Graphics/Vulkan/Types/Struct/SwapchainC.hsc +1009/−0
- src-gen/Graphics/Vulkan/Types/Struct/TextureLODGatherFormatPropertiesAMD.hsc +213/−0
- src-gen/Graphics/Vulkan/Types/Struct/Validation.hsc +483/−0
- src-gen/Graphics/Vulkan/Types/Struct/VertexInput.hsc +566/−0
- src-gen/Graphics/Vulkan/Types/Struct/Viewport.hsc +583/−0
- src-gen/Graphics/Vulkan/Types/Struct/VkAcquireNextImageInfoKHR.hsc +0/−331
- src-gen/Graphics/Vulkan/Types/Struct/VkAllocationCallbacks.hsc +0/−299
- src-gen/Graphics/Vulkan/Types/Struct/VkAndroidHardwareBufferFormatPropertiesANDROID.hsc +0/−619
- src-gen/Graphics/Vulkan/Types/Struct/VkAndroidHardwareBufferPropertiesANDROID.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkAndroidHardwareBufferUsageANDROID.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkAndroidSurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkApplicationInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentDescription.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentReference.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkAttachmentSampleLocationsEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryDeviceGroupInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryDeviceGroupInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindBufferMemoryInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryDeviceGroupInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryDeviceGroupInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemoryInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImageMemorySwapchainInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImagePlaneMemoryInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindImagePlaneMemoryInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBindSparseInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferCopy.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferImageCopy.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryBarrier.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryRequirementsInfo2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferMemoryRequirementsInfo2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkBufferViewCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkClearAttachment.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkClearColorValue.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkClearDepthStencilValue.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkClearRect.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkClearValue.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCmdProcessCommandsInfoNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCmdReserveSpaceForCommandsInfoNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferAllocateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferBeginInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCommandBufferInheritanceInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCommandPoolCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkComponentMapping.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkComputePipelineCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkCopyDescriptorSet.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkD3D12FenceSubmitInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerMarkerInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerObjectNameInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugMarkerObjectTagInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugReportCallbackCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsLabelEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsMessengerCallbackDataEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsMessengerCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsObjectNameInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDebugUtilsObjectTagInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationBufferCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationImageCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDedicatedAllocationMemoryAllocateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorBufferInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorImageInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorPoolCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorPoolSize.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetAllocateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutBinding.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutSupport.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorSetLayoutSupportKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateEntry.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDescriptorUpdateTemplateEntryKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceEventInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGeneratedCommandsFeaturesNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGeneratedCommandsLimitsNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupBindSparseInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupBindSparseInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupCommandBufferBeginInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupCommandBufferBeginInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupDeviceCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupDeviceCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupPresentCapabilitiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupPresentInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupRenderPassBeginInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupRenderPassBeginInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSubmitInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSubmitInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceGroupSwapchainCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueGlobalPriorityCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDeviceQueueInfo2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDispatchIndirectCommand.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayEventInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModeCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModeParametersKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayModePropertiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPlaneCapabilitiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPlanePropertiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPowerInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPresentInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplayPropertiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDisplaySurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDrawIndexedIndirectCommand.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkDrawIndirectCommand.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkEventCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportFenceWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryAllocateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportMemoryWin32HandleInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExportSemaphoreWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExtensionProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExtent2D.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExtent3D.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalBufferProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalBufferPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalFenceProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalFencePropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalFormatANDROID.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalImageFormatPropertiesNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryBufferCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryBufferCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryImageCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalMemoryPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalSemaphoreProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkExternalSemaphorePropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFenceCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFenceGetFdInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFenceGetWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFormatProperties2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkFramebufferCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkGraphicsPipelineCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkHdrMetadataEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkIOSSurfaceCreateInfoMVK.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageBlit.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageCopy.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatListCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageFormatProperties2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryBarrier.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryRequirementsInfo2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageMemoryRequirementsInfo2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImagePlaneMemoryRequirementsInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImagePlaneMemoryRequirementsInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageResolve.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageSparseMemoryRequirementsInfo2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageSparseMemoryRequirementsInfo2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresource.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresourceLayers.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageSubresourceRange.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageSwapchainCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageViewCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageViewUsageCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImageViewUsageCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportAndroidHardwareBufferInfoANDROID.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportFenceFdInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportFenceWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryFdInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryHostPointerInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportMemoryWin32HandleInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportSemaphoreFdInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkImportSemaphoreWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsLayoutCreateInfoNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsLayoutTokenNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkIndirectCommandsTokenNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkInputAttachmentAspectReference.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkInputAttachmentAspectReferenceKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkInstanceCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkLayerProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMacOSSurfaceCreateInfoMVK.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMappedMemoryRange.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateFlagsInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateFlagsInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryAllocateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryBarrier.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedAllocateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedAllocateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedRequirements.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryDedicatedRequirementsKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryFdPropertiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryGetAndroidHardwareBufferInfoANDROID.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryGetFdInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryGetWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryHeap.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryHostPointerPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryRequirements2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryType.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMemoryWin32HandlePropertiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMirSurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkMultisamplePropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableCreateInfoNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableDescriptorSetEntryNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableEntryNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableIndexBufferEntryNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTablePipelineEntryNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTablePushConstantEntryNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkObjectTableVertexBufferEntryNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkOffset2D.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkOffset3D.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPastPresentationTimingGOOGLE.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevice16BitStorageFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevice16BitStorageFeaturesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceDiscardRectanglePropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalBufferInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalBufferInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalFenceInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalFenceInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalImageFormatInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalImageFormatInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalMemoryHostPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalSemaphoreInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceExternalSemaphoreInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceFeatures2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceGroupProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceGroupPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceIDProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceIDPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceImageFormatInfo2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceImageFormatInfo2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceLimits.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMaintenance3Properties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMaintenance3PropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMemoryProperties2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewFeaturesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceMultiviewPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePointClippingProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePointClippingPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProperties2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProtectedMemoryFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceProtectedMemoryProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDevicePushDescriptorPropertiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSampleLocationsPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerYcbcrConversionFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceShaderDrawParameterFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseImageFormatInfo2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseImageFormatInfo2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSparseProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSubgroupProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceSurfaceInfo2KHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVariablePointerFeatures.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVariablePointerFeaturesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineCacheCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineColorBlendAdvancedStateCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineColorBlendAttachmentState.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineColorBlendStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineCoverageModulationStateCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineCoverageToColorStateCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineDepthStencilStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineDiscardRectangleStateCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineDynamicStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineInputAssemblyStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineLayoutCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineMultisampleStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineRasterizationConservativeStateCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineRasterizationStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineRasterizationStateRasterizationOrderAMD.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineSampleLocationsStateCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineShaderStageCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationDomainOriginStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationDomainOriginStateCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineTessellationStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineVertexInputDivisorStateCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineVertexInputStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineViewportStateCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineViewportSwizzleStateCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPipelineViewportWScalingStateCreateInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPresentInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPresentRegionKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPresentRegionsKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPresentTimeGOOGLE.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPresentTimesInfoGOOGLE.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkProtectedSubmitInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkPushConstantRange.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkQueryPoolCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkQueueFamilyProperties2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRect2D.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRectLayerKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRefreshCycleDurationGOOGLE.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassBeginInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassInputAttachmentAspectCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassInputAttachmentAspectCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassMultiviewCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassMultiviewCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkRenderPassSampleLocationsBeginInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSampleLocationEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSampleLocationsInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerReductionModeCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionCreateInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionImageFormatProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionImageFormatPropertiesKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSamplerYcbcrConversionInfoKHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSemaphoreCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSemaphoreGetFdInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSemaphoreGetWin32HandleInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkShaderModuleCreateInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkShaderModuleValidationCacheCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkShaderResourceUsageAMD.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkShaderStatisticsInfoAMD.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSharedPresentSurfaceCapabilitiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseBufferMemoryBindInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageFormatProperties2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryBind.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryBindInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements2.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageMemoryRequirements2KHR.hs too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseImageOpaqueMemoryBindInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSparseMemoryBind.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSpecializationInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSpecializationMapEntry.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkStencilOpState.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSubmitInfo.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSubpassDependency.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSubpassDescription.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSubpassSampleLocationsEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSubresourceLayout.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceCapabilities2EXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceCapabilities2KHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceCapabilitiesKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceFormat2KHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSurfaceFormatKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSwapchainCounterCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkSwapchainCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkTextureLODGatherFormatPropertiesAMD.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkValidationCacheCreateInfoEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkValidationFlagsEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkVertexInputAttributeDescription.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkVertexInputBindingDescription.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkVertexInputBindingDivisorDescriptionEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkViSurfaceCreateInfoNN.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkViewport.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkViewportSwizzleNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkViewportWScalingNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkWaylandSurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkWin32KeyedMutexAcquireReleaseInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkWin32KeyedMutexAcquireReleaseInfoNV.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkWin32SurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkWriteDescriptorSet.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkXYColorEXT.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkXcbSurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/VkXlibSurfaceCreateInfoKHR.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/WriteDescriptorSet.hsc too large to diff
- src-gen/Graphics/Vulkan/Types/Struct/XYColorEXT.hsc too large to diff
- src/Graphics/Vulkan.hs too large to diff
- src/Graphics/Vulkan/Marshal.hs too large to diff
- src/Graphics/Vulkan/Marshal/Create.hs too large to diff
- src/Graphics/Vulkan/Marshal/Internal.hs too large to diff
- src/Graphics/Vulkan/Marshal/Proc.hs too large to diff
- vulkan-api.cabal too large to diff
@@ -0,0 +1,39 @@+#include "vulkan_loader.h"++#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) || defined(mingw32_HOST_OS)+ #include <windows.h>+ #define _vk_dlopen() LoadLibraryA("vulkan-1.dll")+ #define _vk_dlclose(handle) FreeLibrary((HMODULE) handle)+ #define _vk_dlsym(handle, name) GetProcAddress((HMODULE) handle, name)+ #define _vk_dlerror(msg) *msg = errMsgBuf; FormatMessage( \+ FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, \+ NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) errMsgBuf , 255, NULL )+ static TCHAR errMsgBuf[255] = { 0 };+#else+ #include <dlfcn.h>+ #if defined(__APPLE__) || defined(darwin_HOST_OS)+ #define _vk_dlopen() dlopen("libMoltenVK.dylib", RTLD_LAZY | RTLD_LOCAL)+ #else+ #define _vk_dlopen() dlopen("libvulkan.so", RTLD_LAZY | RTLD_LOCAL)+ #endif+ #define _vk_dlclose(handle) dlclose(handle)+ #define _vk_dlsym(handle, name) dlsym(handle, name)+ #define _vk_dlerror(msg) *msg = dlerror()+#endif+++void *_vkdll_dlinit(char **errorMsg){+ void *handle = (void*)_vk_dlopen();+ _vk_dlerror(errorMsg);+ return handle;+}++void _vkdll_dlclose(void *handle){+ _vk_dlclose(handle);+}++void *_vkdll_dlsym(void *handle, const char *symbol, char **errorMsg){+ void *rez = (void*)_vk_dlsym(handle, symbol);+ _vk_dlerror(errorMsg);+ return rez;+}
@@ -43,7 +43,7 @@ #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) // Version of this file-#define VK_HEADER_VERSION 71+#define VK_HEADER_VERSION 72 #define VK_NULL_HANDLE 0@@ -147,6 +147,7 @@ VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, VK_ERROR_INVALID_SHADER_NV = -1000012000,+ VK_ERROR_FRAGMENTATION_EXT = -1000161000, VK_ERROR_NOT_PERMITTED_EXT = -1000174001, VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,@@ -377,10 +378,16 @@ VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = 1000161000,+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = 1000161001,+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = 1000161002,+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = 1000161003,+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004, VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000, VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,@@ -1498,12 +1505,14 @@ typedef enum VkDescriptorSetLayoutCreateFlagBits { VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,+ VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = 0x00000002, VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkDescriptorSetLayoutCreateFlagBits; typedef VkFlags VkDescriptorSetLayoutCreateFlags; typedef enum VkDescriptorPoolCreateFlagBits { VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,+ VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = 0x00000002, VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkDescriptorPoolCreateFlagBits; typedef VkFlags VkDescriptorPoolCreateFlags;@@ -3738,6 +3747,7 @@ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,+ VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkSubgroupFeatureFlagBits; typedef VkFlags VkSubgroupFeatureFlags;@@ -7232,6 +7242,95 @@ void* pData); #endif +#define VK_EXT_descriptor_indexing 1+#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2+#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"+++typedef enum VkDescriptorBindingFlagBitsEXT {+ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = 0x00000001,+ VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = 0x00000002,+ VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = 0x00000004,+ VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = 0x00000008,+ VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF+} VkDescriptorBindingFlagBitsEXT;+typedef VkFlags VkDescriptorBindingFlagsEXT;++typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {+ VkStructureType sType;+ const void* pNext;+ uint32_t bindingCount;+ const VkDescriptorBindingFlagsEXT* pBindingFlags;+} VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;++typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {+ VkStructureType sType;+ void* pNext;+ VkBool32 shaderInputAttachmentArrayDynamicIndexing;+ VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;+ VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;+ VkBool32 shaderUniformBufferArrayNonUniformIndexing;+ VkBool32 shaderSampledImageArrayNonUniformIndexing;+ VkBool32 shaderStorageBufferArrayNonUniformIndexing;+ VkBool32 shaderStorageImageArrayNonUniformIndexing;+ VkBool32 shaderInputAttachmentArrayNonUniformIndexing;+ VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;+ VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;+ VkBool32 descriptorBindingUniformBufferUpdateAfterBind;+ VkBool32 descriptorBindingSampledImageUpdateAfterBind;+ VkBool32 descriptorBindingStorageImageUpdateAfterBind;+ VkBool32 descriptorBindingStorageBufferUpdateAfterBind;+ VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;+ VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;+ VkBool32 descriptorBindingUpdateUnusedWhilePending;+ VkBool32 descriptorBindingPartiallyBound;+ VkBool32 descriptorBindingVariableDescriptorCount;+ VkBool32 runtimeDescriptorArray;+} VkPhysicalDeviceDescriptorIndexingFeaturesEXT;++typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {+ VkStructureType sType;+ void* pNext;+ uint32_t maxUpdateAfterBindDescriptorsInAllPools;+ VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;+ VkBool32 shaderSampledImageArrayNonUniformIndexingNative;+ VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;+ VkBool32 shaderStorageImageArrayNonUniformIndexingNative;+ VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;+ VkBool32 robustBufferAccessUpdateAfterBind;+ VkBool32 quadDivergentImplicitLod;+ uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;+ uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;+ uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;+ uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;+ uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;+ uint32_t maxPerStageUpdateAfterBindResources;+ uint32_t maxDescriptorSetUpdateAfterBindSamplers;+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;+ uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;+ uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;+ uint32_t maxDescriptorSetUpdateAfterBindSampledImages;+ uint32_t maxDescriptorSetUpdateAfterBindStorageImages;+ uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;+} VkPhysicalDeviceDescriptorIndexingPropertiesEXT;++typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {+ VkStructureType sType;+ const void* pNext;+ uint32_t descriptorSetCount;+ const uint32_t* pDescriptorCounts;+} VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;++typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {+ VkStructureType sType;+ void* pNext;+ uint32_t maxVariableDescriptorCount;+} VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;+++ #define VK_EXT_shader_viewport_index_layer 1 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"@@ -7310,6 +7409,31 @@ uint32_t marker); #endif +#define VK_AMD_shader_core_properties 1+#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 1+#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"++typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {+ VkStructureType sType;+ void* pNext;+ uint32_t shaderEngineCount;+ uint32_t shaderArraysPerEngineCount;+ uint32_t computeUnitsPerShaderArray;+ uint32_t simdPerComputeUnit;+ uint32_t wavefrontsPerSimd;+ uint32_t wavefrontSize;+ uint32_t sgprsPerSimd;+ uint32_t minSgprAllocation;+ uint32_t maxSgprAllocation;+ uint32_t sgprAllocationGranularity;+ uint32_t vgprsPerSimd;+ uint32_t minVgprAllocation;+ uint32_t maxVgprAllocation;+ uint32_t vgprAllocationGranularity;+} VkPhysicalDeviceShaderCorePropertiesAMD;+++ #define VK_EXT_vertex_attribute_divisor 1 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"@@ -7332,6 +7456,11 @@ const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; } VkPipelineVertexInputDivisorStateCreateInfoEXT; +++#define VK_NV_shader_subgroup_partitioned 1+#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1+#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" #ifdef __cplusplus
@@ -0,0 +1,8 @@+#ifndef VULKAN_LOADER_H_+#define VULKAN_LOADER_H_ 1++void *_vkdll_dlinit(char **errorMsg);+void _vkdll_dlclose(void *handle);+void *_vkdll_dlsym(void *handle, const char *symbol, char **errorMsg);++#endif
@@ -1,5937 +1,25284 @@ #include "vulkan/vulkan.h" -{-# OPTIONS_GHC -fno-warn-unused-imports#-}-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Core_1_0- (-- * Vulkan core API interface definitions- -- |- --- -- @api = vulkan@- --- -- @name = VK_VERSION_1_0@- --- -- @number = 1.0@- ---- -- ** Header boilerplate- --- -- |- -- > ##include "vk_platform.h"- ---- -- ** API version- ---- -- ** API constants- module Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion,- pattern VK_LOD_CLAMP_NONE, pattern VK_REMAINING_MIP_LEVELS,- pattern VK_REMAINING_ARRAY_LAYERS, pattern VK_WHOLE_SIZE,- pattern VK_ATTACHMENT_UNUSED, pattern VK_TRUE, pattern VK_FALSE,- pattern VK_QUEUE_FAMILY_IGNORED, pattern VK_SUBPASS_EXTERNAL,- -- ** Device initialization- vkCreateInstance, vkCreateInstanceSafe, vkDestroyInstance,- vkDestroyInstanceSafe, vkEnumeratePhysicalDevices,- vkEnumeratePhysicalDevicesSafe, vkGetPhysicalDeviceFeatures,- vkGetPhysicalDeviceFeaturesSafe,- vkGetPhysicalDeviceFormatProperties,- vkGetPhysicalDeviceFormatPropertiesSafe,- vkGetPhysicalDeviceImageFormatProperties,- vkGetPhysicalDeviceImageFormatPropertiesSafe,- vkGetPhysicalDeviceProperties, vkGetPhysicalDevicePropertiesSafe,- vkGetPhysicalDeviceQueueFamilyProperties,- vkGetPhysicalDeviceQueueFamilyPropertiesSafe,- vkGetPhysicalDeviceMemoryProperties,- vkGetPhysicalDeviceMemoryPropertiesSafe, vkGetInstanceProcAddr,- vkGetInstanceProcAddrSafe, vkGetDeviceProcAddr,- vkGetDeviceProcAddrSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,- module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkQueueFlags,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,- module Graphics.Vulkan.Types.Funcpointers,- module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- module Graphics.Vulkan.Types.Struct.VkApplicationInfo,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Struct.VkFormatProperties,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryHeap,- module Graphics.Vulkan.Types.Struct.VkMemoryType,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,- -- ** Device commands- vkCreateDevice, vkCreateDeviceSafe, vkDestroyDevice,- vkDestroyDeviceSafe,- module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,- module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,- -- ** Extension discovery commands- vkEnumerateInstanceExtensionProperties,- vkEnumerateInstanceExtensionPropertiesSafe,- vkEnumerateDeviceExtensionProperties,- vkEnumerateDeviceExtensionPropertiesSafe,- module Graphics.Vulkan.Types.Struct.VkExtensionProperties,- -- ** Layer discovery commands- vkEnumerateInstanceLayerProperties,- vkEnumerateInstanceLayerPropertiesSafe,- vkEnumerateDeviceLayerProperties,- vkEnumerateDeviceLayerPropertiesSafe,- module Graphics.Vulkan.Types.Struct.VkLayerProperties,- -- ** queue commands- vkGetDeviceQueue, vkGetDeviceQueueSafe, vkQueueSubmit,- vkQueueSubmitSafe, vkQueueWaitIdle, vkQueueWaitIdleSafe,- vkDeviceWaitIdle, vkDeviceWaitIdleSafe,- module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,- module Graphics.Vulkan.Types.Struct.VkSubmitInfo, -- ** Memory commands- vkAllocateMemory,- vkAllocateMemorySafe, vkFreeMemory, vkFreeMemorySafe, vkMapMemory,- vkMapMemorySafe, vkUnmapMemory, vkUnmapMemorySafe,- vkFlushMappedMemoryRanges, vkFlushMappedMemoryRangesSafe,- vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRangesSafe,- vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitmentSafe,- module Graphics.Vulkan.Types.Struct.VkMappedMemoryRange,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- -- ** Memory management API commands- vkBindBufferMemory, vkBindBufferMemorySafe, vkBindImageMemory,- vkBindImageMemorySafe, vkGetBufferMemoryRequirements,- vkGetBufferMemoryRequirementsSafe, vkGetImageMemoryRequirements,- vkGetImageMemoryRequirementsSafe,- module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,- -- ** Sparse resource memory management API commands- vkGetImageSparseMemoryRequirements,- vkGetImageSparseMemoryRequirementsSafe,- vkGetPhysicalDeviceSparseImageFormatProperties,- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe,- vkQueueBindSparse, vkQueueBindSparseSafe,- module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,- module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,- module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags,- module Graphics.Vulkan.Types.Struct.VkBindSparseInfo,- module Graphics.Vulkan.Types.Struct.VkImageSubresource,- module Graphics.Vulkan.Types.Struct.VkOffset3D,- module Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,- module Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo,- module Graphics.Vulkan.Types.Struct.VkSparseMemoryBind,- -- ** Fence commands- vkCreateFence, vkCreateFenceSafe, vkDestroyFence,- vkDestroyFenceSafe, vkResetFences, vkResetFencesSafe,- vkGetFenceStatus, vkGetFenceStatusSafe, vkWaitForFences,- vkWaitForFencesSafe,- module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,- module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,- -- ** Queue semaphore commands- vkCreateSemaphore, vkCreateSemaphoreSafe, vkDestroySemaphore,- vkDestroySemaphoreSafe,- module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,- -- ** Event commands- vkCreateEvent, vkCreateEventSafe, vkDestroyEvent,- vkDestroyEventSafe, vkGetEventStatus, vkGetEventStatusSafe,- vkSetEvent, vkSetEventSafe, vkResetEvent, vkResetEventSafe,- module Graphics.Vulkan.Types.Struct.VkEventCreateInfo,- -- ** Query commands- vkCreateQueryPool, vkCreateQueryPoolSafe, vkDestroyQueryPool,- vkDestroyQueryPoolSafe, vkGetQueryPoolResults,- vkGetQueryPoolResultsSafe,- module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags,- module Graphics.Vulkan.Types.Enum.VkQueryResultFlags,- module Graphics.Vulkan.Types.Enum.VkQueryType,- module Graphics.Vulkan.Types.Struct.VkQueryPoolCreateInfo,- -- ** Buffer commands- vkCreateBuffer, vkCreateBufferSafe, vkDestroyBuffer,- vkDestroyBufferSafe,- module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,- module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,- -- ** Buffer view commands- vkCreateBufferView, vkCreateBufferViewSafe, vkDestroyBufferView,- vkDestroyBufferViewSafe,- module Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo,- -- ** Image commands- vkCreateImage, vkCreateImageSafe, vkDestroyImage,- vkDestroyImageSafe, vkGetImageSubresourceLayout,- vkGetImageSubresourceLayoutSafe,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkSubresourceLayout,- -- ** Image view commands- vkCreateImageView, vkCreateImageViewSafe, vkDestroyImageView,- vkDestroyImageViewSafe,- module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,- module Graphics.Vulkan.Types.Enum.VkImageViewType,- module Graphics.Vulkan.Types.Struct.VkComponentMapping,- module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,- module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,- -- ** Shader commands- vkCreateShaderModule, vkCreateShaderModuleSafe,- vkDestroyShaderModule, vkDestroyShaderModuleSafe,- module Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo,- -- ** Pipeline Cache commands- vkCreatePipelineCache, vkCreatePipelineCacheSafe,- vkDestroyPipelineCache, vkDestroyPipelineCacheSafe,- vkGetPipelineCacheData, vkGetPipelineCacheDataSafe,- vkMergePipelineCaches, vkMergePipelineCachesSafe,- module Graphics.Vulkan.Types.Struct.VkPipelineCacheCreateInfo,- -- ** Pipeline commands- vkCreateGraphicsPipelines, vkCreateGraphicsPipelinesSafe,- vkCreateComputePipelines, vkCreateComputePipelinesSafe,- vkDestroyPipeline, vkDestroyPipelineSafe,- module Graphics.Vulkan.Types.Enum.VkBlendFactor,- module Graphics.Vulkan.Types.Enum.VkBlendOp,- module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,- module Graphics.Vulkan.Types.Enum.VkCompareOp,- module Graphics.Vulkan.Types.Enum.VkCullModeFlags,- module Graphics.Vulkan.Types.Enum.VkDynamicState,- module Graphics.Vulkan.Types.Enum.VkFrontFace,- module Graphics.Vulkan.Types.Enum.VkLogicOp,- module Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags,- module Graphics.Vulkan.Types.Enum.VkPolygonMode,- module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology,- module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,- module Graphics.Vulkan.Types.Enum.VkStencilOp,- module Graphics.Vulkan.Types.Enum.VkVertexInputRate,- module Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Struct.VkSpecializationInfo,- module Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry,- module Graphics.Vulkan.Types.Struct.VkStencilOpState,- module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,- module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,- module Graphics.Vulkan.Types.Struct.VkViewport,- -- ** Pipeline layout commands- vkCreatePipelineLayout, vkCreatePipelineLayoutSafe,- vkDestroyPipelineLayout, vkDestroyPipelineLayoutSafe,- module Graphics.Vulkan.Types.Struct.VkPipelineLayoutCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPushConstantRange,- -- ** Sampler commands- vkCreateSampler, vkCreateSamplerSafe, vkDestroySampler,- vkDestroySamplerSafe,- module Graphics.Vulkan.Types.Enum.VkBorderColor,- module Graphics.Vulkan.Types.Enum.VkFilter,- module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,- module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,- module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,- -- ** Descriptor set commands- vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayoutSafe,- vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayoutSafe,- vkCreateDescriptorPool, vkCreateDescriptorPoolSafe,- vkDestroyDescriptorPool, vkDestroyDescriptorPoolSafe,- vkResetDescriptorPool, vkResetDescriptorPoolSafe,- vkAllocateDescriptorSets, vkAllocateDescriptorSetsSafe,- vkFreeDescriptorSets, vkFreeDescriptorSetsSafe,- vkUpdateDescriptorSets, vkUpdateDescriptorSetsSafe,- module Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags,- module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,- module Graphics.Vulkan.Types.Enum.VkDescriptorType,- module Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet,- module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,- module Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet,- -- ** Pass commands- vkCreateFramebuffer, vkCreateFramebufferSafe, vkDestroyFramebuffer,- vkDestroyFramebufferSafe, vkCreateRenderPass,- vkCreateRenderPassSafe, vkDestroyRenderPass,- vkDestroyRenderPassSafe, vkGetRenderAreaGranularity,- vkGetRenderAreaGranularitySafe,- module Graphics.Vulkan.Types.Enum.VkAccessFlags,- module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,- module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,- module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,- module Graphics.Vulkan.Types.Enum.VkDependencyFlags,- module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,- module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,- module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,- module Graphics.Vulkan.Types.Struct.VkAttachmentReference,- module Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo,- module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,- module Graphics.Vulkan.Types.Struct.VkSubpassDependency,- module Graphics.Vulkan.Types.Struct.VkSubpassDescription,- -- ** Command pool commands- vkCreateCommandPool, vkCreateCommandPoolSafe, vkDestroyCommandPool,- vkDestroyCommandPoolSafe, vkResetCommandPool,- vkResetCommandPoolSafe,- module Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags,- module Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags,- module Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo,- -- ** Command buffer commands- vkAllocateCommandBuffers, vkAllocateCommandBuffersSafe,- vkFreeCommandBuffers, vkFreeCommandBuffersSafe,- vkBeginCommandBuffer, vkBeginCommandBufferSafe, vkEndCommandBuffer,- vkEndCommandBufferSafe, vkResetCommandBuffer,- vkResetCommandBufferSafe,- module Graphics.Vulkan.Types.Enum.VkCommandBufferLevel,- module Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags,- module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags,- module Graphics.Vulkan.Types.Enum.VkQueryControlFlags,- module Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo,- module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo,- -- ** Command buffer building commands- vkCmdBindPipeline, vkCmdBindPipelineSafe, vkCmdSetViewport,- vkCmdSetViewportSafe, vkCmdSetScissor, vkCmdSetScissorSafe,- vkCmdSetLineWidth, vkCmdSetLineWidthSafe, vkCmdSetDepthBias,- vkCmdSetDepthBiasSafe, vkCmdSetBlendConstants,- vkCmdSetBlendConstantsSafe, vkCmdSetDepthBounds,- vkCmdSetDepthBoundsSafe, vkCmdSetStencilCompareMask,- vkCmdSetStencilCompareMaskSafe, vkCmdSetStencilWriteMask,- vkCmdSetStencilWriteMaskSafe, vkCmdSetStencilReference,- vkCmdSetStencilReferenceSafe, vkCmdBindDescriptorSets,- vkCmdBindDescriptorSetsSafe, vkCmdBindIndexBuffer,- vkCmdBindIndexBufferSafe, vkCmdBindVertexBuffers,- vkCmdBindVertexBuffersSafe, vkCmdDraw, vkCmdDrawSafe,- vkCmdDrawIndexed, vkCmdDrawIndexedSafe, vkCmdDrawIndirect,- vkCmdDrawIndirectSafe, vkCmdDrawIndexedIndirect,- vkCmdDrawIndexedIndirectSafe, vkCmdDispatch, vkCmdDispatchSafe,- vkCmdDispatchIndirect, vkCmdDispatchIndirectSafe, vkCmdCopyBuffer,- vkCmdCopyBufferSafe, vkCmdCopyImage, vkCmdCopyImageSafe,- vkCmdBlitImage, vkCmdBlitImageSafe, vkCmdCopyBufferToImage,- vkCmdCopyBufferToImageSafe, vkCmdCopyImageToBuffer,- vkCmdCopyImageToBufferSafe, vkCmdUpdateBuffer,- vkCmdUpdateBufferSafe, vkCmdFillBuffer, vkCmdFillBufferSafe,- vkCmdClearColorImage, vkCmdClearColorImageSafe,- vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImageSafe,- vkCmdClearAttachments, vkCmdClearAttachmentsSafe,- vkCmdResolveImage, vkCmdResolveImageSafe, vkCmdSetEvent,- vkCmdSetEventSafe, vkCmdResetEvent, vkCmdResetEventSafe,- vkCmdWaitEvents, vkCmdWaitEventsSafe, vkCmdPipelineBarrier,- vkCmdPipelineBarrierSafe, vkCmdBeginQuery, vkCmdBeginQuerySafe,- vkCmdEndQuery, vkCmdEndQuerySafe, vkCmdResetQueryPool,- vkCmdResetQueryPoolSafe, vkCmdWriteTimestamp,- vkCmdWriteTimestampSafe, vkCmdCopyQueryPoolResults,- vkCmdCopyQueryPoolResultsSafe, vkCmdPushConstants,- vkCmdPushConstantsSafe, vkCmdBeginRenderPass,- vkCmdBeginRenderPassSafe, vkCmdNextSubpass, vkCmdNextSubpassSafe,- vkCmdEndRenderPass, vkCmdEndRenderPassSafe, vkCmdExecuteCommands,- vkCmdExecuteCommandsSafe,- module Graphics.Vulkan.Types.Enum.VkIndexType,- module Graphics.Vulkan.Types.Enum.VkStencilFaceFlags,- module Graphics.Vulkan.Types.Enum.VkSubpassContents,- module Graphics.Vulkan.Types.Struct.VkBufferCopy,- module Graphics.Vulkan.Types.Struct.VkBufferImageCopy,- module Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier,- module Graphics.Vulkan.Types.Struct.VkClearAttachment,- module Graphics.Vulkan.Types.Struct.VkClearColorValue,- module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,- module Graphics.Vulkan.Types.Struct.VkClearRect,- module Graphics.Vulkan.Types.Struct.VkClearValue,- module Graphics.Vulkan.Types.Struct.VkImageBlit,- module Graphics.Vulkan.Types.Struct.VkImageCopy,- module Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier,- module Graphics.Vulkan.Types.Struct.VkImageResolve,- module Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers,- module Graphics.Vulkan.Types.Struct.VkMemoryBarrier,- module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,- -- ** Types not directly used by the API. Include e.g. structs that are not parameter types of commands, but still defined by the API.- module Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand,- module Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand,- module Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand,- module Graphics.Vulkan.Types.Enum.VkObjectType)- where-import Graphics.Vulkan.Constants- (pattern VK_ATTACHMENT_UNUSED,- pattern VK_FALSE,- pattern VK_LOD_CLAMP_NONE,- pattern VK_QUEUE_FAMILY_IGNORED,- pattern VK_REMAINING_ARRAY_LAYERS,- pattern VK_REMAINING_MIP_LEVELS,- pattern VK_SUBPASS_EXTERNAL,- pattern VK_TRUE,- pattern VK_WHOLE_SIZE)-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkAccessFlags-import Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags-import Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp-import Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp-import Graphics.Vulkan.Types.Enum.VkBlendFactor-import Graphics.Vulkan.Types.Enum.VkBlendOp-import Graphics.Vulkan.Types.Enum.VkBorderColor-import Graphics.Vulkan.Types.Enum.VkBufferCreateFlags-import Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import Graphics.Vulkan.Types.Enum.VkColorComponentFlags-import Graphics.Vulkan.Types.Enum.VkCommandBufferLevel-import Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags-import Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags-import Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags-import Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags-import Graphics.Vulkan.Types.Enum.VkCompareOp-import Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import Graphics.Vulkan.Types.Enum.VkCullModeFlags-import Graphics.Vulkan.Types.Enum.VkDependencyFlags-import Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags-import Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags-import Graphics.Vulkan.Types.Enum.VkDescriptorType-import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags-import Graphics.Vulkan.Types.Enum.VkDynamicState-import Graphics.Vulkan.Types.Enum.VkFenceCreateFlags-import Graphics.Vulkan.Types.Enum.VkFilter-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags-import Graphics.Vulkan.Types.Enum.VkFrontFace-import Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkImageViewType-import Graphics.Vulkan.Types.Enum.VkIndexType-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkLogicOp-import Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags-import Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags-import Graphics.Vulkan.Types.Enum.VkObjectType-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion-import Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import Graphics.Vulkan.Types.Enum.VkPolygonMode-import Graphics.Vulkan.Types.Enum.VkPrimitiveTopology-import Graphics.Vulkan.Types.Enum.VkQueryControlFlags-import Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags-import Graphics.Vulkan.Types.Enum.VkQueryResultFlags-import Graphics.Vulkan.Types.Enum.VkQueryType-import Graphics.Vulkan.Types.Enum.VkQueueFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSamplerAddressMode-import Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode-import Graphics.Vulkan.Types.Enum.VkShaderStageFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags-import Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags-import Graphics.Vulkan.Types.Enum.VkStencilFaceFlags-import Graphics.Vulkan.Types.Enum.VkStencilOp-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSubpassContents-import Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope-import Graphics.Vulkan.Types.Enum.VkVertexInputRate-import Graphics.Vulkan.Types.Funcpointers-import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkApplicationInfo-import Graphics.Vulkan.Types.Struct.VkAttachmentDescription-import Graphics.Vulkan.Types.Struct.VkAttachmentReference-import Graphics.Vulkan.Types.Struct.VkBindSparseInfo-import Graphics.Vulkan.Types.Struct.VkBufferCopy-import Graphics.Vulkan.Types.Struct.VkBufferCreateInfo-import Graphics.Vulkan.Types.Struct.VkBufferImageCopy-import Graphics.Vulkan.Types.Struct.VkBufferMemoryBarrier-import Graphics.Vulkan.Types.Struct.VkBufferViewCreateInfo-import Graphics.Vulkan.Types.Struct.VkClearAttachment-import Graphics.Vulkan.Types.Struct.VkClearColorValue-import Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue-import Graphics.Vulkan.Types.Struct.VkClearRect-import Graphics.Vulkan.Types.Struct.VkClearValue-import Graphics.Vulkan.Types.Struct.VkCommandBufferAllocateInfo-import Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo-import Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo-import Graphics.Vulkan.Types.Struct.VkCommandPoolCreateInfo-import Graphics.Vulkan.Types.Struct.VkComponentMapping-import Graphics.Vulkan.Types.Struct.VkComputePipelineCreateInfo-import Graphics.Vulkan.Types.Struct.VkCopyDescriptorSet-import Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize-import Graphics.Vulkan.Types.Struct.VkDescriptorSetAllocateInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import Graphics.Vulkan.Types.Struct.VkDispatchIndirectCommand-import Graphics.Vulkan.Types.Struct.VkDrawIndexedIndirectCommand-import Graphics.Vulkan.Types.Struct.VkDrawIndirectCommand-import Graphics.Vulkan.Types.Struct.VkEventCreateInfo-import Graphics.Vulkan.Types.Struct.VkExtensionProperties-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkFenceCreateInfo-import Graphics.Vulkan.Types.Struct.VkFormatProperties-import Graphics.Vulkan.Types.Struct.VkFramebufferCreateInfo-import Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageBlit-import Graphics.Vulkan.Types.Struct.VkImageCopy-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier-import Graphics.Vulkan.Types.Struct.VkImageResolve-import Graphics.Vulkan.Types.Struct.VkImageSubresource-import Graphics.Vulkan.Types.Struct.VkImageSubresourceLayers-import Graphics.Vulkan.Types.Struct.VkImageSubresourceRange-import Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo-import Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo-import Graphics.Vulkan.Types.Struct.VkLayerProperties-import Graphics.Vulkan.Types.Struct.VkMappedMemoryRange-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryBarrier-import Graphics.Vulkan.Types.Struct.VkMemoryHeap-import Graphics.Vulkan.Types.Struct.VkMemoryRequirements-import Graphics.Vulkan.Types.Struct.VkMemoryType-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkOffset3D-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPipelineCacheCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineLayoutCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPushConstantRange-import Graphics.Vulkan.Types.Struct.VkQueryPoolCreateInfo-import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo-import Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo-import Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo-import Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo-import Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo-import Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements-import Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo-import Graphics.Vulkan.Types.Struct.VkSparseMemoryBind-import Graphics.Vulkan.Types.Struct.VkSpecializationInfo-import Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry-import Graphics.Vulkan.Types.Struct.VkStencilOpState-import Graphics.Vulkan.Types.Struct.VkSubmitInfo-import Graphics.Vulkan.Types.Struct.VkSubpassDependency-import Graphics.Vulkan.Types.Struct.VkSubpassDescription-import Graphics.Vulkan.Types.Struct.VkSubresourceLayout-import Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription-import Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription-import Graphics.Vulkan.Types.Struct.VkViewport-import Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------ > VkResult vkCreateInstance--- > ( const VkInstanceCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkInstance* pInstance--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateInstance.html vkCreateInstance registry at www.khronos.org>-foreign import ccall unsafe "vkCreateInstance" vkCreateInstance ::- Ptr VkInstanceCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkInstance -- ^ pInstance- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.------ > VkResult vkCreateInstance--- > ( const VkInstanceCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkInstance* pInstance--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateInstance.html vkCreateInstance registry at www.khronos.org>-foreign import ccall safe "vkCreateInstance" vkCreateInstanceSafe- ::- Ptr VkInstanceCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkInstance -- ^ pInstance- -> IO VkResult---- | > () vkDestroyInstance--- > ( VkInstance instance--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyInstance.html vkDestroyInstance registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyInstance" vkDestroyInstance- :: VkInstance -- ^ instance- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyInstance--- > ( VkInstance instance--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyInstance.html vkDestroyInstance registry at www.khronos.org>-foreign import ccall safe "vkDestroyInstance" vkDestroyInstanceSafe- :: VkInstance -- ^ instance- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDevices--- > ( VkInstance instance--- > , uint32_t* pPhysicalDeviceCount--- > , VkPhysicalDevice* pPhysicalDevices--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDevices.html vkEnumeratePhysicalDevices registry at www.khronos.org>-foreign import ccall unsafe "vkEnumeratePhysicalDevices"- vkEnumeratePhysicalDevices ::- VkInstance -- ^ instance- -> Ptr Word32 -- ^ pPhysicalDeviceCount- -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDevices--- > ( VkInstance instance--- > , uint32_t* pPhysicalDeviceCount--- > , VkPhysicalDevice* pPhysicalDevices--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDevices.html vkEnumeratePhysicalDevices registry at www.khronos.org>-foreign import ccall safe "vkEnumeratePhysicalDevices"- vkEnumeratePhysicalDevicesSafe ::- VkInstance -- ^ instance- -> Ptr Word32 -- ^ pPhysicalDeviceCount- -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices- -> IO VkResult---- | > () vkGetPhysicalDeviceFeatures--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceFeatures* pFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures.html vkGetPhysicalDeviceFeatures registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"- vkGetPhysicalDeviceFeatures ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures- -> IO ()---- | > () vkGetPhysicalDeviceFeatures--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceFeatures* pFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures.html vkGetPhysicalDeviceFeatures registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceFeatures"- vkGetPhysicalDeviceFeaturesSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures- -> IO ()---- | > () vkGetPhysicalDeviceFormatProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkFormatProperties* pFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties.html vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"- vkGetPhysicalDeviceFormatProperties ::- VkPhysicalDevice -- ^ physicalDevice- -> VkFormat -- ^ format- -> Ptr VkFormatProperties -- ^ pFormatProperties- -> IO ()---- | > () vkGetPhysicalDeviceFormatProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkFormatProperties* pFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties.html vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceFormatProperties"- vkGetPhysicalDeviceFormatPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> VkFormat -- ^ format- -> Ptr VkFormatProperties -- ^ pFormatProperties- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkImageType type--- > , VkImageTiling tiling--- > , VkImageUsageFlags usage--- > , VkImageCreateFlags flags--- > , VkImageFormatProperties* pImageFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties.html vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceImageFormatProperties"- vkGetPhysicalDeviceImageFormatProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkFormat -- ^ format- ->- VkImageType -- ^ type- ->- VkImageTiling -- ^ tiling- ->- VkImageUsageFlags -- ^ usage- ->- VkImageCreateFlags -- ^ flags- -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkImageType type--- > , VkImageTiling tiling--- > , VkImageUsageFlags usage--- > , VkImageCreateFlags flags--- > , VkImageFormatProperties* pImageFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties.html vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceImageFormatProperties"- vkGetPhysicalDeviceImageFormatPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkFormat -- ^ format- ->- VkImageType -- ^ type- ->- VkImageTiling -- ^ tiling- ->- VkImageUsageFlags -- ^ usage- ->- VkImageCreateFlags -- ^ flags- -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties- -> IO VkResult---- | > () vkGetPhysicalDeviceProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties.html vkGetPhysicalDeviceProperties registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceProperties"- vkGetPhysicalDeviceProperties ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceProperties -- ^ pProperties- -> IO ()---- | > () vkGetPhysicalDeviceProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties.html vkGetPhysicalDeviceProperties registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceProperties"- vkGetPhysicalDevicePropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceProperties -- ^ pProperties- -> IO ()---- | > () vkGetPhysicalDeviceQueueFamilyProperties--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pQueueFamilyPropertyCount--- > , VkQueueFamilyProperties* pQueueFamilyProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceQueueFamilyProperties"- vkGetPhysicalDeviceQueueFamilyProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pQueueFamilyPropertyCount- -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties- -> IO ()---- | > () vkGetPhysicalDeviceQueueFamilyProperties--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pQueueFamilyPropertyCount--- > , VkQueueFamilyProperties* pQueueFamilyProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties.html vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceQueueFamilyProperties"- vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pQueueFamilyPropertyCount- -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties- -> IO ()---- | > () vkGetPhysicalDeviceMemoryProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties.html vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"- vkGetPhysicalDeviceMemoryProperties ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties- -> IO ()---- | > () vkGetPhysicalDeviceMemoryProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties.html vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties"- vkGetPhysicalDeviceMemoryPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties- -> IO ()---- | > PFN_vkVoidFunction vkGetInstanceProcAddr--- > ( VkInstance instance--- > , const char* pName--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetInstanceProcAddr.html vkGetInstanceProcAddr registry at www.khronos.org>-foreign import ccall unsafe "vkGetInstanceProcAddr"- vkGetInstanceProcAddr ::- VkInstance -- ^ instance- -> CString -- ^ pName- -> IO PFN_vkVoidFunction---- | > PFN_vkVoidFunction vkGetInstanceProcAddr--- > ( VkInstance instance--- > , const char* pName--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetInstanceProcAddr.html vkGetInstanceProcAddr registry at www.khronos.org>-foreign import ccall safe "vkGetInstanceProcAddr"- vkGetInstanceProcAddrSafe ::- VkInstance -- ^ instance- -> CString -- ^ pName- -> IO PFN_vkVoidFunction---- | > PFN_vkVoidFunction vkGetDeviceProcAddr--- > ( VkDevice device--- > , const char* pName--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceProcAddr.html vkGetDeviceProcAddr registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceProcAddr"- vkGetDeviceProcAddr :: VkDevice -- ^ device- -> CString -- ^ pName- -> IO PFN_vkVoidFunction---- | > PFN_vkVoidFunction vkGetDeviceProcAddr--- > ( VkDevice device--- > , const char* pName--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceProcAddr.html vkGetDeviceProcAddr registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceProcAddr"- vkGetDeviceProcAddrSafe ::- VkDevice -- ^ device- -> CString -- ^ pName- -> IO PFN_vkVoidFunction---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkCreateDevice--- > ( VkPhysicalDevice physicalDevice--- > , const VkDeviceCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDevice* pDevice--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDevice.html vkCreateDevice registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDevice" vkCreateDevice ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkDeviceCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDevice -- ^ pDevice- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkCreateDevice--- > ( VkPhysicalDevice physicalDevice--- > , const VkDeviceCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDevice* pDevice--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDevice.html vkCreateDevice registry at www.khronos.org>-foreign import ccall safe "vkCreateDevice" vkCreateDeviceSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkDeviceCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDevice -- ^ pDevice- -> IO VkResult---- | > () vkDestroyDevice--- > ( VkDevice device--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDevice.html vkDestroyDevice registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDevice" vkDestroyDevice ::- VkDevice -- ^ device- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyDevice--- > ( VkDevice device--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDevice.html vkDestroyDevice registry at www.khronos.org>-foreign import ccall safe "vkDestroyDevice" vkDestroyDeviceSafe ::- VkDevice -- ^ device- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateInstanceExtensionProperties--- > ( const char* pLayerName--- > , uint32_t* pPropertyCount--- > , VkExtensionProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceExtensionProperties.html vkEnumerateInstanceExtensionProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkEnumerateInstanceExtensionProperties"- vkEnumerateInstanceExtensionProperties ::- CString -- ^ pLayerName- -> Ptr Word32 -- ^ pPropertyCount- -> Ptr VkExtensionProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateInstanceExtensionProperties--- > ( const char* pLayerName--- > , uint32_t* pPropertyCount--- > , VkExtensionProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceExtensionProperties.html vkEnumerateInstanceExtensionProperties registry at www.khronos.org>-foreign import ccall safe "vkEnumerateInstanceExtensionProperties"- vkEnumerateInstanceExtensionPropertiesSafe ::- CString -- ^ pLayerName- -> Ptr Word32 -- ^ pPropertyCount- -> Ptr VkExtensionProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateDeviceExtensionProperties--- > ( VkPhysicalDevice physicalDevice--- > , const char* pLayerName--- > , uint32_t* pPropertyCount--- > , VkExtensionProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceExtensionProperties.html vkEnumerateDeviceExtensionProperties registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"- vkEnumerateDeviceExtensionProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- CString -- ^ pLayerName- -> Ptr Word32 -- ^ pPropertyCount- -> Ptr VkExtensionProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.------ > VkResult vkEnumerateDeviceExtensionProperties--- > ( VkPhysicalDevice physicalDevice--- > , const char* pLayerName--- > , uint32_t* pPropertyCount--- > , VkExtensionProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceExtensionProperties.html vkEnumerateDeviceExtensionProperties registry at www.khronos.org>-foreign import ccall safe "vkEnumerateDeviceExtensionProperties"- vkEnumerateDeviceExtensionPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- CString -- ^ pLayerName- -> Ptr Word32 -- ^ pPropertyCount- -> Ptr VkExtensionProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateInstanceLayerProperties--- > ( uint32_t* pPropertyCount--- > , VkLayerProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceLayerProperties.html vkEnumerateInstanceLayerProperties registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"- vkEnumerateInstanceLayerProperties ::- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkLayerProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateInstanceLayerProperties--- > ( uint32_t* pPropertyCount--- > , VkLayerProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceLayerProperties.html vkEnumerateInstanceLayerProperties registry at www.khronos.org>-foreign import ccall safe "vkEnumerateInstanceLayerProperties"- vkEnumerateInstanceLayerPropertiesSafe ::- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkLayerProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateDeviceLayerProperties--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pPropertyCount--- > , VkLayerProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceLayerProperties.html vkEnumerateDeviceLayerProperties registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"- vkEnumerateDeviceLayerProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkLayerProperties -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEnumerateDeviceLayerProperties--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pPropertyCount--- > , VkLayerProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateDeviceLayerProperties.html vkEnumerateDeviceLayerProperties registry at www.khronos.org>-foreign import ccall safe "vkEnumerateDeviceLayerProperties"- vkEnumerateDeviceLayerPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkLayerProperties -- ^ pProperties- -> IO VkResult---- | > () vkGetDeviceQueue--- > ( VkDevice device--- > , uint32_t queueFamilyIndex--- > , uint32_t queueIndex--- > , VkQueue* pQueue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue.html vkGetDeviceQueue registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceQueue" vkGetDeviceQueue ::- VkDevice -- ^ device- -> Word32 -- ^ queueFamilyIndex- -> Word32 -- ^ queueIndex- -> Ptr VkQueue -- ^ pQueue- -> IO ()---- | > () vkGetDeviceQueue--- > ( VkDevice device--- > , uint32_t queueFamilyIndex--- > , uint32_t queueIndex--- > , VkQueue* pQueue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue.html vkGetDeviceQueue registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceQueue" vkGetDeviceQueueSafe- :: VkDevice -- ^ device- -> Word32 -- ^ queueFamilyIndex- -> Word32 -- ^ queueIndex- -> Ptr VkQueue -- ^ pQueue- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueSubmit--- > ( VkQueue queue--- > , uint32_t submitCount--- > , const VkSubmitInfo* pSubmits--- > , VkFence fence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueSubmit.html vkQueueSubmit registry at www.khronos.org>-foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmit ::- VkQueue -- ^ queue- -> Word32 -- ^ submitCount- -> Ptr VkSubmitInfo -- ^ pSubmits- -> VkFence -- ^ fence- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueSubmit--- > ( VkQueue queue--- > , uint32_t submitCount--- > , const VkSubmitInfo* pSubmits--- > , VkFence fence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueSubmit.html vkQueueSubmit registry at www.khronos.org>-foreign import ccall safe "vkQueueSubmit" vkQueueSubmitSafe ::- VkQueue -- ^ queue- -> Word32 -- ^ submitCount- -> Ptr VkSubmitInfo -- ^ pSubmits- -> VkFence -- ^ fence- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueWaitIdle--- > ( VkQueue queue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueWaitIdle.html vkQueueWaitIdle registry at www.khronos.org>-foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdle ::- VkQueue -- ^ queue- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkQueueWaitIdle--- > ( VkQueue queue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueWaitIdle.html vkQueueWaitIdle registry at www.khronos.org>-foreign import ccall safe "vkQueueWaitIdle" vkQueueWaitIdleSafe ::- VkQueue -- ^ queue- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkDeviceWaitIdle--- > ( VkDevice device--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDeviceWaitIdle.html vkDeviceWaitIdle registry at www.khronos.org>-foreign import ccall unsafe "vkDeviceWaitIdle" vkDeviceWaitIdle ::- VkDevice -- ^ device- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkDeviceWaitIdle--- > ( VkDevice device--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDeviceWaitIdle.html vkDeviceWaitIdle registry at www.khronos.org>-foreign import ccall safe "vkDeviceWaitIdle" vkDeviceWaitIdleSafe- :: VkDevice -- ^ device- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkAllocateMemory--- > ( VkDevice device--- > , const VkMemoryAllocateInfo* pAllocateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDeviceMemory* pMemory--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateMemory.html vkAllocateMemory registry at www.khronos.org>-foreign import ccall unsafe "vkAllocateMemory" vkAllocateMemory ::- VkDevice -- ^ device- ->- Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDeviceMemory -- ^ pMemory- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkAllocateMemory--- > ( VkDevice device--- > , const VkMemoryAllocateInfo* pAllocateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDeviceMemory* pMemory--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateMemory.html vkAllocateMemory registry at www.khronos.org>-foreign import ccall safe "vkAllocateMemory" vkAllocateMemorySafe- ::- VkDevice -- ^ device- ->- Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDeviceMemory -- ^ pMemory- -> IO VkResult---- | > () vkFreeMemory--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeMemory.html vkFreeMemory registry at www.khronos.org>-foreign import ccall unsafe "vkFreeMemory" vkFreeMemory ::- VkDevice -- ^ device- -> VkDeviceMemory -- ^ memory- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkFreeMemory--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeMemory.html vkFreeMemory registry at www.khronos.org>-foreign import ccall safe "vkFreeMemory" vkFreeMemorySafe ::- VkDevice -- ^ device- -> VkDeviceMemory -- ^ memory- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------ > VkResult vkMapMemory--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , VkDeviceSize offset--- > , VkDeviceSize size--- > , VkMemoryMapFlags flags--- > , void** ppData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMapMemory.html vkMapMemory registry at www.khronos.org>-foreign import ccall unsafe "vkMapMemory" vkMapMemory ::- VkDevice -- ^ device- ->- VkDeviceMemory -- ^ memory- ->- VkDeviceSize -- ^ offset- ->- VkDeviceSize -- ^ size- -> VkMemoryMapFlags -- ^ flags- -> Ptr (Ptr Void) -- ^ ppData- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.------ > VkResult vkMapMemory--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , VkDeviceSize offset--- > , VkDeviceSize size--- > , VkMemoryMapFlags flags--- > , void** ppData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMapMemory.html vkMapMemory registry at www.khronos.org>-foreign import ccall safe "vkMapMemory" vkMapMemorySafe ::- VkDevice -- ^ device- ->- VkDeviceMemory -- ^ memory- ->- VkDeviceSize -- ^ offset- ->- VkDeviceSize -- ^ size- -> VkMemoryMapFlags -- ^ flags- -> Ptr (Ptr Void) -- ^ ppData- -> IO VkResult---- | > () vkUnmapMemory--- > ( VkDevice device--- > , VkDeviceMemory memory--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnmapMemory.html vkUnmapMemory registry at www.khronos.org>-foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemory ::- VkDevice -- ^ device- -> VkDeviceMemory -- ^ memory- -> IO ()---- | > () vkUnmapMemory--- > ( VkDevice device--- > , VkDeviceMemory memory--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnmapMemory.html vkUnmapMemory registry at www.khronos.org>-foreign import ccall safe "vkUnmapMemory" vkUnmapMemorySafe ::- VkDevice -- ^ device- -> VkDeviceMemory -- ^ memory- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFlushMappedMemoryRanges--- > ( VkDevice device--- > , uint32_t memoryRangeCount--- > , const VkMappedMemoryRange* pMemoryRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFlushMappedMemoryRanges.html vkFlushMappedMemoryRanges registry at www.khronos.org>-foreign import ccall unsafe "vkFlushMappedMemoryRanges"- vkFlushMappedMemoryRanges ::- VkDevice -- ^ device- -> Word32 -- ^ memoryRangeCount- -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFlushMappedMemoryRanges--- > ( VkDevice device--- > , uint32_t memoryRangeCount--- > , const VkMappedMemoryRange* pMemoryRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFlushMappedMemoryRanges.html vkFlushMappedMemoryRanges registry at www.khronos.org>-foreign import ccall safe "vkFlushMappedMemoryRanges"- vkFlushMappedMemoryRangesSafe ::- VkDevice -- ^ device- -> Word32 -- ^ memoryRangeCount- -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkInvalidateMappedMemoryRanges--- > ( VkDevice device--- > , uint32_t memoryRangeCount--- > , const VkMappedMemoryRange* pMemoryRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkInvalidateMappedMemoryRanges.html vkInvalidateMappedMemoryRanges registry at www.khronos.org>-foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"- vkInvalidateMappedMemoryRanges ::- VkDevice -- ^ device- -> Word32 -- ^ memoryRangeCount- -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkInvalidateMappedMemoryRanges--- > ( VkDevice device--- > , uint32_t memoryRangeCount--- > , const VkMappedMemoryRange* pMemoryRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkInvalidateMappedMemoryRanges.html vkInvalidateMappedMemoryRanges registry at www.khronos.org>-foreign import ccall safe "vkInvalidateMappedMemoryRanges"- vkInvalidateMappedMemoryRangesSafe ::- VkDevice -- ^ device- -> Word32 -- ^ memoryRangeCount- -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges- -> IO VkResult---- | > () vkGetDeviceMemoryCommitment--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , VkDeviceSize* pCommittedMemoryInBytes--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceMemoryCommitment.html vkGetDeviceMemoryCommitment registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceMemoryCommitment"- vkGetDeviceMemoryCommitment ::- VkDevice -- ^ device- -> VkDeviceMemory -- ^ memory- -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes- -> IO ()---- | > () vkGetDeviceMemoryCommitment--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , VkDeviceSize* pCommittedMemoryInBytes--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceMemoryCommitment.html vkGetDeviceMemoryCommitment registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceMemoryCommitment"- vkGetDeviceMemoryCommitmentSafe ::- VkDevice -- ^ device- -> VkDeviceMemory -- ^ memory- -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory--- > ( VkDevice device--- > , VkBuffer buffer--- > , VkDeviceMemory memory--- > , VkDeviceSize memoryOffset--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory.html vkBindBufferMemory registry at www.khronos.org>-foreign import ccall unsafe "vkBindBufferMemory" vkBindBufferMemory- ::- VkDevice -- ^ device- ->- VkBuffer -- ^ buffer- -> VkDeviceMemory -- ^ memory- -> VkDeviceSize -- ^ memoryOffset- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory--- > ( VkDevice device--- > , VkBuffer buffer--- > , VkDeviceMemory memory--- > , VkDeviceSize memoryOffset--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory.html vkBindBufferMemory registry at www.khronos.org>-foreign import ccall safe "vkBindBufferMemory"- vkBindBufferMemorySafe ::- VkDevice -- ^ device- ->- VkBuffer -- ^ buffer- -> VkDeviceMemory -- ^ memory- -> VkDeviceSize -- ^ memoryOffset- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory--- > ( VkDevice device--- > , VkImage image--- > , VkDeviceMemory memory--- > , VkDeviceSize memoryOffset--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory.html vkBindImageMemory registry at www.khronos.org>-foreign import ccall unsafe "vkBindImageMemory" vkBindImageMemory- ::- VkDevice -- ^ device- ->- VkImage -- ^ image- -> VkDeviceMemory -- ^ memory- -> VkDeviceSize -- ^ memoryOffset- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory--- > ( VkDevice device--- > , VkImage image--- > , VkDeviceMemory memory--- > , VkDeviceSize memoryOffset--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory.html vkBindImageMemory registry at www.khronos.org>-foreign import ccall safe "vkBindImageMemory" vkBindImageMemorySafe- ::- VkDevice -- ^ device- ->- VkImage -- ^ image- -> VkDeviceMemory -- ^ memory- -> VkDeviceSize -- ^ memoryOffset- -> IO VkResult---- | > () vkGetBufferMemoryRequirements--- > ( VkDevice device--- > , VkBuffer buffer--- > , VkMemoryRequirements* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements.html vkGetBufferMemoryRequirements registry at www.khronos.org>-foreign import ccall unsafe "vkGetBufferMemoryRequirements"- vkGetBufferMemoryRequirements ::- VkDevice -- ^ device- -> VkBuffer -- ^ buffer- -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetBufferMemoryRequirements--- > ( VkDevice device--- > , VkBuffer buffer--- > , VkMemoryRequirements* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements.html vkGetBufferMemoryRequirements registry at www.khronos.org>-foreign import ccall safe "vkGetBufferMemoryRequirements"- vkGetBufferMemoryRequirementsSafe ::- VkDevice -- ^ device- -> VkBuffer -- ^ buffer- -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetImageMemoryRequirements--- > ( VkDevice device--- > , VkImage image--- > , VkMemoryRequirements* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements.html vkGetImageMemoryRequirements registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageMemoryRequirements"- vkGetImageMemoryRequirements ::- VkDevice -- ^ device- -> VkImage -- ^ image- -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetImageMemoryRequirements--- > ( VkDevice device--- > , VkImage image--- > , VkMemoryRequirements* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements.html vkGetImageMemoryRequirements registry at www.khronos.org>-foreign import ccall safe "vkGetImageMemoryRequirements"- vkGetImageMemoryRequirementsSafe ::- VkDevice -- ^ device- -> VkImage -- ^ image- -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetImageSparseMemoryRequirements--- > ( VkDevice device--- > , VkImage image--- > , uint32_t* pSparseMemoryRequirementCount--- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements.html vkGetImageSparseMemoryRequirements registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"- vkGetImageSparseMemoryRequirements ::- VkDevice -- ^ device- ->- VkImage -- ^ image- ->- Ptr Word32 -- ^ pSparseMemoryRequirementCount- -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements- -> IO ()---- | > () vkGetImageSparseMemoryRequirements--- > ( VkDevice device--- > , VkImage image--- > , uint32_t* pSparseMemoryRequirementCount--- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements.html vkGetImageSparseMemoryRequirements registry at www.khronos.org>-foreign import ccall safe "vkGetImageSparseMemoryRequirements"- vkGetImageSparseMemoryRequirementsSafe ::- VkDevice -- ^ device- ->- VkImage -- ^ image- ->- Ptr Word32 -- ^ pSparseMemoryRequirementCount- -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements- -> IO ()---- | > () vkGetPhysicalDeviceSparseImageFormatProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkImageType type--- > , VkSampleCountFlagBits samples--- > , VkImageUsageFlags usage--- > , VkImageTiling tiling--- > , uint32_t* pPropertyCount--- > , VkSparseImageFormatProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceSparseImageFormatProperties"- vkGetPhysicalDeviceSparseImageFormatProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkFormat -- ^ format- ->- VkImageType -- ^ type- ->- VkSampleCountFlagBits -- ^ samples- ->- VkImageUsageFlags -- ^ usage- ->- VkImageTiling -- ^ tiling- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkSparseImageFormatProperties -- ^ pProperties- -> IO ()---- | > () vkGetPhysicalDeviceSparseImageFormatProperties--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkImageType type--- > , VkSampleCountFlagBits samples--- > , VkImageUsageFlags usage--- > , VkImageTiling tiling--- > , uint32_t* pPropertyCount--- > , VkSparseImageFormatProperties* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties.html vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceSparseImageFormatProperties"- vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkFormat -- ^ format- ->- VkImageType -- ^ type- ->- VkSampleCountFlagBits -- ^ samples- ->- VkImageUsageFlags -- ^ usage- ->- VkImageTiling -- ^ tiling- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkSparseImageFormatProperties -- ^ pProperties- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ queues: 'sparse_binding'.------ > VkResult vkQueueBindSparse--- > ( VkQueue queue--- > , uint32_t bindInfoCount--- > , const VkBindSparseInfo* pBindInfo--- > , VkFence fence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBindSparse.html vkQueueBindSparse registry at www.khronos.org>-foreign import ccall unsafe "vkQueueBindSparse" vkQueueBindSparse- ::- VkQueue -- ^ queue- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindSparseInfo -- ^ pBindInfo- -> VkFence -- ^ fence- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ queues: 'sparse_binding'.------ > VkResult vkQueueBindSparse--- > ( VkQueue queue--- > , uint32_t bindInfoCount--- > , const VkBindSparseInfo* pBindInfo--- > , VkFence fence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBindSparse.html vkQueueBindSparse registry at www.khronos.org>-foreign import ccall safe "vkQueueBindSparse" vkQueueBindSparseSafe- ::- VkQueue -- ^ queue- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindSparseInfo -- ^ pBindInfo- -> VkFence -- ^ fence- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFence--- > ( VkDevice device--- > , const VkFenceCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkFence* pFence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFence.html vkCreateFence registry at www.khronos.org>-foreign import ccall unsafe "vkCreateFence" vkCreateFence ::- VkDevice -- ^ device- ->- Ptr VkFenceCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFence -- ^ pFence- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFence--- > ( VkDevice device--- > , const VkFenceCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkFence* pFence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFence.html vkCreateFence registry at www.khronos.org>-foreign import ccall safe "vkCreateFence" vkCreateFenceSafe ::- VkDevice -- ^ device- ->- Ptr VkFenceCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFence -- ^ pFence- -> IO VkResult---- | > () vkDestroyFence--- > ( VkDevice device--- > , VkFence fence--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFence.html vkDestroyFence registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyFence" vkDestroyFence ::- VkDevice -- ^ device- -> VkFence -- ^ fence- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyFence--- > ( VkDevice device--- > , VkFence fence--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFence.html vkDestroyFence registry at www.khronos.org>-foreign import ccall safe "vkDestroyFence" vkDestroyFenceSafe ::- VkDevice -- ^ device- -> VkFence -- ^ fence- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetFences--- > ( VkDevice device--- > , uint32_t fenceCount--- > , const VkFence* pFences--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetFences.html vkResetFences registry at www.khronos.org>-foreign import ccall unsafe "vkResetFences" vkResetFences ::- VkDevice -- ^ device- -> Word32 -- ^ fenceCount- -> Ptr VkFence -- ^ pFences- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetFences--- > ( VkDevice device--- > , uint32_t fenceCount--- > , const VkFence* pFences--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetFences.html vkResetFences registry at www.khronos.org>-foreign import ccall safe "vkResetFences" vkResetFencesSafe ::- VkDevice -- ^ device- -> Word32 -- ^ fenceCount- -> Ptr VkFence -- ^ pFences- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetFenceStatus--- > ( VkDevice device--- > , VkFence fence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceStatus.html vkGetFenceStatus registry at www.khronos.org>-foreign import ccall unsafe "vkGetFenceStatus" vkGetFenceStatus ::- VkDevice -- ^ device- -> VkFence -- ^ fence- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetFenceStatus--- > ( VkDevice device--- > , VkFence fence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceStatus.html vkGetFenceStatus registry at www.khronos.org>-foreign import ccall safe "vkGetFenceStatus" vkGetFenceStatusSafe- :: VkDevice -- ^ device- -> VkFence -- ^ fence- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkWaitForFences--- > ( VkDevice device--- > , uint32_t fenceCount--- > , const VkFence* pFences--- > , VkBool32 waitAll--- > , uint64_t timeout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkWaitForFences.html vkWaitForFences registry at www.khronos.org>-foreign import ccall unsafe "vkWaitForFences" vkWaitForFences ::- VkDevice -- ^ device- ->- Word32 -- ^ fenceCount- -> Ptr VkFence -- ^ pFences- -> VkBool32 -- ^ waitAll- -> Word64 -- ^ timeout- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkWaitForFences--- > ( VkDevice device--- > , uint32_t fenceCount--- > , const VkFence* pFences--- > , VkBool32 waitAll--- > , uint64_t timeout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkWaitForFences.html vkWaitForFences registry at www.khronos.org>-foreign import ccall safe "vkWaitForFences" vkWaitForFencesSafe ::- VkDevice -- ^ device- ->- Word32 -- ^ fenceCount- -> Ptr VkFence -- ^ pFences- -> VkBool32 -- ^ waitAll- -> Word64 -- ^ timeout- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSemaphore--- > ( VkDevice device--- > , const VkSemaphoreCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSemaphore* pSemaphore--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSemaphore.html vkCreateSemaphore registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSemaphore" vkCreateSemaphore- ::- VkDevice -- ^ device- ->- Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSemaphore -- ^ pSemaphore- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSemaphore--- > ( VkDevice device--- > , const VkSemaphoreCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSemaphore* pSemaphore--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSemaphore.html vkCreateSemaphore registry at www.khronos.org>-foreign import ccall safe "vkCreateSemaphore" vkCreateSemaphoreSafe- ::- VkDevice -- ^ device- ->- Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSemaphore -- ^ pSemaphore- -> IO VkResult---- | > () vkDestroySemaphore--- > ( VkDevice device--- > , VkSemaphore semaphore--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySemaphore.html vkDestroySemaphore registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySemaphore" vkDestroySemaphore- :: VkDevice -- ^ device- -> VkSemaphore -- ^ semaphore- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroySemaphore--- > ( VkDevice device--- > , VkSemaphore semaphore--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySemaphore.html vkDestroySemaphore registry at www.khronos.org>-foreign import ccall safe "vkDestroySemaphore"- vkDestroySemaphoreSafe ::- VkDevice -- ^ device- -> VkSemaphore -- ^ semaphore- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateEvent--- > ( VkDevice device--- > , const VkEventCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkEvent* pEvent--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateEvent.html vkCreateEvent registry at www.khronos.org>-foreign import ccall unsafe "vkCreateEvent" vkCreateEvent ::- VkDevice -- ^ device- ->- Ptr VkEventCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkEvent -- ^ pEvent- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateEvent--- > ( VkDevice device--- > , const VkEventCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkEvent* pEvent--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateEvent.html vkCreateEvent registry at www.khronos.org>-foreign import ccall safe "vkCreateEvent" vkCreateEventSafe ::- VkDevice -- ^ device- ->- Ptr VkEventCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkEvent -- ^ pEvent- -> IO VkResult---- | > () vkDestroyEvent--- > ( VkDevice device--- > , VkEvent event--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyEvent.html vkDestroyEvent registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyEvent" vkDestroyEvent ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyEvent--- > ( VkDevice device--- > , VkEvent event--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyEvent.html vkDestroyEvent registry at www.khronos.org>-foreign import ccall safe "vkDestroyEvent" vkDestroyEventSafe ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetEventStatus--- > ( VkDevice device--- > , VkEvent event--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetEventStatus.html vkGetEventStatus registry at www.khronos.org>-foreign import ccall unsafe "vkGetEventStatus" vkGetEventStatus ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> IO VkResult---- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetEventStatus--- > ( VkDevice device--- > , VkEvent event--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetEventStatus.html vkGetEventStatus registry at www.khronos.org>-foreign import ccall safe "vkGetEventStatus" vkGetEventStatusSafe- :: VkDevice -- ^ device- -> VkEvent -- ^ event- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetEvent--- > ( VkDevice device--- > , VkEvent event--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetEvent.html vkSetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkSetEvent" vkSetEvent ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetEvent--- > ( VkDevice device--- > , VkEvent event--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetEvent.html vkSetEvent registry at www.khronos.org>-foreign import ccall safe "vkSetEvent" vkSetEventSafe ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetEvent--- > ( VkDevice device--- > , VkEvent event--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetEvent.html vkResetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkResetEvent" vkResetEvent ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetEvent--- > ( VkDevice device--- > , VkEvent event--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetEvent.html vkResetEvent registry at www.khronos.org>-foreign import ccall safe "vkResetEvent" vkResetEventSafe ::- VkDevice -- ^ device- -> VkEvent -- ^ event- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateQueryPool--- > ( VkDevice device--- > , const VkQueryPoolCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkQueryPool* pQueryPool--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateQueryPool.html vkCreateQueryPool registry at www.khronos.org>-foreign import ccall unsafe "vkCreateQueryPool" vkCreateQueryPool- ::- VkDevice -- ^ device- ->- Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkQueryPool -- ^ pQueryPool- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateQueryPool--- > ( VkDevice device--- > , const VkQueryPoolCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkQueryPool* pQueryPool--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateQueryPool.html vkCreateQueryPool registry at www.khronos.org>-foreign import ccall safe "vkCreateQueryPool" vkCreateQueryPoolSafe- ::- VkDevice -- ^ device- ->- Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkQueryPool -- ^ pQueryPool- -> IO VkResult---- | > () vkDestroyQueryPool--- > ( VkDevice device--- > , VkQueryPool queryPool--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyQueryPool.html vkDestroyQueryPool registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyQueryPool" vkDestroyQueryPool- :: VkDevice -- ^ device- -> VkQueryPool -- ^ queryPool- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyQueryPool--- > ( VkDevice device--- > , VkQueryPool queryPool--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyQueryPool.html vkDestroyQueryPool registry at www.khronos.org>-foreign import ccall safe "vkDestroyQueryPool"- vkDestroyQueryPoolSafe ::- VkDevice -- ^ device- -> VkQueryPool -- ^ queryPool- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetQueryPoolResults--- > ( VkDevice device--- > , VkQueryPool queryPool--- > , uint32_t firstQuery--- > , uint32_t queryCount--- > , size_t dataSize--- > , void* pData--- > , VkDeviceSize stride--- > , VkQueryResultFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetQueryPoolResults.html vkGetQueryPoolResults registry at www.khronos.org>-foreign import ccall unsafe "vkGetQueryPoolResults"- vkGetQueryPoolResults ::- VkDevice -- ^ device- ->- VkQueryPool -- ^ queryPool- ->- Word32 -- ^ firstQuery- ->- Word32 -- ^ queryCount- ->- CSize -- ^ dataSize- ->- Ptr Void -- ^ pData- -> VkDeviceSize -- ^ stride- -> VkQueryResultFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.------ > VkResult vkGetQueryPoolResults--- > ( VkDevice device--- > , VkQueryPool queryPool--- > , uint32_t firstQuery--- > , uint32_t queryCount--- > , size_t dataSize--- > , void* pData--- > , VkDeviceSize stride--- > , VkQueryResultFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetQueryPoolResults.html vkGetQueryPoolResults registry at www.khronos.org>-foreign import ccall safe "vkGetQueryPoolResults"- vkGetQueryPoolResultsSafe ::- VkDevice -- ^ device- ->- VkQueryPool -- ^ queryPool- ->- Word32 -- ^ firstQuery- ->- Word32 -- ^ queryCount- ->- CSize -- ^ dataSize- ->- Ptr Void -- ^ pData- -> VkDeviceSize -- ^ stride- -> VkQueryResultFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBuffer--- > ( VkDevice device--- > , const VkBufferCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkBuffer* pBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBuffer.html vkCreateBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCreateBuffer" vkCreateBuffer ::- VkDevice -- ^ device- ->- Ptr VkBufferCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkBuffer -- ^ pBuffer- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBuffer--- > ( VkDevice device--- > , const VkBufferCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkBuffer* pBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBuffer.html vkCreateBuffer registry at www.khronos.org>-foreign import ccall safe "vkCreateBuffer" vkCreateBufferSafe ::- VkDevice -- ^ device- ->- Ptr VkBufferCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkBuffer -- ^ pBuffer- -> IO VkResult---- | > () vkDestroyBuffer--- > ( VkDevice device--- > , VkBuffer buffer--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBuffer.html vkDestroyBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBuffer ::- VkDevice -- ^ device- -> VkBuffer -- ^ buffer- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyBuffer--- > ( VkDevice device--- > , VkBuffer buffer--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBuffer.html vkDestroyBuffer registry at www.khronos.org>-foreign import ccall safe "vkDestroyBuffer" vkDestroyBufferSafe ::- VkDevice -- ^ device- -> VkBuffer -- ^ buffer- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBufferView--- > ( VkDevice device--- > , const VkBufferViewCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkBufferView* pView--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBufferView.html vkCreateBufferView registry at www.khronos.org>-foreign import ccall unsafe "vkCreateBufferView" vkCreateBufferView- ::- VkDevice -- ^ device- ->- Ptr VkBufferViewCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkBufferView -- ^ pView- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateBufferView--- > ( VkDevice device--- > , const VkBufferViewCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkBufferView* pView--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateBufferView.html vkCreateBufferView registry at www.khronos.org>-foreign import ccall safe "vkCreateBufferView"- vkCreateBufferViewSafe ::- VkDevice -- ^ device- ->- Ptr VkBufferViewCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkBufferView -- ^ pView- -> IO VkResult---- | > () vkDestroyBufferView--- > ( VkDevice device--- > , VkBufferView bufferView--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBufferView.html vkDestroyBufferView registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyBufferView"- vkDestroyBufferView ::- VkDevice -- ^ device- -> VkBufferView -- ^ bufferView- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyBufferView--- > ( VkDevice device--- > , VkBufferView bufferView--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyBufferView.html vkDestroyBufferView registry at www.khronos.org>-foreign import ccall safe "vkDestroyBufferView"- vkDestroyBufferViewSafe ::- VkDevice -- ^ device- -> VkBufferView -- ^ bufferView- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImage--- > ( VkDevice device--- > , const VkImageCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkImage* pImage--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImage.html vkCreateImage registry at www.khronos.org>-foreign import ccall unsafe "vkCreateImage" vkCreateImage ::- VkDevice -- ^ device- ->- Ptr VkImageCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkImage -- ^ pImage- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImage--- > ( VkDevice device--- > , const VkImageCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkImage* pImage--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImage.html vkCreateImage registry at www.khronos.org>-foreign import ccall safe "vkCreateImage" vkCreateImageSafe ::- VkDevice -- ^ device- ->- Ptr VkImageCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkImage -- ^ pImage- -> IO VkResult---- | > () vkDestroyImage--- > ( VkDevice device--- > , VkImage image--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImage.html vkDestroyImage registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyImage" vkDestroyImage ::- VkDevice -- ^ device- -> VkImage -- ^ image- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyImage--- > ( VkDevice device--- > , VkImage image--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImage.html vkDestroyImage registry at www.khronos.org>-foreign import ccall safe "vkDestroyImage" vkDestroyImageSafe ::- VkDevice -- ^ device- -> VkImage -- ^ image- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkGetImageSubresourceLayout--- > ( VkDevice device--- > , VkImage image--- > , const VkImageSubresource* pSubresource--- > , VkSubresourceLayout* pLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSubresourceLayout.html vkGetImageSubresourceLayout registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageSubresourceLayout"- vkGetImageSubresourceLayout ::- VkDevice -- ^ device- ->- VkImage -- ^ image- ->- Ptr VkImageSubresource -- ^ pSubresource- -> Ptr VkSubresourceLayout -- ^ pLayout- -> IO ()---- | > () vkGetImageSubresourceLayout--- > ( VkDevice device--- > , VkImage image--- > , const VkImageSubresource* pSubresource--- > , VkSubresourceLayout* pLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSubresourceLayout.html vkGetImageSubresourceLayout registry at www.khronos.org>-foreign import ccall safe "vkGetImageSubresourceLayout"- vkGetImageSubresourceLayoutSafe ::- VkDevice -- ^ device- ->- VkImage -- ^ image- ->- Ptr VkImageSubresource -- ^ pSubresource- -> Ptr VkSubresourceLayout -- ^ pLayout- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImageView--- > ( VkDevice device--- > , const VkImageViewCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkImageView* pView--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImageView.html vkCreateImageView registry at www.khronos.org>-foreign import ccall unsafe "vkCreateImageView" vkCreateImageView- ::- VkDevice -- ^ device- ->- Ptr VkImageViewCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkImageView -- ^ pView- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateImageView--- > ( VkDevice device--- > , const VkImageViewCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkImageView* pView--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateImageView.html vkCreateImageView registry at www.khronos.org>-foreign import ccall safe "vkCreateImageView" vkCreateImageViewSafe- ::- VkDevice -- ^ device- ->- Ptr VkImageViewCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkImageView -- ^ pView- -> IO VkResult---- | > () vkDestroyImageView--- > ( VkDevice device--- > , VkImageView imageView--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImageView.html vkDestroyImageView registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyImageView" vkDestroyImageView- :: VkDevice -- ^ device- -> VkImageView -- ^ imageView- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyImageView--- > ( VkDevice device--- > , VkImageView imageView--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyImageView.html vkDestroyImageView registry at www.khronos.org>-foreign import ccall safe "vkDestroyImageView"- vkDestroyImageViewSafe ::- VkDevice -- ^ device- -> VkImageView -- ^ imageView- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateShaderModule--- > ( VkDevice device--- > , const VkShaderModuleCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkShaderModule* pShaderModule--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateShaderModule.html vkCreateShaderModule registry at www.khronos.org>-foreign import ccall unsafe "vkCreateShaderModule"- vkCreateShaderModule ::- VkDevice -- ^ device- ->- Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkShaderModule -- ^ pShaderModule- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateShaderModule--- > ( VkDevice device--- > , const VkShaderModuleCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkShaderModule* pShaderModule--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateShaderModule.html vkCreateShaderModule registry at www.khronos.org>-foreign import ccall safe "vkCreateShaderModule"- vkCreateShaderModuleSafe ::- VkDevice -- ^ device- ->- Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkShaderModule -- ^ pShaderModule- -> IO VkResult---- | > () vkDestroyShaderModule--- > ( VkDevice device--- > , VkShaderModule shaderModule--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyShaderModule.html vkDestroyShaderModule registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyShaderModule"- vkDestroyShaderModule ::- VkDevice -- ^ device- -> VkShaderModule -- ^ shaderModule- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyShaderModule--- > ( VkDevice device--- > , VkShaderModule shaderModule--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyShaderModule.html vkDestroyShaderModule registry at www.khronos.org>-foreign import ccall safe "vkDestroyShaderModule"- vkDestroyShaderModuleSafe ::- VkDevice -- ^ device- -> VkShaderModule -- ^ shaderModule- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineCache--- > ( VkDevice device--- > , const VkPipelineCacheCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipelineCache* pPipelineCache--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineCache.html vkCreatePipelineCache registry at www.khronos.org>-foreign import ccall unsafe "vkCreatePipelineCache"- vkCreatePipelineCache ::- VkDevice -- ^ device- ->- Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipelineCache -- ^ pPipelineCache- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineCache--- > ( VkDevice device--- > , const VkPipelineCacheCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipelineCache* pPipelineCache--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineCache.html vkCreatePipelineCache registry at www.khronos.org>-foreign import ccall safe "vkCreatePipelineCache"- vkCreatePipelineCacheSafe ::- VkDevice -- ^ device- ->- Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipelineCache -- ^ pPipelineCache- -> IO VkResult---- | > () vkDestroyPipelineCache--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineCache.html vkDestroyPipelineCache registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyPipelineCache"- vkDestroyPipelineCache ::- VkDevice -- ^ device- -> VkPipelineCache -- ^ pipelineCache- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyPipelineCache--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineCache.html vkDestroyPipelineCache registry at www.khronos.org>-foreign import ccall safe "vkDestroyPipelineCache"- vkDestroyPipelineCacheSafe ::- VkDevice -- ^ device- -> VkPipelineCache -- ^ pipelineCache- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPipelineCacheData--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , size_t* pDataSize--- > , void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPipelineCacheData.html vkGetPipelineCacheData registry at www.khronos.org>-foreign import ccall unsafe "vkGetPipelineCacheData"- vkGetPipelineCacheData ::- VkDevice -- ^ device- -> VkPipelineCache -- ^ pipelineCache- -> Ptr CSize -- ^ pDataSize- -> Ptr Void -- ^ pData- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPipelineCacheData--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , size_t* pDataSize--- > , void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPipelineCacheData.html vkGetPipelineCacheData registry at www.khronos.org>-foreign import ccall safe "vkGetPipelineCacheData"- vkGetPipelineCacheDataSafe ::- VkDevice -- ^ device- -> VkPipelineCache -- ^ pipelineCache- -> Ptr CSize -- ^ pDataSize- -> Ptr Void -- ^ pData- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkMergePipelineCaches--- > ( VkDevice device--- > , VkPipelineCache dstCache--- > , uint32_t srcCacheCount--- > , const VkPipelineCache* pSrcCaches--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergePipelineCaches.html vkMergePipelineCaches registry at www.khronos.org>-foreign import ccall unsafe "vkMergePipelineCaches"- vkMergePipelineCaches ::- VkDevice -- ^ device- ->- VkPipelineCache -- ^ dstCache- -> Word32 -- ^ srcCacheCount- -> Ptr VkPipelineCache -- ^ pSrcCaches- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkMergePipelineCaches--- > ( VkDevice device--- > , VkPipelineCache dstCache--- > , uint32_t srcCacheCount--- > , const VkPipelineCache* pSrcCaches--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergePipelineCaches.html vkMergePipelineCaches registry at www.khronos.org>-foreign import ccall safe "vkMergePipelineCaches"- vkMergePipelineCachesSafe ::- VkDevice -- ^ device- ->- VkPipelineCache -- ^ dstCache- -> Word32 -- ^ srcCacheCount- -> Ptr VkPipelineCache -- ^ pSrcCaches- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateGraphicsPipelines--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , uint32_t createInfoCount--- > , const VkGraphicsPipelineCreateInfo* pCreateInfos--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipeline* pPipelines--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateGraphicsPipelines.html vkCreateGraphicsPipelines registry at www.khronos.org>-foreign import ccall unsafe "vkCreateGraphicsPipelines"- vkCreateGraphicsPipelines ::- VkDevice -- ^ device- ->- VkPipelineCache -- ^ pipelineCache- ->- Word32 -- ^ createInfoCount- ->- Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipeline -- ^ pPipelines- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateGraphicsPipelines--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , uint32_t createInfoCount--- > , const VkGraphicsPipelineCreateInfo* pCreateInfos--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipeline* pPipelines--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateGraphicsPipelines.html vkCreateGraphicsPipelines registry at www.khronos.org>-foreign import ccall safe "vkCreateGraphicsPipelines"- vkCreateGraphicsPipelinesSafe ::- VkDevice -- ^ device- ->- VkPipelineCache -- ^ pipelineCache- ->- Word32 -- ^ createInfoCount- ->- Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipeline -- ^ pPipelines- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateComputePipelines--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , uint32_t createInfoCount--- > , const VkComputePipelineCreateInfo* pCreateInfos--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipeline* pPipelines--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateComputePipelines.html vkCreateComputePipelines registry at www.khronos.org>-foreign import ccall unsafe "vkCreateComputePipelines"- vkCreateComputePipelines ::- VkDevice -- ^ device- ->- VkPipelineCache -- ^ pipelineCache- ->- Word32 -- ^ createInfoCount- ->- Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipeline -- ^ pPipelines- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.------ > VkResult vkCreateComputePipelines--- > ( VkDevice device--- > , VkPipelineCache pipelineCache--- > , uint32_t createInfoCount--- > , const VkComputePipelineCreateInfo* pCreateInfos--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipeline* pPipelines--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateComputePipelines.html vkCreateComputePipelines registry at www.khronos.org>-foreign import ccall safe "vkCreateComputePipelines"- vkCreateComputePipelinesSafe ::- VkDevice -- ^ device- ->- VkPipelineCache -- ^ pipelineCache- ->- Word32 -- ^ createInfoCount- ->- Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipeline -- ^ pPipelines- -> IO VkResult---- | > () vkDestroyPipeline--- > ( VkDevice device--- > , VkPipeline pipeline--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipeline.html vkDestroyPipeline registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyPipeline" vkDestroyPipeline- :: VkDevice -- ^ device- -> VkPipeline -- ^ pipeline- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyPipeline--- > ( VkDevice device--- > , VkPipeline pipeline--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipeline.html vkDestroyPipeline registry at www.khronos.org>-foreign import ccall safe "vkDestroyPipeline" vkDestroyPipelineSafe- :: VkDevice -- ^ device- -> VkPipeline -- ^ pipeline- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineLayout--- > ( VkDevice device--- > , const VkPipelineLayoutCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipelineLayout* pPipelineLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineLayout.html vkCreatePipelineLayout registry at www.khronos.org>-foreign import ccall unsafe "vkCreatePipelineLayout"- vkCreatePipelineLayout ::- VkDevice -- ^ device- ->- Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipelineLayout -- ^ pPipelineLayout- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreatePipelineLayout--- > ( VkDevice device--- > , const VkPipelineLayoutCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkPipelineLayout* pPipelineLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreatePipelineLayout.html vkCreatePipelineLayout registry at www.khronos.org>-foreign import ccall safe "vkCreatePipelineLayout"- vkCreatePipelineLayoutSafe ::- VkDevice -- ^ device- ->- Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkPipelineLayout -- ^ pPipelineLayout- -> IO VkResult---- | > () vkDestroyPipelineLayout--- > ( VkDevice device--- > , VkPipelineLayout pipelineLayout--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineLayout.html vkDestroyPipelineLayout registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyPipelineLayout"- vkDestroyPipelineLayout ::- VkDevice -- ^ device- -> VkPipelineLayout -- ^ pipelineLayout- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyPipelineLayout--- > ( VkDevice device--- > , VkPipelineLayout pipelineLayout--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyPipelineLayout.html vkDestroyPipelineLayout registry at www.khronos.org>-foreign import ccall safe "vkDestroyPipelineLayout"- vkDestroyPipelineLayoutSafe ::- VkDevice -- ^ device- -> VkPipelineLayout -- ^ pipelineLayout- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------ > VkResult vkCreateSampler--- > ( VkDevice device--- > , const VkSamplerCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSampler* pSampler--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSampler.html vkCreateSampler registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSampler" vkCreateSampler ::- VkDevice -- ^ device- ->- Ptr VkSamplerCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSampler -- ^ pSampler- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.------ > VkResult vkCreateSampler--- > ( VkDevice device--- > , const VkSamplerCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSampler* pSampler--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSampler.html vkCreateSampler registry at www.khronos.org>-foreign import ccall safe "vkCreateSampler" vkCreateSamplerSafe ::- VkDevice -- ^ device- ->- Ptr VkSamplerCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSampler -- ^ pSampler- -> IO VkResult---- | > () vkDestroySampler--- > ( VkDevice device--- > , VkSampler sampler--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySampler.html vkDestroySampler registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySampler" vkDestroySampler ::- VkDevice -- ^ device- -> VkSampler -- ^ sampler- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroySampler--- > ( VkDevice device--- > , VkSampler sampler--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySampler.html vkDestroySampler registry at www.khronos.org>-foreign import ccall safe "vkDestroySampler" vkDestroySamplerSafe- :: VkDevice -- ^ device- -> VkSampler -- ^ sampler- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorSetLayout--- > ( VkDevice device--- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorSetLayout* pSetLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorSetLayout.html vkCreateDescriptorSetLayout registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorSetLayout"- vkCreateDescriptorSetLayout ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDescriptorSetLayout -- ^ pSetLayout- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorSetLayout--- > ( VkDevice device--- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorSetLayout* pSetLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorSetLayout.html vkCreateDescriptorSetLayout registry at www.khronos.org>-foreign import ccall safe "vkCreateDescriptorSetLayout"- vkCreateDescriptorSetLayoutSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDescriptorSetLayout -- ^ pSetLayout- -> IO VkResult---- | > () vkDestroyDescriptorSetLayout--- > ( VkDevice device--- > , VkDescriptorSetLayout descriptorSetLayout--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorSetLayout.html vkDestroyDescriptorSetLayout registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorSetLayout"- vkDestroyDescriptorSetLayout ::- VkDevice -- ^ device- ->- VkDescriptorSetLayout -- ^ descriptorSetLayout- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyDescriptorSetLayout--- > ( VkDevice device--- > , VkDescriptorSetLayout descriptorSetLayout--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorSetLayout.html vkDestroyDescriptorSetLayout registry at www.khronos.org>-foreign import ccall safe "vkDestroyDescriptorSetLayout"- vkDestroyDescriptorSetLayoutSafe ::- VkDevice -- ^ device- ->- VkDescriptorSetLayout -- ^ descriptorSetLayout- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorPool--- > ( VkDevice device--- > , const VkDescriptorPoolCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorPool* pDescriptorPool--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorPool.html vkCreateDescriptorPool registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorPool"- vkCreateDescriptorPool ::- VkDevice -- ^ device- ->- Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDescriptorPool -- ^ pDescriptorPool- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorPool--- > ( VkDevice device--- > , const VkDescriptorPoolCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorPool* pDescriptorPool--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorPool.html vkCreateDescriptorPool registry at www.khronos.org>-foreign import ccall safe "vkCreateDescriptorPool"- vkCreateDescriptorPoolSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDescriptorPool -- ^ pDescriptorPool- -> IO VkResult---- | > () vkDestroyDescriptorPool--- > ( VkDevice device--- > , VkDescriptorPool descriptorPool--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorPool.html vkDestroyDescriptorPool registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorPool"- vkDestroyDescriptorPool ::- VkDevice -- ^ device- -> VkDescriptorPool -- ^ descriptorPool- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyDescriptorPool--- > ( VkDevice device--- > , VkDescriptorPool descriptorPool--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorPool.html vkDestroyDescriptorPool registry at www.khronos.org>-foreign import ccall safe "vkDestroyDescriptorPool"- vkDestroyDescriptorPoolSafe ::- VkDevice -- ^ device- -> VkDescriptorPool -- ^ descriptorPool- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetDescriptorPool--- > ( VkDevice device--- > , VkDescriptorPool descriptorPool--- > , VkDescriptorPoolResetFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetDescriptorPool.html vkResetDescriptorPool registry at www.khronos.org>-foreign import ccall unsafe "vkResetDescriptorPool"- vkResetDescriptorPool ::- VkDevice -- ^ device- ->- VkDescriptorPool -- ^ descriptorPool- -> VkDescriptorPoolResetFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetDescriptorPool--- > ( VkDevice device--- > , VkDescriptorPool descriptorPool--- > , VkDescriptorPoolResetFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetDescriptorPool.html vkResetDescriptorPool registry at www.khronos.org>-foreign import ccall safe "vkResetDescriptorPool"- vkResetDescriptorPoolSafe ::- VkDevice -- ^ device- ->- VkDescriptorPool -- ^ descriptorPool- -> VkDescriptorPoolResetFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.------ > VkResult vkAllocateDescriptorSets--- > ( VkDevice device--- > , const VkDescriptorSetAllocateInfo* pAllocateInfo--- > , VkDescriptorSet* pDescriptorSets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateDescriptorSets.html vkAllocateDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkAllocateDescriptorSets"- vkAllocateDescriptorSets ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo- ->- Ptr VkDescriptorSet -- ^ pDescriptorSets- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.------ > VkResult vkAllocateDescriptorSets--- > ( VkDevice device--- > , const VkDescriptorSetAllocateInfo* pAllocateInfo--- > , VkDescriptorSet* pDescriptorSets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateDescriptorSets.html vkAllocateDescriptorSets registry at www.khronos.org>-foreign import ccall safe "vkAllocateDescriptorSets"- vkAllocateDescriptorSetsSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo- ->- Ptr VkDescriptorSet -- ^ pDescriptorSets- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFreeDescriptorSets--- > ( VkDevice device--- > , VkDescriptorPool descriptorPool--- > , uint32_t descriptorSetCount--- > , const VkDescriptorSet* pDescriptorSets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeDescriptorSets.html vkFreeDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkFreeDescriptorSets"- vkFreeDescriptorSets ::- VkDevice -- ^ device- ->- VkDescriptorPool -- ^ descriptorPool- -> Word32 -- ^ descriptorSetCount- -> Ptr VkDescriptorSet -- ^ pDescriptorSets- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkFreeDescriptorSets--- > ( VkDevice device--- > , VkDescriptorPool descriptorPool--- > , uint32_t descriptorSetCount--- > , const VkDescriptorSet* pDescriptorSets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeDescriptorSets.html vkFreeDescriptorSets registry at www.khronos.org>-foreign import ccall safe "vkFreeDescriptorSets"- vkFreeDescriptorSetsSafe ::- VkDevice -- ^ device- ->- VkDescriptorPool -- ^ descriptorPool- -> Word32 -- ^ descriptorSetCount- -> Ptr VkDescriptorSet -- ^ pDescriptorSets- -> IO VkResult---- | > () vkUpdateDescriptorSets--- > ( VkDevice device--- > , uint32_t descriptorWriteCount--- > , const VkWriteDescriptorSet* pDescriptorWrites--- > , uint32_t descriptorCopyCount--- > , const VkCopyDescriptorSet* pDescriptorCopies--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSets.html vkUpdateDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkUpdateDescriptorSets"- vkUpdateDescriptorSets ::- VkDevice -- ^ device- ->- Word32 -- ^ descriptorWriteCount- ->- Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites- ->- Word32 -- ^ descriptorCopyCount- -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies- -> IO ()---- | > () vkUpdateDescriptorSets--- > ( VkDevice device--- > , uint32_t descriptorWriteCount--- > , const VkWriteDescriptorSet* pDescriptorWrites--- > , uint32_t descriptorCopyCount--- > , const VkCopyDescriptorSet* pDescriptorCopies--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSets.html vkUpdateDescriptorSets registry at www.khronos.org>-foreign import ccall safe "vkUpdateDescriptorSets"- vkUpdateDescriptorSetsSafe ::- VkDevice -- ^ device- ->- Word32 -- ^ descriptorWriteCount- ->- Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites- ->- Word32 -- ^ descriptorCopyCount- -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFramebuffer--- > ( VkDevice device--- > , const VkFramebufferCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkFramebuffer* pFramebuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFramebuffer.html vkCreateFramebuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCreateFramebuffer"- vkCreateFramebuffer ::- VkDevice -- ^ device- ->- Ptr VkFramebufferCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFramebuffer -- ^ pFramebuffer- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateFramebuffer--- > ( VkDevice device--- > , const VkFramebufferCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkFramebuffer* pFramebuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateFramebuffer.html vkCreateFramebuffer registry at www.khronos.org>-foreign import ccall safe "vkCreateFramebuffer"- vkCreateFramebufferSafe ::- VkDevice -- ^ device- ->- Ptr VkFramebufferCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFramebuffer -- ^ pFramebuffer- -> IO VkResult---- | > () vkDestroyFramebuffer--- > ( VkDevice device--- > , VkFramebuffer framebuffer--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFramebuffer.html vkDestroyFramebuffer registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyFramebuffer"- vkDestroyFramebuffer ::- VkDevice -- ^ device- -> VkFramebuffer -- ^ framebuffer- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyFramebuffer--- > ( VkDevice device--- > , VkFramebuffer framebuffer--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyFramebuffer.html vkDestroyFramebuffer registry at www.khronos.org>-foreign import ccall safe "vkDestroyFramebuffer"- vkDestroyFramebufferSafe ::- VkDevice -- ^ device- -> VkFramebuffer -- ^ framebuffer- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateRenderPass--- > ( VkDevice device--- > , const VkRenderPassCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkRenderPass* pRenderPass--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateRenderPass.html vkCreateRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkCreateRenderPass" vkCreateRenderPass- ::- VkDevice -- ^ device- ->- Ptr VkRenderPassCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkRenderPass -- ^ pRenderPass- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateRenderPass--- > ( VkDevice device--- > , const VkRenderPassCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkRenderPass* pRenderPass--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateRenderPass.html vkCreateRenderPass registry at www.khronos.org>-foreign import ccall safe "vkCreateRenderPass"- vkCreateRenderPassSafe ::- VkDevice -- ^ device- ->- Ptr VkRenderPassCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkRenderPass -- ^ pRenderPass- -> IO VkResult---- | > () vkDestroyRenderPass--- > ( VkDevice device--- > , VkRenderPass renderPass--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyRenderPass.html vkDestroyRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyRenderPass"- vkDestroyRenderPass ::- VkDevice -- ^ device- -> VkRenderPass -- ^ renderPass- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyRenderPass--- > ( VkDevice device--- > , VkRenderPass renderPass--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyRenderPass.html vkDestroyRenderPass registry at www.khronos.org>-foreign import ccall safe "vkDestroyRenderPass"- vkDestroyRenderPassSafe ::- VkDevice -- ^ device- -> VkRenderPass -- ^ renderPass- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkGetRenderAreaGranularity--- > ( VkDevice device--- > , VkRenderPass renderPass--- > , VkExtent2D* pGranularity--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRenderAreaGranularity.html vkGetRenderAreaGranularity registry at www.khronos.org>-foreign import ccall unsafe "vkGetRenderAreaGranularity"- vkGetRenderAreaGranularity ::- VkDevice -- ^ device- -> VkRenderPass -- ^ renderPass- -> Ptr VkExtent2D -- ^ pGranularity- -> IO ()---- | > () vkGetRenderAreaGranularity--- > ( VkDevice device--- > , VkRenderPass renderPass--- > , VkExtent2D* pGranularity--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRenderAreaGranularity.html vkGetRenderAreaGranularity registry at www.khronos.org>-foreign import ccall safe "vkGetRenderAreaGranularity"- vkGetRenderAreaGranularitySafe ::- VkDevice -- ^ device- -> VkRenderPass -- ^ renderPass- -> Ptr VkExtent2D -- ^ pGranularity- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateCommandPool--- > ( VkDevice device--- > , const VkCommandPoolCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkCommandPool* pCommandPool--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateCommandPool.html vkCreateCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkCreateCommandPool"- vkCreateCommandPool ::- VkDevice -- ^ device- ->- Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkCommandPool -- ^ pCommandPool- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateCommandPool--- > ( VkDevice device--- > , const VkCommandPoolCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkCommandPool* pCommandPool--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateCommandPool.html vkCreateCommandPool registry at www.khronos.org>-foreign import ccall safe "vkCreateCommandPool"- vkCreateCommandPoolSafe ::- VkDevice -- ^ device- ->- Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkCommandPool -- ^ pCommandPool- -> IO VkResult---- | > () vkDestroyCommandPool--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyCommandPool.html vkDestroyCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyCommandPool"- vkDestroyCommandPool ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyCommandPool--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyCommandPool.html vkDestroyCommandPool registry at www.khronos.org>-foreign import ccall safe "vkDestroyCommandPool"- vkDestroyCommandPoolSafe ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandPool--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , VkCommandPoolResetFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandPool.html vkResetCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkResetCommandPool" vkResetCommandPool- ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> VkCommandPoolResetFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandPool--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , VkCommandPoolResetFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandPool.html vkResetCommandPool registry at www.khronos.org>-foreign import ccall safe "vkResetCommandPool"- vkResetCommandPoolSafe ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> VkCommandPoolResetFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkAllocateCommandBuffers--- > ( VkDevice device--- > , const VkCommandBufferAllocateInfo* pAllocateInfo--- > , VkCommandBuffer* pCommandBuffers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateCommandBuffers.html vkAllocateCommandBuffers registry at www.khronos.org>-foreign import ccall unsafe "vkAllocateCommandBuffers"- vkAllocateCommandBuffers ::- VkDevice -- ^ device- ->- Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo- ->- Ptr VkCommandBuffer -- ^ pCommandBuffers- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkAllocateCommandBuffers--- > ( VkDevice device--- > , const VkCommandBufferAllocateInfo* pAllocateInfo--- > , VkCommandBuffer* pCommandBuffers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAllocateCommandBuffers.html vkAllocateCommandBuffers registry at www.khronos.org>-foreign import ccall safe "vkAllocateCommandBuffers"- vkAllocateCommandBuffersSafe ::- VkDevice -- ^ device- ->- Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo- ->- Ptr VkCommandBuffer -- ^ pCommandBuffers- -> IO VkResult---- | > () vkFreeCommandBuffers--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , uint32_t commandBufferCount--- > , const VkCommandBuffer* pCommandBuffers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeCommandBuffers.html vkFreeCommandBuffers registry at www.khronos.org>-foreign import ccall unsafe "vkFreeCommandBuffers"- vkFreeCommandBuffers ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> Word32 -- ^ commandBufferCount- -> Ptr VkCommandBuffer -- ^ pCommandBuffers- -> IO ()---- | > () vkFreeCommandBuffers--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , uint32_t commandBufferCount--- > , const VkCommandBuffer* pCommandBuffers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkFreeCommandBuffers.html vkFreeCommandBuffers registry at www.khronos.org>-foreign import ccall safe "vkFreeCommandBuffers"- vkFreeCommandBuffersSafe ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> Word32 -- ^ commandBufferCount- -> Ptr VkCommandBuffer -- ^ pCommandBuffers- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBeginCommandBuffer--- > ( VkCommandBuffer commandBuffer--- > , const VkCommandBufferBeginInfo* pBeginInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBeginCommandBuffer.html vkBeginCommandBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkBeginCommandBuffer"- vkBeginCommandBuffer ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBeginCommandBuffer--- > ( VkCommandBuffer commandBuffer--- > , const VkCommandBufferBeginInfo* pBeginInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBeginCommandBuffer.html vkBeginCommandBuffer registry at www.khronos.org>-foreign import ccall safe "vkBeginCommandBuffer"- vkBeginCommandBufferSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEndCommandBuffer--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEndCommandBuffer.html vkEndCommandBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkEndCommandBuffer" vkEndCommandBuffer- :: VkCommandBuffer -- ^ commandBuffer- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkEndCommandBuffer--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEndCommandBuffer.html vkEndCommandBuffer registry at www.khronos.org>-foreign import ccall safe "vkEndCommandBuffer"- vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkCommandBufferResetFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandBuffer.html vkResetCommandBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkResetCommandBuffer"- vkResetCommandBuffer ::- VkCommandBuffer -- ^ commandBuffer- -> VkCommandBufferResetFlags -- ^ flags- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkResetCommandBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkCommandBufferResetFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkResetCommandBuffer.html vkResetCommandBuffer registry at www.khronos.org>-foreign import ccall safe "vkResetCommandBuffer"- vkResetCommandBufferSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkCommandBufferResetFlags -- ^ flags- -> IO VkResult---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBindPipeline--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineBindPoint pipelineBindPoint--- > , VkPipeline pipeline--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindPipeline.html vkCmdBindPipeline registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindPipeline" vkCmdBindPipeline- :: VkCommandBuffer -- ^ commandBuffer- -> VkPipelineBindPoint -- ^ pipelineBindPoint- -> VkPipeline -- ^ pipeline- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBindPipeline--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineBindPoint pipelineBindPoint--- > , VkPipeline pipeline--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindPipeline.html vkCmdBindPipeline registry at www.khronos.org>-foreign import ccall safe "vkCmdBindPipeline" vkCmdBindPipelineSafe- :: VkCommandBuffer -- ^ commandBuffer- -> VkPipelineBindPoint -- ^ pipelineBindPoint- -> VkPipeline -- ^ pipeline- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetViewport--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstViewport--- > , uint32_t viewportCount--- > , const VkViewport* pViewports--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewport.html vkCmdSetViewport registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetViewport" vkCmdSetViewport ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ firstViewport- -> Word32 -- ^ viewportCount- -> Ptr VkViewport -- ^ pViewports- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetViewport--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstViewport--- > , uint32_t viewportCount--- > , const VkViewport* pViewports--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewport.html vkCmdSetViewport registry at www.khronos.org>-foreign import ccall safe "vkCmdSetViewport" vkCmdSetViewportSafe- :: VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ firstViewport- -> Word32 -- ^ viewportCount- -> Ptr VkViewport -- ^ pViewports- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetScissor--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstScissor--- > , uint32_t scissorCount--- > , const VkRect2D* pScissors--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetScissor.html vkCmdSetScissor registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissor ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ firstScissor- -> Word32 -- ^ scissorCount- -> Ptr VkRect2D -- ^ pScissors- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetScissor--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstScissor--- > , uint32_t scissorCount--- > , const VkRect2D* pScissors--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetScissor.html vkCmdSetScissor registry at www.khronos.org>-foreign import ccall safe "vkCmdSetScissor" vkCmdSetScissorSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ firstScissor- -> Word32 -- ^ scissorCount- -> Ptr VkRect2D -- ^ pScissors- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetLineWidth--- > ( VkCommandBuffer commandBuffer--- > , float lineWidth--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetLineWidth.html vkCmdSetLineWidth registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetLineWidth" vkCmdSetLineWidth- :: VkCommandBuffer -- ^ commandBuffer- -> #{type float} -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetLineWidth--- > ( VkCommandBuffer commandBuffer--- > , float lineWidth--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetLineWidth.html vkCmdSetLineWidth registry at www.khronos.org>-foreign import ccall safe "vkCmdSetLineWidth" vkCmdSetLineWidthSafe- :: VkCommandBuffer -- ^ commandBuffer- -> #{type float} -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetDepthBias--- > ( VkCommandBuffer commandBuffer--- > , float depthBiasConstantFactor--- > , float depthBiasClamp--- > , float depthBiasSlopeFactor--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBias.html vkCmdSetDepthBias registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDepthBias" vkCmdSetDepthBias- ::- VkCommandBuffer -- ^ commandBuffer- ->- #{type float} ->- #{type float} -> #{type float} -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetDepthBias--- > ( VkCommandBuffer commandBuffer--- > , float depthBiasConstantFactor--- > , float depthBiasClamp--- > , float depthBiasSlopeFactor--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBias.html vkCmdSetDepthBias registry at www.khronos.org>-foreign import ccall safe "vkCmdSetDepthBias" vkCmdSetDepthBiasSafe- ::- VkCommandBuffer -- ^ commandBuffer- ->- #{type float} ->- #{type float} -> #{type float} -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetBlendConstants--- > ( VkCommandBuffer commandBuffer--- > , const float blendConstants[4]--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetBlendConstants.html vkCmdSetBlendConstants registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetBlendConstants"- vkCmdSetBlendConstants ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr #{type float} -- ^ blendConstants- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetBlendConstants--- > ( VkCommandBuffer commandBuffer--- > , const float blendConstants[4]--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetBlendConstants.html vkCmdSetBlendConstants registry at www.khronos.org>-foreign import ccall safe "vkCmdSetBlendConstants"- vkCmdSetBlendConstantsSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr #{type float} -- ^ blendConstants- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetDepthBounds--- > ( VkCommandBuffer commandBuffer--- > , float minDepthBounds--- > , float maxDepthBounds--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBounds.html vkCmdSetDepthBounds registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDepthBounds"- vkCmdSetDepthBounds ::- VkCommandBuffer -- ^ commandBuffer- ->- #{type float} -> #{type float} -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetDepthBounds--- > ( VkCommandBuffer commandBuffer--- > , float minDepthBounds--- > , float maxDepthBounds--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDepthBounds.html vkCmdSetDepthBounds registry at www.khronos.org>-foreign import ccall safe "vkCmdSetDepthBounds"- vkCmdSetDepthBoundsSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- #{type float} -> #{type float} -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetStencilCompareMask--- > ( VkCommandBuffer commandBuffer--- > , VkStencilFaceFlags faceMask--- > , uint32_t compareMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilCompareMask.html vkCmdSetStencilCompareMask registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetStencilCompareMask"- vkCmdSetStencilCompareMask ::- VkCommandBuffer -- ^ commandBuffer- -> VkStencilFaceFlags -- ^ faceMask- -> Word32 -- ^ compareMask- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetStencilCompareMask--- > ( VkCommandBuffer commandBuffer--- > , VkStencilFaceFlags faceMask--- > , uint32_t compareMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilCompareMask.html vkCmdSetStencilCompareMask registry at www.khronos.org>-foreign import ccall safe "vkCmdSetStencilCompareMask"- vkCmdSetStencilCompareMaskSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkStencilFaceFlags -- ^ faceMask- -> Word32 -- ^ compareMask- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetStencilWriteMask--- > ( VkCommandBuffer commandBuffer--- > , VkStencilFaceFlags faceMask--- > , uint32_t writeMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilWriteMask.html vkCmdSetStencilWriteMask registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetStencilWriteMask"- vkCmdSetStencilWriteMask ::- VkCommandBuffer -- ^ commandBuffer- -> VkStencilFaceFlags -- ^ faceMask- -> Word32 -- ^ writeMask- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetStencilWriteMask--- > ( VkCommandBuffer commandBuffer--- > , VkStencilFaceFlags faceMask--- > , uint32_t writeMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilWriteMask.html vkCmdSetStencilWriteMask registry at www.khronos.org>-foreign import ccall safe "vkCmdSetStencilWriteMask"- vkCmdSetStencilWriteMaskSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkStencilFaceFlags -- ^ faceMask- -> Word32 -- ^ writeMask- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetStencilReference--- > ( VkCommandBuffer commandBuffer--- > , VkStencilFaceFlags faceMask--- > , uint32_t reference--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilReference.html vkCmdSetStencilReference registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetStencilReference"- vkCmdSetStencilReference ::- VkCommandBuffer -- ^ commandBuffer- -> VkStencilFaceFlags -- ^ faceMask- -> Word32 -- ^ reference- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetStencilReference--- > ( VkCommandBuffer commandBuffer--- > , VkStencilFaceFlags faceMask--- > , uint32_t reference--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetStencilReference.html vkCmdSetStencilReference registry at www.khronos.org>-foreign import ccall safe "vkCmdSetStencilReference"- vkCmdSetStencilReferenceSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkStencilFaceFlags -- ^ faceMask- -> Word32 -- ^ reference- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBindDescriptorSets--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineBindPoint pipelineBindPoint--- > , VkPipelineLayout layout--- > , uint32_t firstSet--- > , uint32_t descriptorSetCount--- > , const VkDescriptorSet* pDescriptorSets--- > , uint32_t dynamicOffsetCount--- > , const uint32_t* pDynamicOffsets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindDescriptorSets.html vkCmdBindDescriptorSets registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindDescriptorSets"- vkCmdBindDescriptorSets ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineBindPoint -- ^ pipelineBindPoint- ->- VkPipelineLayout -- ^ layout- ->- Word32 -- ^ firstSet- ->- Word32 -- ^ descriptorSetCount- -> Ptr VkDescriptorSet -- ^ pDescriptorSets- -> Word32 -- ^ dynamicOffsetCount- -> Ptr Word32 -- ^ pDynamicOffsets- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBindDescriptorSets--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineBindPoint pipelineBindPoint--- > , VkPipelineLayout layout--- > , uint32_t firstSet--- > , uint32_t descriptorSetCount--- > , const VkDescriptorSet* pDescriptorSets--- > , uint32_t dynamicOffsetCount--- > , const uint32_t* pDynamicOffsets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindDescriptorSets.html vkCmdBindDescriptorSets registry at www.khronos.org>-foreign import ccall safe "vkCmdBindDescriptorSets"- vkCmdBindDescriptorSetsSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineBindPoint -- ^ pipelineBindPoint- ->- VkPipelineLayout -- ^ layout- ->- Word32 -- ^ firstSet- ->- Word32 -- ^ descriptorSetCount- -> Ptr VkDescriptorSet -- ^ pDescriptorSets- -> Word32 -- ^ dynamicOffsetCount- -> Ptr Word32 -- ^ pDynamicOffsets- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdBindIndexBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , VkIndexType indexType--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindIndexBuffer.html vkCmdBindIndexBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindIndexBuffer"- vkCmdBindIndexBuffer ::- VkCommandBuffer -- ^ commandBuffer- -> VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> VkIndexType -- ^ indexType- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdBindIndexBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , VkIndexType indexType--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindIndexBuffer.html vkCmdBindIndexBuffer registry at www.khronos.org>-foreign import ccall safe "vkCmdBindIndexBuffer"- vkCmdBindIndexBufferSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> VkIndexType -- ^ indexType- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdBindVertexBuffers--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstBinding--- > , uint32_t bindingCount--- > , const VkBuffer* pBuffers--- > , const VkDeviceSize* pOffsets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindVertexBuffers.html vkCmdBindVertexBuffers registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBindVertexBuffers"- vkCmdBindVertexBuffers ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ firstBinding- -> Word32 -- ^ bindingCount- -> Ptr VkBuffer -- ^ pBuffers- -> Ptr VkDeviceSize -- ^ pOffsets- -> IO ()---- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdBindVertexBuffers--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstBinding--- > , uint32_t bindingCount--- > , const VkBuffer* pBuffers--- > , const VkDeviceSize* pOffsets--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindVertexBuffers.html vkCmdBindVertexBuffers registry at www.khronos.org>-foreign import ccall safe "vkCmdBindVertexBuffers"- vkCmdBindVertexBuffersSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ firstBinding- -> Word32 -- ^ bindingCount- -> Ptr VkBuffer -- ^ pBuffers- -> Ptr VkDeviceSize -- ^ pOffsets- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDraw--- > ( VkCommandBuffer commandBuffer--- > , uint32_t vertexCount--- > , uint32_t instanceCount--- > , uint32_t firstVertex--- > , uint32_t firstInstance--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDraw.html vkCmdDraw registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDraw" vkCmdDraw ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ vertexCount- -> Word32 -- ^ instanceCount- -> Word32 -- ^ firstVertex- -> Word32 -- ^ firstInstance- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDraw--- > ( VkCommandBuffer commandBuffer--- > , uint32_t vertexCount--- > , uint32_t instanceCount--- > , uint32_t firstVertex--- > , uint32_t firstInstance--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDraw.html vkCmdDraw registry at www.khronos.org>-foreign import ccall safe "vkCmdDraw" vkCmdDrawSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ vertexCount- -> Word32 -- ^ instanceCount- -> Word32 -- ^ firstVertex- -> Word32 -- ^ firstInstance- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndexed--- > ( VkCommandBuffer commandBuffer--- > , uint32_t indexCount--- > , uint32_t instanceCount--- > , uint32_t firstIndex--- > , int32_t vertexOffset--- > , uint32_t firstInstance--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexed.html vkCmdDrawIndexed registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndexed" vkCmdDrawIndexed ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ indexCount- -> Word32 -- ^ instanceCount- -> Word32 -- ^ firstIndex- -> Int32 -- ^ vertexOffset- -> Word32 -- ^ firstInstance- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndexed--- > ( VkCommandBuffer commandBuffer--- > , uint32_t indexCount--- > , uint32_t instanceCount--- > , uint32_t firstIndex--- > , int32_t vertexOffset--- > , uint32_t firstInstance--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexed.html vkCmdDrawIndexed registry at www.khronos.org>-foreign import ccall safe "vkCmdDrawIndexed" vkCmdDrawIndexedSafe- ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ indexCount- -> Word32 -- ^ instanceCount- -> Word32 -- ^ firstIndex- -> Int32 -- ^ vertexOffset- -> Word32 -- ^ firstInstance- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndirect--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , uint32_t drawCount--- > , uint32_t stride--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirect.html vkCmdDrawIndirect registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndirect" vkCmdDrawIndirect- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> Word32 -- ^ drawCount- -> Word32 -- ^ stride- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndirect--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , uint32_t drawCount--- > , uint32_t stride--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirect.html vkCmdDrawIndirect registry at www.khronos.org>-foreign import ccall safe "vkCmdDrawIndirect" vkCmdDrawIndirectSafe- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> Word32 -- ^ drawCount- -> Word32 -- ^ stride- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndexedIndirect--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , uint32_t drawCount--- > , uint32_t stride--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirect.html vkCmdDrawIndexedIndirect registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndexedIndirect"- vkCmdDrawIndexedIndirect ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> Word32 -- ^ drawCount- -> Word32 -- ^ stride- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndexedIndirect--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , uint32_t drawCount--- > , uint32_t stride--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirect.html vkCmdDrawIndexedIndirect registry at www.khronos.org>-foreign import ccall safe "vkCmdDrawIndexedIndirect"- vkCmdDrawIndexedIndirectSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> Word32 -- ^ drawCount- -> Word32 -- ^ stride- -> IO ()---- | queues: 'compute'.------ renderpass: @outside@------ pipeline: @compute@------ > () vkCmdDispatch--- > ( VkCommandBuffer commandBuffer--- > , uint32_t groupCountX--- > , uint32_t groupCountY--- > , uint32_t groupCountZ--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatch.html vkCmdDispatch registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatch ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ groupCountX- -> Word32 -- ^ groupCountY- -> Word32 -- ^ groupCountZ- -> IO ()---- | queues: 'compute'.------ renderpass: @outside@------ pipeline: @compute@------ > () vkCmdDispatch--- > ( VkCommandBuffer commandBuffer--- > , uint32_t groupCountX--- > , uint32_t groupCountY--- > , uint32_t groupCountZ--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatch.html vkCmdDispatch registry at www.khronos.org>-foreign import ccall safe "vkCmdDispatch" vkCmdDispatchSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ groupCountX- -> Word32 -- ^ groupCountY- -> Word32 -- ^ groupCountZ- -> IO ()---- | queues: 'compute'.------ renderpass: @outside@------ pipeline: @compute@------ > () vkCmdDispatchIndirect--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchIndirect.html vkCmdDispatchIndirect registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatchIndirect"- vkCmdDispatchIndirect ::- VkCommandBuffer -- ^ commandBuffer- -> VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> IO ()---- | queues: 'compute'.------ renderpass: @outside@------ pipeline: @compute@------ > () vkCmdDispatchIndirect--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchIndirect.html vkCmdDispatchIndirect registry at www.khronos.org>-foreign import ccall safe "vkCmdDispatchIndirect"- vkCmdDispatchIndirectSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkBuffer -- ^ buffer- -> VkDeviceSize -- ^ offset- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer srcBuffer--- > , VkBuffer dstBuffer--- > , uint32_t regionCount--- > , const VkBufferCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBuffer.html vkCmdCopyBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBuffer ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ srcBuffer- -> VkBuffer -- ^ dstBuffer- -> Word32 -- ^ regionCount- -> Ptr VkBufferCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer srcBuffer--- > , VkBuffer dstBuffer--- > , uint32_t regionCount--- > , const VkBufferCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBuffer.html vkCmdCopyBuffer registry at www.khronos.org>-foreign import ccall safe "vkCmdCopyBuffer" vkCmdCopyBufferSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ srcBuffer- -> VkBuffer -- ^ dstBuffer- -> Word32 -- ^ regionCount- -> Ptr VkBufferCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkImageCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImage.html vkCmdCopyImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImage ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkImage -- ^ dstImage- -> VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkImageCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkImageCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImage.html vkCmdCopyImage registry at www.khronos.org>-foreign import ccall safe "vkCmdCopyImage" vkCmdCopyImageSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkImage -- ^ dstImage- -> VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkImageCopy -- ^ pRegions- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdBlitImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkImageBlit* pRegions--- > , VkFilter filter--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBlitImage.html vkCmdBlitImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImage ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkImage -- ^ dstImage- ->- VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkImageBlit -- ^ pRegions- -> VkFilter -- ^ filter- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdBlitImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkImageBlit* pRegions--- > , VkFilter filter--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBlitImage.html vkCmdBlitImage registry at www.khronos.org>-foreign import ccall safe "vkCmdBlitImage" vkCmdBlitImageSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkImage -- ^ dstImage- ->- VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkImageBlit -- ^ pRegions- -> VkFilter -- ^ filter- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyBufferToImage--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer srcBuffer--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkBufferImageCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBufferToImage.html vkCmdCopyBufferToImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyBufferToImage"- vkCmdCopyBufferToImage ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ srcBuffer- ->- VkImage -- ^ dstImage- ->- VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkBufferImageCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyBufferToImage--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer srcBuffer--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkBufferImageCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBufferToImage.html vkCmdCopyBufferToImage registry at www.khronos.org>-foreign import ccall safe "vkCmdCopyBufferToImage"- vkCmdCopyBufferToImageSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ srcBuffer- ->- VkImage -- ^ dstImage- ->- VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkBufferImageCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyImageToBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkBuffer dstBuffer--- > , uint32_t regionCount--- > , const VkBufferImageCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImageToBuffer.html vkCmdCopyImageToBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyImageToBuffer"- vkCmdCopyImageToBuffer ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkBuffer -- ^ dstBuffer- -> Word32 -- ^ regionCount- -> Ptr VkBufferImageCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyImageToBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkBuffer dstBuffer--- > , uint32_t regionCount--- > , const VkBufferImageCopy* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImageToBuffer.html vkCmdCopyImageToBuffer registry at www.khronos.org>-foreign import ccall safe "vkCmdCopyImageToBuffer"- vkCmdCopyImageToBufferSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkBuffer -- ^ dstBuffer- -> Word32 -- ^ regionCount- -> Ptr VkBufferImageCopy -- ^ pRegions- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdUpdateBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , VkDeviceSize dataSize--- > , const void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdUpdateBuffer.html vkCmdUpdateBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdUpdateBuffer" vkCmdUpdateBuffer- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ dstBuffer- -> VkDeviceSize -- ^ dstOffset- -> VkDeviceSize -- ^ dataSize- -> Ptr Void -- ^ pData- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdUpdateBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , VkDeviceSize dataSize--- > , const void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdUpdateBuffer.html vkCmdUpdateBuffer registry at www.khronos.org>-foreign import ccall safe "vkCmdUpdateBuffer" vkCmdUpdateBufferSafe- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ dstBuffer- -> VkDeviceSize -- ^ dstOffset- -> VkDeviceSize -- ^ dataSize- -> Ptr Void -- ^ pData- -> IO ()---- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------ queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdFillBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , VkDeviceSize size--- > , uint32_t data--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdFillBuffer.html vkCmdFillBuffer registry at www.khronos.org>-foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBuffer ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ dstBuffer- -> VkDeviceSize -- ^ dstOffset- -> VkDeviceSize -- ^ size- -> Word32 -- ^ data- -> IO ()---- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification------ queues: 'transfer', 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdFillBuffer--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , VkDeviceSize size--- > , uint32_t data--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdFillBuffer.html vkCmdFillBuffer registry at www.khronos.org>-foreign import ccall safe "vkCmdFillBuffer" vkCmdFillBufferSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ dstBuffer- -> VkDeviceSize -- ^ dstOffset- -> VkDeviceSize -- ^ size- -> Word32 -- ^ data- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdClearColorImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage image--- > , VkImageLayout imageLayout--- > , const VkClearColorValue* pColor--- > , uint32_t rangeCount--- > , const VkImageSubresourceRange* pRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearColorImage.html vkCmdClearColorImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdClearColorImage"- vkCmdClearColorImage ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ image- ->- VkImageLayout -- ^ imageLayout- ->- Ptr VkClearColorValue -- ^ pColor- ->- Word32 -- ^ rangeCount- -> Ptr VkImageSubresourceRange -- ^ pRanges- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdClearColorImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage image--- > , VkImageLayout imageLayout--- > , const VkClearColorValue* pColor--- > , uint32_t rangeCount--- > , const VkImageSubresourceRange* pRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearColorImage.html vkCmdClearColorImage registry at www.khronos.org>-foreign import ccall safe "vkCmdClearColorImage"- vkCmdClearColorImageSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ image- ->- VkImageLayout -- ^ imageLayout- ->- Ptr VkClearColorValue -- ^ pColor- ->- Word32 -- ^ rangeCount- -> Ptr VkImageSubresourceRange -- ^ pRanges- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdClearDepthStencilImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage image--- > , VkImageLayout imageLayout--- > , const VkClearDepthStencilValue* pDepthStencil--- > , uint32_t rangeCount--- > , const VkImageSubresourceRange* pRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearDepthStencilImage.html vkCmdClearDepthStencilImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdClearDepthStencilImage"- vkCmdClearDepthStencilImage ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ image- ->- VkImageLayout -- ^ imageLayout- ->- Ptr VkClearDepthStencilValue -- ^ pDepthStencil- ->- Word32 -- ^ rangeCount- -> Ptr VkImageSubresourceRange -- ^ pRanges- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdClearDepthStencilImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage image--- > , VkImageLayout imageLayout--- > , const VkClearDepthStencilValue* pDepthStencil--- > , uint32_t rangeCount--- > , const VkImageSubresourceRange* pRanges--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearDepthStencilImage.html vkCmdClearDepthStencilImage registry at www.khronos.org>-foreign import ccall safe "vkCmdClearDepthStencilImage"- vkCmdClearDepthStencilImageSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ image- ->- VkImageLayout -- ^ imageLayout- ->- Ptr VkClearDepthStencilValue -- ^ pDepthStencil- ->- Word32 -- ^ rangeCount- -> Ptr VkImageSubresourceRange -- ^ pRanges- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdClearAttachments--- > ( VkCommandBuffer commandBuffer--- > , uint32_t attachmentCount--- > , const VkClearAttachment* pAttachments--- > , uint32_t rectCount--- > , const VkClearRect* pRects--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearAttachments.html vkCmdClearAttachments registry at www.khronos.org>-foreign import ccall unsafe "vkCmdClearAttachments"- vkCmdClearAttachments ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ attachmentCount- ->- Ptr VkClearAttachment -- ^ pAttachments- -> Word32 -- ^ rectCount- -> Ptr VkClearRect -- ^ pRects- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdClearAttachments--- > ( VkCommandBuffer commandBuffer--- > , uint32_t attachmentCount--- > , const VkClearAttachment* pAttachments--- > , uint32_t rectCount--- > , const VkClearRect* pRects--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdClearAttachments.html vkCmdClearAttachments registry at www.khronos.org>-foreign import ccall safe "vkCmdClearAttachments"- vkCmdClearAttachmentsSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ attachmentCount- ->- Ptr VkClearAttachment -- ^ pAttachments- -> Word32 -- ^ rectCount- -> Ptr VkClearRect -- ^ pRects- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdResolveImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkImageResolve* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResolveImage.html vkCmdResolveImage registry at www.khronos.org>-foreign import ccall unsafe "vkCmdResolveImage" vkCmdResolveImage- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkImage -- ^ dstImage- -> VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkImageResolve -- ^ pRegions- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdResolveImage--- > ( VkCommandBuffer commandBuffer--- > , VkImage srcImage--- > , VkImageLayout srcImageLayout--- > , VkImage dstImage--- > , VkImageLayout dstImageLayout--- > , uint32_t regionCount--- > , const VkImageResolve* pRegions--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResolveImage.html vkCmdResolveImage registry at www.khronos.org>-foreign import ccall safe "vkCmdResolveImage" vkCmdResolveImageSafe- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkImage -- ^ srcImage- ->- VkImageLayout -- ^ srcImageLayout- ->- VkImage -- ^ dstImage- -> VkImageLayout -- ^ dstImageLayout- -> Word32 -- ^ regionCount- -> Ptr VkImageResolve -- ^ pRegions- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ > () vkCmdSetEvent--- > ( VkCommandBuffer commandBuffer--- > , VkEvent event--- > , VkPipelineStageFlags stageMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetEvent.html vkCmdSetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEvent ::- VkCommandBuffer -- ^ commandBuffer- -> VkEvent -- ^ event- -> VkPipelineStageFlags -- ^ stageMask- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ > () vkCmdSetEvent--- > ( VkCommandBuffer commandBuffer--- > , VkEvent event--- > , VkPipelineStageFlags stageMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetEvent.html vkCmdSetEvent registry at www.khronos.org>-foreign import ccall safe "vkCmdSetEvent" vkCmdSetEventSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkEvent -- ^ event- -> VkPipelineStageFlags -- ^ stageMask- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ > () vkCmdResetEvent--- > ( VkCommandBuffer commandBuffer--- > , VkEvent event--- > , VkPipelineStageFlags stageMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetEvent.html vkCmdResetEvent registry at www.khronos.org>-foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEvent ::- VkCommandBuffer -- ^ commandBuffer- -> VkEvent -- ^ event- -> VkPipelineStageFlags -- ^ stageMask- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ > () vkCmdResetEvent--- > ( VkCommandBuffer commandBuffer--- > , VkEvent event--- > , VkPipelineStageFlags stageMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetEvent.html vkCmdResetEvent registry at www.khronos.org>-foreign import ccall safe "vkCmdResetEvent" vkCmdResetEventSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkEvent -- ^ event- -> VkPipelineStageFlags -- ^ stageMask- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdWaitEvents--- > ( VkCommandBuffer commandBuffer--- > , uint32_t eventCount--- > , const VkEvent* pEvents--- > , VkPipelineStageFlags srcStageMask--- > , VkPipelineStageFlags dstStageMask--- > , uint32_t memoryBarrierCount--- > , const VkMemoryBarrier* pMemoryBarriers--- > , uint32_t bufferMemoryBarrierCount--- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- > , uint32_t imageMemoryBarrierCount--- > , const VkImageMemoryBarrier* pImageMemoryBarriers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWaitEvents.html vkCmdWaitEvents registry at www.khronos.org>-foreign import ccall unsafe "vkCmdWaitEvents" vkCmdWaitEvents ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ eventCount- ->- Ptr VkEvent -- ^ pEvents- ->- VkPipelineStageFlags -- ^ srcStageMask- ->- VkPipelineStageFlags -- ^ dstStageMask- ->- Word32 -- ^ memoryBarrierCount- ->- Ptr VkMemoryBarrier -- ^ pMemoryBarriers- ->- Word32 -- ^ bufferMemoryBarrierCount- ->- Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers- ->- Word32 -- ^ imageMemoryBarrierCount- -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdWaitEvents--- > ( VkCommandBuffer commandBuffer--- > , uint32_t eventCount--- > , const VkEvent* pEvents--- > , VkPipelineStageFlags srcStageMask--- > , VkPipelineStageFlags dstStageMask--- > , uint32_t memoryBarrierCount--- > , const VkMemoryBarrier* pMemoryBarriers--- > , uint32_t bufferMemoryBarrierCount--- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- > , uint32_t imageMemoryBarrierCount--- > , const VkImageMemoryBarrier* pImageMemoryBarriers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWaitEvents.html vkCmdWaitEvents registry at www.khronos.org>-foreign import ccall safe "vkCmdWaitEvents" vkCmdWaitEventsSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ eventCount- ->- Ptr VkEvent -- ^ pEvents- ->- VkPipelineStageFlags -- ^ srcStageMask- ->- VkPipelineStageFlags -- ^ dstStageMask- ->- Word32 -- ^ memoryBarrierCount- ->- Ptr VkMemoryBarrier -- ^ pMemoryBarriers- ->- Word32 -- ^ bufferMemoryBarrierCount- ->- Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers- ->- Word32 -- ^ imageMemoryBarrierCount- -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdPipelineBarrier--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineStageFlags srcStageMask--- > , VkPipelineStageFlags dstStageMask--- > , VkDependencyFlags dependencyFlags--- > , uint32_t memoryBarrierCount--- > , const VkMemoryBarrier* pMemoryBarriers--- > , uint32_t bufferMemoryBarrierCount--- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- > , uint32_t imageMemoryBarrierCount--- > , const VkImageMemoryBarrier* pImageMemoryBarriers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPipelineBarrier.html vkCmdPipelineBarrier registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPipelineBarrier"- vkCmdPipelineBarrier ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineStageFlags -- ^ srcStageMask- ->- VkPipelineStageFlags -- ^ dstStageMask- ->- VkDependencyFlags -- ^ dependencyFlags- ->- Word32 -- ^ memoryBarrierCount- ->- Ptr VkMemoryBarrier -- ^ pMemoryBarriers- ->- Word32 -- ^ bufferMemoryBarrierCount- ->- Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers- ->- Word32 -- ^ imageMemoryBarrierCount- -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdPipelineBarrier--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineStageFlags srcStageMask--- > , VkPipelineStageFlags dstStageMask--- > , VkDependencyFlags dependencyFlags--- > , uint32_t memoryBarrierCount--- > , const VkMemoryBarrier* pMemoryBarriers--- > , uint32_t bufferMemoryBarrierCount--- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers--- > , uint32_t imageMemoryBarrierCount--- > , const VkImageMemoryBarrier* pImageMemoryBarriers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPipelineBarrier.html vkCmdPipelineBarrier registry at www.khronos.org>-foreign import ccall safe "vkCmdPipelineBarrier"- vkCmdPipelineBarrierSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineStageFlags -- ^ srcStageMask- ->- VkPipelineStageFlags -- ^ dstStageMask- ->- VkDependencyFlags -- ^ dependencyFlags- ->- Word32 -- ^ memoryBarrierCount- ->- Ptr VkMemoryBarrier -- ^ pMemoryBarriers- ->- Word32 -- ^ bufferMemoryBarrierCount- ->- Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers- ->- Word32 -- ^ imageMemoryBarrierCount- -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBeginQuery--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t query--- > , VkQueryControlFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginQuery.html vkCmdBeginQuery registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQuery ::- VkCommandBuffer -- ^ commandBuffer- ->- VkQueryPool -- ^ queryPool- -> Word32 -- ^ query- -> VkQueryControlFlags -- ^ flags- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBeginQuery--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t query--- > , VkQueryControlFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginQuery.html vkCmdBeginQuery registry at www.khronos.org>-foreign import ccall safe "vkCmdBeginQuery" vkCmdBeginQuerySafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkQueryPool -- ^ queryPool- -> Word32 -- ^ query- -> VkQueryControlFlags -- ^ flags- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdEndQuery--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t query--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndQuery.html vkCmdEndQuery registry at www.khronos.org>-foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQuery ::- VkCommandBuffer -- ^ commandBuffer- -> VkQueryPool -- ^ queryPool- -> Word32 -- ^ query- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdEndQuery--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t query--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndQuery.html vkCmdEndQuery registry at www.khronos.org>-foreign import ccall safe "vkCmdEndQuery" vkCmdEndQuerySafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkQueryPool -- ^ queryPool- -> Word32 -- ^ query- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ > () vkCmdResetQueryPool--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t firstQuery--- > , uint32_t queryCount--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetQueryPool.html vkCmdResetQueryPool registry at www.khronos.org>-foreign import ccall unsafe "vkCmdResetQueryPool"- vkCmdResetQueryPool ::- VkCommandBuffer -- ^ commandBuffer- -> VkQueryPool -- ^ queryPool- -> Word32 -- ^ firstQuery- -> Word32 -- ^ queryCount- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ > () vkCmdResetQueryPool--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t firstQuery--- > , uint32_t queryCount--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdResetQueryPool.html vkCmdResetQueryPool registry at www.khronos.org>-foreign import ccall safe "vkCmdResetQueryPool"- vkCmdResetQueryPoolSafe ::- VkCommandBuffer -- ^ commandBuffer- -> VkQueryPool -- ^ queryPool- -> Word32 -- ^ firstQuery- -> Word32 -- ^ queryCount- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ pipeline: @transfer@------ > () vkCmdWriteTimestamp--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineStageFlagBits pipelineStage--- > , VkQueryPool queryPool--- > , uint32_t query--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteTimestamp.html vkCmdWriteTimestamp registry at www.khronos.org>-foreign import ccall unsafe "vkCmdWriteTimestamp"- vkCmdWriteTimestamp ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineStageFlagBits -- ^ pipelineStage- -> VkQueryPool -- ^ queryPool- -> Word32 -- ^ query- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ pipeline: @transfer@------ > () vkCmdWriteTimestamp--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineStageFlagBits pipelineStage--- > , VkQueryPool queryPool--- > , uint32_t query--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteTimestamp.html vkCmdWriteTimestamp registry at www.khronos.org>-foreign import ccall safe "vkCmdWriteTimestamp"- vkCmdWriteTimestampSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineStageFlagBits -- ^ pipelineStage- -> VkQueryPool -- ^ queryPool- -> Word32 -- ^ query- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyQueryPoolResults--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t firstQuery--- > , uint32_t queryCount--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , VkDeviceSize stride--- > , VkQueryResultFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyQueryPoolResults.html vkCmdCopyQueryPoolResults registry at www.khronos.org>-foreign import ccall unsafe "vkCmdCopyQueryPoolResults"- vkCmdCopyQueryPoolResults ::- VkCommandBuffer -- ^ commandBuffer- ->- VkQueryPool -- ^ queryPool- ->- Word32 -- ^ firstQuery- ->- Word32 -- ^ queryCount- ->- VkBuffer -- ^ dstBuffer- ->- VkDeviceSize -- ^ dstOffset- -> VkDeviceSize -- ^ stride- -> VkQueryResultFlags -- ^ flags- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @outside@------ pipeline: @transfer@------ > () vkCmdCopyQueryPoolResults--- > ( VkCommandBuffer commandBuffer--- > , VkQueryPool queryPool--- > , uint32_t firstQuery--- > , uint32_t queryCount--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , VkDeviceSize stride--- > , VkQueryResultFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyQueryPoolResults.html vkCmdCopyQueryPoolResults registry at www.khronos.org>-foreign import ccall safe "vkCmdCopyQueryPoolResults"- vkCmdCopyQueryPoolResultsSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkQueryPool -- ^ queryPool- ->- Word32 -- ^ firstQuery- ->- Word32 -- ^ queryCount- ->- VkBuffer -- ^ dstBuffer- ->- VkDeviceSize -- ^ dstOffset- -> VkDeviceSize -- ^ stride- -> VkQueryResultFlags -- ^ flags- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdPushConstants--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineLayout layout--- > , VkShaderStageFlags stageFlags--- > , uint32_t offset--- > , uint32_t size--- > , const void* pValues--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushConstants.html vkCmdPushConstants registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPushConstants" vkCmdPushConstants- ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineLayout -- ^ layout- ->- VkShaderStageFlags -- ^ stageFlags- -> Word32 -- ^ offset- -> Word32 -- ^ size- -> Ptr Void -- ^ pValues- -> IO ()---- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdPushConstants--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineLayout layout--- > , VkShaderStageFlags stageFlags--- > , uint32_t offset--- > , uint32_t size--- > , const void* pValues--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushConstants.html vkCmdPushConstants registry at www.khronos.org>-foreign import ccall safe "vkCmdPushConstants"- vkCmdPushConstantsSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineLayout -- ^ layout- ->- VkShaderStageFlags -- ^ stageFlags- -> Word32 -- ^ offset- -> Word32 -- ^ size- -> Ptr Void -- ^ pValues- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @graphics@------ > () vkCmdBeginRenderPass--- > ( VkCommandBuffer commandBuffer--- > , const VkRenderPassBeginInfo* pRenderPassBegin--- > , VkSubpassContents contents--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginRenderPass.html vkCmdBeginRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBeginRenderPass"- vkCmdBeginRenderPass ::- VkCommandBuffer -- ^ commandBuffer- ->- Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin- -> VkSubpassContents -- ^ contents- -> IO ()---- | queues: 'graphics'.------ renderpass: @outside@------ pipeline: @graphics@------ > () vkCmdBeginRenderPass--- > ( VkCommandBuffer commandBuffer--- > , const VkRenderPassBeginInfo* pRenderPassBegin--- > , VkSubpassContents contents--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginRenderPass.html vkCmdBeginRenderPass registry at www.khronos.org>-foreign import ccall safe "vkCmdBeginRenderPass"- vkCmdBeginRenderPassSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin- -> VkSubpassContents -- ^ contents- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdNextSubpass--- > ( VkCommandBuffer commandBuffer--- > , VkSubpassContents contents--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdNextSubpass.html vkCmdNextSubpass registry at www.khronos.org>-foreign import ccall unsafe "vkCmdNextSubpass" vkCmdNextSubpass ::- VkCommandBuffer -- ^ commandBuffer- -> VkSubpassContents -- ^ contents- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdNextSubpass--- > ( VkCommandBuffer commandBuffer--- > , VkSubpassContents contents--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdNextSubpass.html vkCmdNextSubpass registry at www.khronos.org>-foreign import ccall safe "vkCmdNextSubpass" vkCmdNextSubpassSafe- :: VkCommandBuffer -- ^ commandBuffer- -> VkSubpassContents -- ^ contents- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdEndRenderPass--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndRenderPass.html vkCmdEndRenderPass registry at www.khronos.org>-foreign import ccall unsafe "vkCmdEndRenderPass" vkCmdEndRenderPass- :: VkCommandBuffer -- ^ commandBuffer- -> IO ()---- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdEndRenderPass--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndRenderPass.html vkCmdEndRenderPass registry at www.khronos.org>-foreign import ccall safe "vkCmdEndRenderPass"- vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdExecuteCommands--- > ( VkCommandBuffer commandBuffer--- > , uint32_t commandBufferCount--- > , const VkCommandBuffer* pCommandBuffers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdExecuteCommands.html vkCmdExecuteCommands registry at www.khronos.org>-foreign import ccall unsafe "vkCmdExecuteCommands"- vkCmdExecuteCommands ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ commandBufferCount- -> Ptr VkCommandBuffer -- ^ pCommandBuffers- -> IO ()---- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdExecuteCommands--- > ( VkCommandBuffer commandBuffer--- > , uint32_t commandBufferCount--- > , const VkCommandBuffer* pCommandBuffers--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdExecuteCommands.html vkCmdExecuteCommands registry at www.khronos.org>-foreign import ccall safe "vkCmdExecuteCommands"- vkCmdExecuteCommandsSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ commandBufferCount- -> Ptr VkCommandBuffer -- ^ pCommandBuffers- -> IO ()+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Core_1_0+ (-- * Vulkan core API interface definitions+ -- |+ --+ -- @api = vulkan@+ --+ -- @name = VK_VERSION_1_0@+ --+ -- @number = 1.0@+ --++ -- ** Header boilerplate+ --+ -- |+ -- > ##include "vk_platform.h"+ --++ -- ** API version+ --++ -- ** API constants+ module Graphics.Vulkan.Types.Enum.Pipeline,+ pattern VK_LOD_CLAMP_NONE, pattern VK_REMAINING_MIP_LEVELS,+ pattern VK_REMAINING_ARRAY_LAYERS, pattern VK_WHOLE_SIZE,+ pattern VK_ATTACHMENT_UNUSED, pattern VK_TRUE, pattern VK_FALSE,+ pattern VK_QUEUE_FAMILY_IGNORED, pattern VK_SUBPASS_EXTERNAL,+ -- ** Device initialization+ VkCreateInstance, pattern VkCreateInstance, HS_vkCreateInstance,+ PFN_vkCreateInstance, vkCreateInstance, vkCreateInstanceSafe,+ VkDestroyInstance, pattern VkDestroyInstance, HS_vkDestroyInstance,+ PFN_vkDestroyInstance, vkDestroyInstance, vkDestroyInstanceSafe,+ VkEnumeratePhysicalDevices, pattern VkEnumeratePhysicalDevices,+ HS_vkEnumeratePhysicalDevices, PFN_vkEnumeratePhysicalDevices,+ vkEnumeratePhysicalDevices, vkEnumeratePhysicalDevicesSafe,+ VkGetPhysicalDeviceFeatures, pattern VkGetPhysicalDeviceFeatures,+ HS_vkGetPhysicalDeviceFeatures, PFN_vkGetPhysicalDeviceFeatures,+ vkGetPhysicalDeviceFeatures, vkGetPhysicalDeviceFeaturesSafe,+ VkGetPhysicalDeviceFormatProperties,+ pattern VkGetPhysicalDeviceFormatProperties,+ HS_vkGetPhysicalDeviceFormatProperties,+ PFN_vkGetPhysicalDeviceFormatProperties,+ vkGetPhysicalDeviceFormatProperties,+ vkGetPhysicalDeviceFormatPropertiesSafe,+ VkGetPhysicalDeviceImageFormatProperties,+ pattern VkGetPhysicalDeviceImageFormatProperties,+ HS_vkGetPhysicalDeviceImageFormatProperties,+ PFN_vkGetPhysicalDeviceImageFormatProperties,+ vkGetPhysicalDeviceImageFormatProperties,+ vkGetPhysicalDeviceImageFormatPropertiesSafe,+ VkGetPhysicalDeviceProperties,+ pattern VkGetPhysicalDeviceProperties,+ HS_vkGetPhysicalDeviceProperties,+ PFN_vkGetPhysicalDeviceProperties, vkGetPhysicalDeviceProperties,+ vkGetPhysicalDevicePropertiesSafe,+ VkGetPhysicalDeviceQueueFamilyProperties,+ pattern VkGetPhysicalDeviceQueueFamilyProperties,+ HS_vkGetPhysicalDeviceQueueFamilyProperties,+ PFN_vkGetPhysicalDeviceQueueFamilyProperties,+ vkGetPhysicalDeviceQueueFamilyProperties,+ vkGetPhysicalDeviceQueueFamilyPropertiesSafe,+ VkGetPhysicalDeviceMemoryProperties,+ pattern VkGetPhysicalDeviceMemoryProperties,+ HS_vkGetPhysicalDeviceMemoryProperties,+ PFN_vkGetPhysicalDeviceMemoryProperties,+ vkGetPhysicalDeviceMemoryProperties,+ vkGetPhysicalDeviceMemoryPropertiesSafe, VkGetInstanceProcAddr,+ pattern VkGetInstanceProcAddr, HS_vkGetInstanceProcAddr,+ PFN_vkGetInstanceProcAddr, vkGetInstanceProcAddr,+ vkGetInstanceProcAddrSafe, VkGetDeviceProcAddr,+ pattern VkGetDeviceProcAddr, HS_vkGetDeviceProcAddr,+ PFN_vkGetDeviceProcAddr, vkGetDeviceProcAddr,+ vkGetDeviceProcAddrSafe, module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.BaseTypes,+ module Graphics.Vulkan.Types.Bitmasks,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Memory,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.Queue,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope,+ module Graphics.Vulkan.Types.Funcpointers,+ module Graphics.Vulkan.Types.Handles,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.ApplicationInfo,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.FormatProperties,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,+ module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,+ -- ** Device commands+ VkCreateDevice, pattern VkCreateDevice, HS_vkCreateDevice,+ PFN_vkCreateDevice, vkCreateDevice, vkCreateDeviceSafe,+ VkDestroyDevice, pattern VkDestroyDevice, HS_vkDestroyDevice,+ PFN_vkDestroyDevice, vkDestroyDevice, vkDestroyDeviceSafe,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Struct.Device,+ -- ** Extension discovery commands+ VkEnumerateInstanceExtensionProperties,+ pattern VkEnumerateInstanceExtensionProperties,+ HS_vkEnumerateInstanceExtensionProperties,+ PFN_vkEnumerateInstanceExtensionProperties,+ vkEnumerateInstanceExtensionProperties,+ vkEnumerateInstanceExtensionPropertiesSafe,+ VkEnumerateDeviceExtensionProperties,+ pattern VkEnumerateDeviceExtensionProperties,+ HS_vkEnumerateDeviceExtensionProperties,+ PFN_vkEnumerateDeviceExtensionProperties,+ vkEnumerateDeviceExtensionProperties,+ vkEnumerateDeviceExtensionPropertiesSafe,+ module Graphics.Vulkan.Types.Struct.ExtensionProperties,+ -- ** Layer discovery commands+ VkEnumerateInstanceLayerProperties,+ pattern VkEnumerateInstanceLayerProperties,+ HS_vkEnumerateInstanceLayerProperties,+ PFN_vkEnumerateInstanceLayerProperties,+ vkEnumerateInstanceLayerProperties,+ vkEnumerateInstanceLayerPropertiesSafe,+ VkEnumerateDeviceLayerProperties,+ pattern VkEnumerateDeviceLayerProperties,+ HS_vkEnumerateDeviceLayerProperties,+ PFN_vkEnumerateDeviceLayerProperties,+ vkEnumerateDeviceLayerProperties,+ vkEnumerateDeviceLayerPropertiesSafe,+ module Graphics.Vulkan.Types.Struct.LayerProperties,+ -- ** queue commands+ VkGetDeviceQueue, pattern VkGetDeviceQueue, HS_vkGetDeviceQueue,+ PFN_vkGetDeviceQueue, vkGetDeviceQueue, vkGetDeviceQueueSafe,+ VkQueueSubmit, pattern VkQueueSubmit, HS_vkQueueSubmit,+ PFN_vkQueueSubmit, vkQueueSubmit, vkQueueSubmitSafe,+ VkQueueWaitIdle, pattern VkQueueWaitIdle, HS_vkQueueWaitIdle,+ PFN_vkQueueWaitIdle, vkQueueWaitIdle, vkQueueWaitIdleSafe,+ VkDeviceWaitIdle, pattern VkDeviceWaitIdle, HS_vkDeviceWaitIdle,+ PFN_vkDeviceWaitIdle, vkDeviceWaitIdle, vkDeviceWaitIdleSafe,+ module Graphics.Vulkan.Types.Struct.SubmitInfo, -- ** Memory commands+ VkAllocateMemory,+ pattern VkAllocateMemory, HS_vkAllocateMemory,+ PFN_vkAllocateMemory, vkAllocateMemory, vkAllocateMemorySafe,+ VkFreeMemory, pattern VkFreeMemory, HS_vkFreeMemory,+ PFN_vkFreeMemory, vkFreeMemory, vkFreeMemorySafe, VkMapMemory,+ pattern VkMapMemory, HS_vkMapMemory, PFN_vkMapMemory, vkMapMemory,+ vkMapMemorySafe, VkUnmapMemory, pattern VkUnmapMemory,+ HS_vkUnmapMemory, PFN_vkUnmapMemory, vkUnmapMemory,+ vkUnmapMemorySafe, VkFlushMappedMemoryRanges,+ pattern VkFlushMappedMemoryRanges, HS_vkFlushMappedMemoryRanges,+ PFN_vkFlushMappedMemoryRanges, vkFlushMappedMemoryRanges,+ vkFlushMappedMemoryRangesSafe, VkInvalidateMappedMemoryRanges,+ pattern VkInvalidateMappedMemoryRanges,+ HS_vkInvalidateMappedMemoryRanges,+ PFN_vkInvalidateMappedMemoryRanges, vkInvalidateMappedMemoryRanges,+ vkInvalidateMappedMemoryRangesSafe, VkGetDeviceMemoryCommitment,+ pattern VkGetDeviceMemoryCommitment,+ HS_vkGetDeviceMemoryCommitment, PFN_vkGetDeviceMemoryCommitment,+ vkGetDeviceMemoryCommitment, vkGetDeviceMemoryCommitmentSafe,+ module Graphics.Vulkan.Types.Struct.MappedMemoryRange,+ -- ** Memory management API commands+ VkBindBufferMemory, pattern VkBindBufferMemory,+ HS_vkBindBufferMemory, PFN_vkBindBufferMemory, vkBindBufferMemory,+ vkBindBufferMemorySafe, VkBindImageMemory,+ pattern VkBindImageMemory, HS_vkBindImageMemory,+ PFN_vkBindImageMemory, vkBindImageMemory, vkBindImageMemorySafe,+ VkGetBufferMemoryRequirements,+ pattern VkGetBufferMemoryRequirements,+ HS_vkGetBufferMemoryRequirements,+ PFN_vkGetBufferMemoryRequirements, vkGetBufferMemoryRequirements,+ vkGetBufferMemoryRequirementsSafe, VkGetImageMemoryRequirements,+ pattern VkGetImageMemoryRequirements,+ HS_vkGetImageMemoryRequirements, PFN_vkGetImageMemoryRequirements,+ vkGetImageMemoryRequirements, vkGetImageMemoryRequirementsSafe,+ -- ** Sparse resource memory management API commands+ VkGetImageSparseMemoryRequirements,+ pattern VkGetImageSparseMemoryRequirements,+ HS_vkGetImageSparseMemoryRequirements,+ PFN_vkGetImageSparseMemoryRequirements,+ vkGetImageSparseMemoryRequirements,+ vkGetImageSparseMemoryRequirementsSafe,+ VkGetPhysicalDeviceSparseImageFormatProperties,+ pattern VkGetPhysicalDeviceSparseImageFormatProperties,+ HS_vkGetPhysicalDeviceSparseImageFormatProperties,+ PFN_vkGetPhysicalDeviceSparseImageFormatProperties,+ vkGetPhysicalDeviceSparseImageFormatProperties,+ vkGetPhysicalDeviceSparseImageFormatPropertiesSafe,+ VkQueueBindSparse, pattern VkQueueBindSparse, HS_vkQueueBindSparse,+ PFN_vkQueueBindSparse, vkQueueBindSparse, vkQueueBindSparseSafe,+ module Graphics.Vulkan.Types.Enum.Sparse,+ module Graphics.Vulkan.Types.Struct.Bind,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Struct.Sparse, -- ** Fence commands+ VkCreateFence,+ pattern VkCreateFence, HS_vkCreateFence, PFN_vkCreateFence,+ vkCreateFence, vkCreateFenceSafe, VkDestroyFence,+ pattern VkDestroyFence, HS_vkDestroyFence, PFN_vkDestroyFence,+ vkDestroyFence, vkDestroyFenceSafe, VkResetFences,+ pattern VkResetFences, HS_vkResetFences, PFN_vkResetFences,+ vkResetFences, vkResetFencesSafe, VkGetFenceStatus,+ pattern VkGetFenceStatus, HS_vkGetFenceStatus,+ PFN_vkGetFenceStatus, vkGetFenceStatus, vkGetFenceStatusSafe,+ VkWaitForFences, pattern VkWaitForFences, HS_vkWaitForFences,+ PFN_vkWaitForFences, vkWaitForFences, vkWaitForFencesSafe,+ module Graphics.Vulkan.Types.Enum.Fence,+ module Graphics.Vulkan.Types.Struct.Fence, -- ** Queue semaphore commands+ VkCreateSemaphore,+ pattern VkCreateSemaphore, HS_vkCreateSemaphore,+ PFN_vkCreateSemaphore, vkCreateSemaphore, vkCreateSemaphoreSafe,+ VkDestroySemaphore, pattern VkDestroySemaphore,+ HS_vkDestroySemaphore, PFN_vkDestroySemaphore, vkDestroySemaphore,+ vkDestroySemaphoreSafe,+ module Graphics.Vulkan.Types.Struct.Semaphore, -- ** Event commands+ VkCreateEvent,+ pattern VkCreateEvent, HS_vkCreateEvent, PFN_vkCreateEvent,+ vkCreateEvent, vkCreateEventSafe, VkDestroyEvent,+ pattern VkDestroyEvent, HS_vkDestroyEvent, PFN_vkDestroyEvent,+ vkDestroyEvent, vkDestroyEventSafe, VkGetEventStatus,+ pattern VkGetEventStatus, HS_vkGetEventStatus,+ PFN_vkGetEventStatus, vkGetEventStatus, vkGetEventStatusSafe,+ VkSetEvent, pattern VkSetEvent, HS_vkSetEvent, PFN_vkSetEvent,+ vkSetEvent, vkSetEventSafe, VkResetEvent, pattern VkResetEvent,+ HS_vkResetEvent, PFN_vkResetEvent, vkResetEvent, vkResetEventSafe,+ module Graphics.Vulkan.Types.Struct.EventCreateInfo,+ -- ** Query commands+ VkCreateQueryPool, pattern VkCreateQueryPool, HS_vkCreateQueryPool,+ PFN_vkCreateQueryPool, vkCreateQueryPool, vkCreateQueryPoolSafe,+ VkDestroyQueryPool, pattern VkDestroyQueryPool,+ HS_vkDestroyQueryPool, PFN_vkDestroyQueryPool, vkDestroyQueryPool,+ vkDestroyQueryPoolSafe, VkGetQueryPoolResults,+ pattern VkGetQueryPoolResults, HS_vkGetQueryPoolResults,+ PFN_vkGetQueryPoolResults, vkGetQueryPoolResults,+ vkGetQueryPoolResultsSafe, module Graphics.Vulkan.Types.Enum.Query,+ module Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo,+ -- ** Buffer commands+ VkCreateBuffer, pattern VkCreateBuffer, HS_vkCreateBuffer,+ PFN_vkCreateBuffer, vkCreateBuffer, vkCreateBufferSafe,+ VkDestroyBuffer, pattern VkDestroyBuffer, HS_vkDestroyBuffer,+ PFN_vkDestroyBuffer, vkDestroyBuffer, vkDestroyBufferSafe,+ module Graphics.Vulkan.Types.Enum.Buffer,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Struct.Buffer, -- ** Buffer view commands+ VkCreateBufferView,+ pattern VkCreateBufferView, HS_vkCreateBufferView,+ PFN_vkCreateBufferView, vkCreateBufferView, vkCreateBufferViewSafe,+ VkDestroyBufferView, pattern VkDestroyBufferView,+ HS_vkDestroyBufferView, PFN_vkDestroyBufferView,+ vkDestroyBufferView, vkDestroyBufferViewSafe, -- ** Image commands+ VkCreateImage,+ pattern VkCreateImage, HS_vkCreateImage, PFN_vkCreateImage,+ vkCreateImage, vkCreateImageSafe, VkDestroyImage,+ pattern VkDestroyImage, HS_vkDestroyImage, PFN_vkDestroyImage,+ vkDestroyImage, vkDestroyImageSafe, VkGetImageSubresourceLayout,+ pattern VkGetImageSubresourceLayout,+ HS_vkGetImageSubresourceLayout, PFN_vkGetImageSubresourceLayout,+ vkGetImageSubresourceLayout, vkGetImageSubresourceLayoutSafe,+ module Graphics.Vulkan.Types.Struct.SubresourceLayout,+ -- ** Image view commands+ VkCreateImageView, pattern VkCreateImageView, HS_vkCreateImageView,+ PFN_vkCreateImageView, vkCreateImageView, vkCreateImageViewSafe,+ VkDestroyImageView, pattern VkDestroyImageView,+ HS_vkDestroyImageView, PFN_vkDestroyImageView, vkDestroyImageView,+ vkDestroyImageViewSafe,+ module Graphics.Vulkan.Types.Enum.ComponentSwizzle,+ module Graphics.Vulkan.Types.Struct.ComponentMapping,+ -- ** Shader commands+ VkCreateShaderModule, pattern VkCreateShaderModule,+ HS_vkCreateShaderModule, PFN_vkCreateShaderModule,+ vkCreateShaderModule, vkCreateShaderModuleSafe,+ VkDestroyShaderModule, pattern VkDestroyShaderModule,+ HS_vkDestroyShaderModule, PFN_vkDestroyShaderModule,+ vkDestroyShaderModule, vkDestroyShaderModuleSafe,+ module Graphics.Vulkan.Types.Struct.Shader, -- ** Pipeline Cache commands+ VkCreatePipelineCache,+ pattern VkCreatePipelineCache, HS_vkCreatePipelineCache,+ PFN_vkCreatePipelineCache, vkCreatePipelineCache,+ vkCreatePipelineCacheSafe, VkDestroyPipelineCache,+ pattern VkDestroyPipelineCache, HS_vkDestroyPipelineCache,+ PFN_vkDestroyPipelineCache, vkDestroyPipelineCache,+ vkDestroyPipelineCacheSafe, VkGetPipelineCacheData,+ pattern VkGetPipelineCacheData, HS_vkGetPipelineCacheData,+ PFN_vkGetPipelineCacheData, vkGetPipelineCacheData,+ vkGetPipelineCacheDataSafe, VkMergePipelineCaches,+ pattern VkMergePipelineCaches, HS_vkMergePipelineCaches,+ PFN_vkMergePipelineCaches, vkMergePipelineCaches,+ vkMergePipelineCachesSafe,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ -- ** Pipeline commands+ VkCreateGraphicsPipelines, pattern VkCreateGraphicsPipelines,+ HS_vkCreateGraphicsPipelines, PFN_vkCreateGraphicsPipelines,+ vkCreateGraphicsPipelines, vkCreateGraphicsPipelinesSafe,+ VkCreateComputePipelines, pattern VkCreateComputePipelines,+ HS_vkCreateComputePipelines, PFN_vkCreateComputePipelines,+ vkCreateComputePipelines, vkCreateComputePipelinesSafe,+ VkDestroyPipeline, pattern VkDestroyPipeline, HS_vkDestroyPipeline,+ PFN_vkDestroyPipeline, vkDestroyPipeline, vkDestroyPipelineSafe,+ module Graphics.Vulkan.Types.Enum.Blend,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompareOp,+ module Graphics.Vulkan.Types.Enum.CullModeFlags,+ module Graphics.Vulkan.Types.Enum.DynamicState,+ module Graphics.Vulkan.Types.Enum.FrontFace,+ module Graphics.Vulkan.Types.Enum.LogicOp,+ module Graphics.Vulkan.Types.Enum.PolygonMode,+ module Graphics.Vulkan.Types.Enum.PrimitiveTopology,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Enum.Stencil,+ module Graphics.Vulkan.Types.Enum.VertexInputRate,+ module Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Struct.Specialization,+ module Graphics.Vulkan.Types.Struct.StencilOpState,+ module Graphics.Vulkan.Types.Struct.VertexInput,+ module Graphics.Vulkan.Types.Struct.Viewport,+ -- ** Pipeline layout commands+ VkCreatePipelineLayout, pattern VkCreatePipelineLayout,+ HS_vkCreatePipelineLayout, PFN_vkCreatePipelineLayout,+ vkCreatePipelineLayout, vkCreatePipelineLayoutSafe,+ VkDestroyPipelineLayout, pattern VkDestroyPipelineLayout,+ HS_vkDestroyPipelineLayout, PFN_vkDestroyPipelineLayout,+ vkDestroyPipelineLayout, vkDestroyPipelineLayoutSafe,+ module Graphics.Vulkan.Types.Struct.PushConstantRange,+ -- ** Sampler commands+ VkCreateSampler, pattern VkCreateSampler, HS_vkCreateSampler,+ PFN_vkCreateSampler, vkCreateSampler, vkCreateSamplerSafe,+ VkDestroySampler, pattern VkDestroySampler, HS_vkDestroySampler,+ PFN_vkDestroySampler, vkDestroySampler, vkDestroySamplerSafe,+ module Graphics.Vulkan.Types.Enum.BorderColor,+ module Graphics.Vulkan.Types.Enum.Filter,+ module Graphics.Vulkan.Types.Enum.Sampler,+ module Graphics.Vulkan.Types.Struct.Sampler,+ -- ** Descriptor set commands+ VkCreateDescriptorSetLayout, pattern VkCreateDescriptorSetLayout,+ HS_vkCreateDescriptorSetLayout, PFN_vkCreateDescriptorSetLayout,+ vkCreateDescriptorSetLayout, vkCreateDescriptorSetLayoutSafe,+ VkDestroyDescriptorSetLayout, pattern VkDestroyDescriptorSetLayout,+ HS_vkDestroyDescriptorSetLayout, PFN_vkDestroyDescriptorSetLayout,+ vkDestroyDescriptorSetLayout, vkDestroyDescriptorSetLayoutSafe,+ VkCreateDescriptorPool, pattern VkCreateDescriptorPool,+ HS_vkCreateDescriptorPool, PFN_vkCreateDescriptorPool,+ vkCreateDescriptorPool, vkCreateDescriptorPoolSafe,+ VkDestroyDescriptorPool, pattern VkDestroyDescriptorPool,+ HS_vkDestroyDescriptorPool, PFN_vkDestroyDescriptorPool,+ vkDestroyDescriptorPool, vkDestroyDescriptorPoolSafe,+ VkResetDescriptorPool, pattern VkResetDescriptorPool,+ HS_vkResetDescriptorPool, PFN_vkResetDescriptorPool,+ vkResetDescriptorPool, vkResetDescriptorPoolSafe,+ VkAllocateDescriptorSets, pattern VkAllocateDescriptorSets,+ HS_vkAllocateDescriptorSets, PFN_vkAllocateDescriptorSets,+ vkAllocateDescriptorSets, vkAllocateDescriptorSetsSafe,+ VkFreeDescriptorSets, pattern VkFreeDescriptorSets,+ HS_vkFreeDescriptorSets, PFN_vkFreeDescriptorSets,+ vkFreeDescriptorSets, vkFreeDescriptorSetsSafe,+ VkUpdateDescriptorSets, pattern VkUpdateDescriptorSets,+ HS_vkUpdateDescriptorSets, PFN_vkUpdateDescriptorSets,+ vkUpdateDescriptorSets, vkUpdateDescriptorSetsSafe,+ module Graphics.Vulkan.Types.Enum.Descriptor,+ module Graphics.Vulkan.Types.Struct.CopyDescriptorSet,+ module Graphics.Vulkan.Types.Struct.Descriptor,+ module Graphics.Vulkan.Types.Struct.WriteDescriptorSet,+ -- ** Pass commands+ VkCreateFramebuffer, pattern VkCreateFramebuffer,+ HS_vkCreateFramebuffer, PFN_vkCreateFramebuffer,+ vkCreateFramebuffer, vkCreateFramebufferSafe, VkDestroyFramebuffer,+ pattern VkDestroyFramebuffer, HS_vkDestroyFramebuffer,+ PFN_vkDestroyFramebuffer, vkDestroyFramebuffer,+ vkDestroyFramebufferSafe, VkCreateRenderPass,+ pattern VkCreateRenderPass, HS_vkCreateRenderPass,+ PFN_vkCreateRenderPass, vkCreateRenderPass, vkCreateRenderPassSafe,+ VkDestroyRenderPass, pattern VkDestroyRenderPass,+ HS_vkDestroyRenderPass, PFN_vkDestroyRenderPass,+ vkDestroyRenderPass, vkDestroyRenderPassSafe,+ VkGetRenderAreaGranularity, pattern VkGetRenderAreaGranularity,+ HS_vkGetRenderAreaGranularity, PFN_vkGetRenderAreaGranularity,+ vkGetRenderAreaGranularity, vkGetRenderAreaGranularitySafe,+ module Graphics.Vulkan.Types.Enum.AccessFlags,+ module Graphics.Vulkan.Types.Enum.Attachment,+ module Graphics.Vulkan.Types.Enum.DependencyFlags,+ module Graphics.Vulkan.Types.Enum.Subpass,+ module Graphics.Vulkan.Types.Struct.Attachment,+ module Graphics.Vulkan.Types.Struct.FramebufferCreateInfo,+ module Graphics.Vulkan.Types.Struct.RenderPass,+ module Graphics.Vulkan.Types.Struct.Subpass, -- ** Command pool commands+ VkCreateCommandPool,+ pattern VkCreateCommandPool, HS_vkCreateCommandPool,+ PFN_vkCreateCommandPool, vkCreateCommandPool,+ vkCreateCommandPoolSafe, VkDestroyCommandPool,+ pattern VkDestroyCommandPool, HS_vkDestroyCommandPool,+ PFN_vkDestroyCommandPool, vkDestroyCommandPool,+ vkDestroyCommandPoolSafe, VkResetCommandPool,+ pattern VkResetCommandPool, HS_vkResetCommandPool,+ PFN_vkResetCommandPool, vkResetCommandPool, vkResetCommandPoolSafe,+ module Graphics.Vulkan.Types.Enum.Command,+ module Graphics.Vulkan.Types.Struct.Command,+ -- ** Command buffer commands+ VkAllocateCommandBuffers, pattern VkAllocateCommandBuffers,+ HS_vkAllocateCommandBuffers, PFN_vkAllocateCommandBuffers,+ vkAllocateCommandBuffers, vkAllocateCommandBuffersSafe,+ VkFreeCommandBuffers, pattern VkFreeCommandBuffers,+ HS_vkFreeCommandBuffers, PFN_vkFreeCommandBuffers,+ vkFreeCommandBuffers, vkFreeCommandBuffersSafe,+ VkBeginCommandBuffer, pattern VkBeginCommandBuffer,+ HS_vkBeginCommandBuffer, PFN_vkBeginCommandBuffer,+ vkBeginCommandBuffer, vkBeginCommandBufferSafe, VkEndCommandBuffer,+ pattern VkEndCommandBuffer, HS_vkEndCommandBuffer,+ PFN_vkEndCommandBuffer, vkEndCommandBuffer, vkEndCommandBufferSafe,+ VkResetCommandBuffer, pattern VkResetCommandBuffer,+ HS_vkResetCommandBuffer, PFN_vkResetCommandBuffer,+ vkResetCommandBuffer, vkResetCommandBufferSafe, -- ** Command buffer building commands+ VkCmdBindPipeline,+ pattern VkCmdBindPipeline, HS_vkCmdBindPipeline,+ PFN_vkCmdBindPipeline, vkCmdBindPipeline, vkCmdBindPipelineSafe,+ VkCmdSetViewport, pattern VkCmdSetViewport, HS_vkCmdSetViewport,+ PFN_vkCmdSetViewport, vkCmdSetViewport, vkCmdSetViewportSafe,+ VkCmdSetScissor, pattern VkCmdSetScissor, HS_vkCmdSetScissor,+ PFN_vkCmdSetScissor, vkCmdSetScissor, vkCmdSetScissorSafe,+ VkCmdSetLineWidth, pattern VkCmdSetLineWidth, HS_vkCmdSetLineWidth,+ PFN_vkCmdSetLineWidth, vkCmdSetLineWidth, vkCmdSetLineWidthSafe,+ VkCmdSetDepthBias, pattern VkCmdSetDepthBias, HS_vkCmdSetDepthBias,+ PFN_vkCmdSetDepthBias, vkCmdSetDepthBias, vkCmdSetDepthBiasSafe,+ VkCmdSetBlendConstants, pattern VkCmdSetBlendConstants,+ HS_vkCmdSetBlendConstants, PFN_vkCmdSetBlendConstants,+ vkCmdSetBlendConstants, vkCmdSetBlendConstantsSafe,+ VkCmdSetDepthBounds, pattern VkCmdSetDepthBounds,+ HS_vkCmdSetDepthBounds, PFN_vkCmdSetDepthBounds,+ vkCmdSetDepthBounds, vkCmdSetDepthBoundsSafe,+ VkCmdSetStencilCompareMask, pattern VkCmdSetStencilCompareMask,+ HS_vkCmdSetStencilCompareMask, PFN_vkCmdSetStencilCompareMask,+ vkCmdSetStencilCompareMask, vkCmdSetStencilCompareMaskSafe,+ VkCmdSetStencilWriteMask, pattern VkCmdSetStencilWriteMask,+ HS_vkCmdSetStencilWriteMask, PFN_vkCmdSetStencilWriteMask,+ vkCmdSetStencilWriteMask, vkCmdSetStencilWriteMaskSafe,+ VkCmdSetStencilReference, pattern VkCmdSetStencilReference,+ HS_vkCmdSetStencilReference, PFN_vkCmdSetStencilReference,+ vkCmdSetStencilReference, vkCmdSetStencilReferenceSafe,+ VkCmdBindDescriptorSets, pattern VkCmdBindDescriptorSets,+ HS_vkCmdBindDescriptorSets, PFN_vkCmdBindDescriptorSets,+ vkCmdBindDescriptorSets, vkCmdBindDescriptorSetsSafe,+ VkCmdBindIndexBuffer, pattern VkCmdBindIndexBuffer,+ HS_vkCmdBindIndexBuffer, PFN_vkCmdBindIndexBuffer,+ vkCmdBindIndexBuffer, vkCmdBindIndexBufferSafe,+ VkCmdBindVertexBuffers, pattern VkCmdBindVertexBuffers,+ HS_vkCmdBindVertexBuffers, PFN_vkCmdBindVertexBuffers,+ vkCmdBindVertexBuffers, vkCmdBindVertexBuffersSafe, VkCmdDraw,+ pattern VkCmdDraw, HS_vkCmdDraw, PFN_vkCmdDraw, vkCmdDraw,+ vkCmdDrawSafe, VkCmdDrawIndexed, pattern VkCmdDrawIndexed,+ HS_vkCmdDrawIndexed, PFN_vkCmdDrawIndexed, vkCmdDrawIndexed,+ vkCmdDrawIndexedSafe, VkCmdDrawIndirect, pattern VkCmdDrawIndirect,+ HS_vkCmdDrawIndirect, PFN_vkCmdDrawIndirect, vkCmdDrawIndirect,+ vkCmdDrawIndirectSafe, VkCmdDrawIndexedIndirect,+ pattern VkCmdDrawIndexedIndirect, HS_vkCmdDrawIndexedIndirect,+ PFN_vkCmdDrawIndexedIndirect, vkCmdDrawIndexedIndirect,+ vkCmdDrawIndexedIndirectSafe, VkCmdDispatch, pattern VkCmdDispatch,+ HS_vkCmdDispatch, PFN_vkCmdDispatch, vkCmdDispatch,+ vkCmdDispatchSafe, VkCmdDispatchIndirect,+ pattern VkCmdDispatchIndirect, HS_vkCmdDispatchIndirect,+ PFN_vkCmdDispatchIndirect, vkCmdDispatchIndirect,+ vkCmdDispatchIndirectSafe, VkCmdCopyBuffer,+ pattern VkCmdCopyBuffer, HS_vkCmdCopyBuffer, PFN_vkCmdCopyBuffer,+ vkCmdCopyBuffer, vkCmdCopyBufferSafe, VkCmdCopyImage,+ pattern VkCmdCopyImage, HS_vkCmdCopyImage, PFN_vkCmdCopyImage,+ vkCmdCopyImage, vkCmdCopyImageSafe, VkCmdBlitImage,+ pattern VkCmdBlitImage, HS_vkCmdBlitImage, PFN_vkCmdBlitImage,+ vkCmdBlitImage, vkCmdBlitImageSafe, VkCmdCopyBufferToImage,+ pattern VkCmdCopyBufferToImage, HS_vkCmdCopyBufferToImage,+ PFN_vkCmdCopyBufferToImage, vkCmdCopyBufferToImage,+ vkCmdCopyBufferToImageSafe, VkCmdCopyImageToBuffer,+ pattern VkCmdCopyImageToBuffer, HS_vkCmdCopyImageToBuffer,+ PFN_vkCmdCopyImageToBuffer, vkCmdCopyImageToBuffer,+ vkCmdCopyImageToBufferSafe, VkCmdUpdateBuffer,+ pattern VkCmdUpdateBuffer, HS_vkCmdUpdateBuffer,+ PFN_vkCmdUpdateBuffer, vkCmdUpdateBuffer, vkCmdUpdateBufferSafe,+ VkCmdFillBuffer, pattern VkCmdFillBuffer, HS_vkCmdFillBuffer,+ PFN_vkCmdFillBuffer, vkCmdFillBuffer, vkCmdFillBufferSafe,+ VkCmdClearColorImage, pattern VkCmdClearColorImage,+ HS_vkCmdClearColorImage, PFN_vkCmdClearColorImage,+ vkCmdClearColorImage, vkCmdClearColorImageSafe,+ VkCmdClearDepthStencilImage, pattern VkCmdClearDepthStencilImage,+ HS_vkCmdClearDepthStencilImage, PFN_vkCmdClearDepthStencilImage,+ vkCmdClearDepthStencilImage, vkCmdClearDepthStencilImageSafe,+ VkCmdClearAttachments, pattern VkCmdClearAttachments,+ HS_vkCmdClearAttachments, PFN_vkCmdClearAttachments,+ vkCmdClearAttachments, vkCmdClearAttachmentsSafe,+ VkCmdResolveImage, pattern VkCmdResolveImage, HS_vkCmdResolveImage,+ PFN_vkCmdResolveImage, vkCmdResolveImage, vkCmdResolveImageSafe,+ VkCmdSetEvent, pattern VkCmdSetEvent, HS_vkCmdSetEvent,+ PFN_vkCmdSetEvent, vkCmdSetEvent, vkCmdSetEventSafe,+ VkCmdResetEvent, pattern VkCmdResetEvent, HS_vkCmdResetEvent,+ PFN_vkCmdResetEvent, vkCmdResetEvent, vkCmdResetEventSafe,+ VkCmdWaitEvents, pattern VkCmdWaitEvents, HS_vkCmdWaitEvents,+ PFN_vkCmdWaitEvents, vkCmdWaitEvents, vkCmdWaitEventsSafe,+ VkCmdPipelineBarrier, pattern VkCmdPipelineBarrier,+ HS_vkCmdPipelineBarrier, PFN_vkCmdPipelineBarrier,+ vkCmdPipelineBarrier, vkCmdPipelineBarrierSafe, VkCmdBeginQuery,+ pattern VkCmdBeginQuery, HS_vkCmdBeginQuery, PFN_vkCmdBeginQuery,+ vkCmdBeginQuery, vkCmdBeginQuerySafe, VkCmdEndQuery,+ pattern VkCmdEndQuery, HS_vkCmdEndQuery, PFN_vkCmdEndQuery,+ vkCmdEndQuery, vkCmdEndQuerySafe, VkCmdResetQueryPool,+ pattern VkCmdResetQueryPool, HS_vkCmdResetQueryPool,+ PFN_vkCmdResetQueryPool, vkCmdResetQueryPool,+ vkCmdResetQueryPoolSafe, VkCmdWriteTimestamp,+ pattern VkCmdWriteTimestamp, HS_vkCmdWriteTimestamp,+ PFN_vkCmdWriteTimestamp, vkCmdWriteTimestamp,+ vkCmdWriteTimestampSafe, VkCmdCopyQueryPoolResults,+ pattern VkCmdCopyQueryPoolResults, HS_vkCmdCopyQueryPoolResults,+ PFN_vkCmdCopyQueryPoolResults, vkCmdCopyQueryPoolResults,+ vkCmdCopyQueryPoolResultsSafe, VkCmdPushConstants,+ pattern VkCmdPushConstants, HS_vkCmdPushConstants,+ PFN_vkCmdPushConstants, vkCmdPushConstants, vkCmdPushConstantsSafe,+ VkCmdBeginRenderPass, pattern VkCmdBeginRenderPass,+ HS_vkCmdBeginRenderPass, PFN_vkCmdBeginRenderPass,+ vkCmdBeginRenderPass, vkCmdBeginRenderPassSafe, VkCmdNextSubpass,+ pattern VkCmdNextSubpass, HS_vkCmdNextSubpass,+ PFN_vkCmdNextSubpass, vkCmdNextSubpass, vkCmdNextSubpassSafe,+ VkCmdEndRenderPass, pattern VkCmdEndRenderPass,+ HS_vkCmdEndRenderPass, PFN_vkCmdEndRenderPass, vkCmdEndRenderPass,+ vkCmdEndRenderPassSafe, VkCmdExecuteCommands,+ pattern VkCmdExecuteCommands, HS_vkCmdExecuteCommands,+ PFN_vkCmdExecuteCommands, vkCmdExecuteCommands,+ vkCmdExecuteCommandsSafe,+ module Graphics.Vulkan.Types.Enum.IndexType,+ module Graphics.Vulkan.Types.Struct.Clear,+ -- ** Types not directly used by the API. Include e.g. structs that are not parameter types of commands, but still defined by the API.+ module Graphics.Vulkan.Types.Struct.DispatchIndirectCommand,+ module Graphics.Vulkan.Types.Struct.DrawInd,+ module Graphics.Vulkan.Types.Enum.Object)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_ATTACHMENT_UNUSED,+ pattern VK_FALSE,+ pattern VK_LOD_CLAMP_NONE,+ pattern VK_QUEUE_FAMILY_IGNORED,+ pattern VK_REMAINING_ARRAY_LAYERS,+ pattern VK_REMAINING_MIP_LEVELS,+ pattern VK_SUBPASS_EXTERNAL,+ pattern VK_TRUE,+ pattern VK_WHOLE_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Bitmasks+import Graphics.Vulkan.Types.Enum.AccessFlags+import Graphics.Vulkan.Types.Enum.Attachment+import Graphics.Vulkan.Types.Enum.Blend+import Graphics.Vulkan.Types.Enum.BorderColor+import Graphics.Vulkan.Types.Enum.Buffer+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.Command+import Graphics.Vulkan.Types.Enum.CompareOp+import Graphics.Vulkan.Types.Enum.ComponentSwizzle+import Graphics.Vulkan.Types.Enum.CullModeFlags+import Graphics.Vulkan.Types.Enum.DependencyFlags+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.DynamicState+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.FrontFace+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.IndexType+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.LogicOp+import Graphics.Vulkan.Types.Enum.Memory+import Graphics.Vulkan.Types.Enum.Object+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.PolygonMode+import Graphics.Vulkan.Types.Enum.PrimitiveTopology+import Graphics.Vulkan.Types.Enum.Query+import Graphics.Vulkan.Types.Enum.Queue+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.Sparse+import Graphics.Vulkan.Types.Enum.Stencil+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Subpass+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Enum.VertexInputRate+import Graphics.Vulkan.Types.Funcpointers+import Graphics.Vulkan.Types.Handles+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.ApplicationInfo+import Graphics.Vulkan.Types.Struct.Attachment+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Buffer+import Graphics.Vulkan.Types.Struct.Clear+import Graphics.Vulkan.Types.Struct.Command+import Graphics.Vulkan.Types.Struct.ComponentMapping+import Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo+import Graphics.Vulkan.Types.Struct.CopyDescriptorSet+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.DispatchIndirectCommand+import Graphics.Vulkan.Types.Struct.DrawInd+import Graphics.Vulkan.Types.Struct.EventCreateInfo+import Graphics.Vulkan.Types.Struct.ExtensionProperties+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Fence+import Graphics.Vulkan.Types.Struct.FormatProperties+import Graphics.Vulkan.Types.Struct.FramebufferCreateInfo+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo+import Graphics.Vulkan.Types.Struct.LayerProperties+import Graphics.Vulkan.Types.Struct.MappedMemoryRange+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.PushConstantRange+import Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo+import Graphics.Vulkan.Types.Struct.QueueFamilyProperties+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.RenderPass+import Graphics.Vulkan.Types.Struct.Sampler+import Graphics.Vulkan.Types.Struct.Semaphore+import Graphics.Vulkan.Types.Struct.Shader+import Graphics.Vulkan.Types.Struct.Sparse+import Graphics.Vulkan.Types.Struct.Specialization+import Graphics.Vulkan.Types.Struct.StencilOpState+import Graphics.Vulkan.Types.Struct.SubmitInfo+import Graphics.Vulkan.Types.Struct.Subpass+import Graphics.Vulkan.Types.Struct.SubresourceLayout+import Graphics.Vulkan.Types.Struct.VertexInput+import Graphics.Vulkan.Types.Struct.Viewport+import Graphics.Vulkan.Types.Struct.WriteDescriptorSet+import System.IO.Unsafe (unsafeDupablePerformIO)++pattern VkCreateInstance :: CString++pattern VkCreateInstance <- (is_VkCreateInstance -> True)+ where VkCreateInstance = _VkCreateInstance++{-# INLINE _VkCreateInstance #-}++_VkCreateInstance :: CString+_VkCreateInstance = Ptr "vkCreateInstance\NUL"##++{-# INLINE is_VkCreateInstance #-}++is_VkCreateInstance :: CString -> Bool+is_VkCreateInstance = (EQ ==) . cmpCStrings _VkCreateInstance++type VkCreateInstance = "vkCreateInstance"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- > ( const VkInstanceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkInstance* pInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateInstance" vkCreateInstance ::+ Ptr VkInstanceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkInstance -- ^ pInstance+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- > ( const VkInstanceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkInstance* pInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateInstanceSafe@ and @vkCreateInstance@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL+--+-- or less efficient:+--+-- > myCreateInstance <- vkGetProc @VkCreateInstance+--+vkCreateInstance ::+ Ptr VkInstanceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkInstance -- ^ pInstance+ -> IO VkResult+vkCreateInstance+ = unsafeDupablePerformIO (vkGetProc @VkCreateInstance)++{-# NOINLINE vkCreateInstance #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- > ( const VkInstanceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkInstance* pInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateInstance" vkCreateInstanceSafe+ ::+ Ptr VkInstanceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkInstance -- ^ pInstance+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- > ( const VkInstanceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkInstance* pInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateInstanceSafe@ and @vkCreateInstance@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateInstance <- vkGetInstanceProc @VkCreateInstance VK_NULL+--+-- or less efficient:+--+-- > myCreateInstance <- vkGetProc @VkCreateInstance+--+vkCreateInstanceSafe ::+ Ptr VkInstanceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkInstance -- ^ pInstance+ -> IO VkResult+vkCreateInstanceSafe = vkCreateInstance++{-# INLINE vkCreateInstanceSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_LAYER_NOT_PRESENT', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_INCOMPATIBLE_DRIVER'.+--+-- > VkResult vkCreateInstance+-- > ( const VkInstanceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkInstance* pInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateInstance vkCreateInstance registry at www.khronos.org>+type HS_vkCreateInstance =+ Ptr VkInstanceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkInstance -- ^ pInstance+ -> IO VkResult++type PFN_vkCreateInstance = FunPtr HS_vkCreateInstance++foreign import ccall "dynamic" unwrapVkCreateInstance ::+ PFN_vkCreateInstance -> HS_vkCreateInstance++instance VulkanProc "vkCreateInstance" where+ type VkProcType "vkCreateInstance" = HS_vkCreateInstance+ vkProcSymbol = _VkCreateInstance++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateInstance++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyInstance :: CString++pattern VkDestroyInstance <- (is_VkDestroyInstance -> True)+ where VkDestroyInstance = _VkDestroyInstance++{-# INLINE _VkDestroyInstance #-}++_VkDestroyInstance :: CString+_VkDestroyInstance = Ptr "vkDestroyInstance\NUL"##++{-# INLINE is_VkDestroyInstance #-}++is_VkDestroyInstance :: CString -> Bool+is_VkDestroyInstance = (EQ ==) . cmpCStrings _VkDestroyInstance++type VkDestroyInstance = "vkDestroyInstance"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyInstance+-- > ( VkInstance instance+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyInstance" vkDestroyInstance+ :: VkInstance -- ^ instance+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyInstance+-- > ( VkInstance instance+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyInstanceSafe@ and @vkDestroyInstance@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance+--+-- or less efficient:+--+-- > myDestroyInstance <- vkGetProc @VkDestroyInstance+--+vkDestroyInstance ::+ VkInstance -- ^ instance+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyInstance+ = unsafeDupablePerformIO (vkGetProc @VkDestroyInstance)++{-# NOINLINE vkDestroyInstance #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyInstance+-- > ( VkInstance instance+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyInstance" vkDestroyInstanceSafe+ :: VkInstance -- ^ instance+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyInstance+-- > ( VkInstance instance+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyInstanceSafe@ and @vkDestroyInstance@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyInstance <- vkGetInstanceProc @VkDestroyInstance vkInstance+--+-- or less efficient:+--+-- > myDestroyInstance <- vkGetProc @VkDestroyInstance+--+vkDestroyInstanceSafe ::+ VkInstance -- ^ instance+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyInstanceSafe = vkDestroyInstance++{-# INLINE vkDestroyInstanceSafe #-}+##endif++-- | > void vkDestroyInstance+-- > ( VkInstance instance+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyInstance vkDestroyInstance registry at www.khronos.org>+type HS_vkDestroyInstance =+ VkInstance -- ^ instance+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyInstance = FunPtr HS_vkDestroyInstance++foreign import ccall "dynamic" unwrapVkDestroyInstance ::+ PFN_vkDestroyInstance -> HS_vkDestroyInstance++instance VulkanProc "vkDestroyInstance" where+ type VkProcType "vkDestroyInstance" = HS_vkDestroyInstance+ vkProcSymbol = _VkDestroyInstance++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyInstance++ {-# INLINE unwrapVkProcPtr #-}++pattern VkEnumeratePhysicalDevices :: CString++pattern VkEnumeratePhysicalDevices <-+ (is_VkEnumeratePhysicalDevices -> True)+ where VkEnumeratePhysicalDevices = _VkEnumeratePhysicalDevices++{-# INLINE _VkEnumeratePhysicalDevices #-}++_VkEnumeratePhysicalDevices :: CString+_VkEnumeratePhysicalDevices = Ptr "vkEnumeratePhysicalDevices\NUL"##++{-# INLINE is_VkEnumeratePhysicalDevices #-}++is_VkEnumeratePhysicalDevices :: CString -> Bool+is_VkEnumeratePhysicalDevices+ = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDevices++type VkEnumeratePhysicalDevices = "vkEnumeratePhysicalDevices"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceCount+-- > , VkPhysicalDevice* pPhysicalDevices+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEnumeratePhysicalDevices"+ vkEnumeratePhysicalDevices ::+ VkInstance -- ^ instance+ -> Ptr Word32 -- ^ pPhysicalDeviceCount+ -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceCount+-- > , VkPhysicalDevice* pPhysicalDevices+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumeratePhysicalDevicesSafe@ and @vkEnumeratePhysicalDevices@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices+--+vkEnumeratePhysicalDevices ::+ VkInstance -- ^ instance+ -> Ptr Word32 -- ^ pPhysicalDeviceCount+ -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+ -> IO VkResult+vkEnumeratePhysicalDevices+ = unsafeDupablePerformIO (vkGetProc @VkEnumeratePhysicalDevices)++{-# NOINLINE vkEnumeratePhysicalDevices #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceCount+-- > , VkPhysicalDevice* pPhysicalDevices+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumeratePhysicalDevices"+ vkEnumeratePhysicalDevicesSafe ::+ VkInstance -- ^ instance+ -> Ptr Word32 -- ^ pPhysicalDeviceCount+ -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceCount+-- > , VkPhysicalDevice* pPhysicalDevices+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumeratePhysicalDevicesSafe@ and @vkEnumeratePhysicalDevices@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDevices <- vkGetInstanceProc @VkEnumeratePhysicalDevices vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDevices <- vkGetProc @VkEnumeratePhysicalDevices+--+vkEnumeratePhysicalDevicesSafe ::+ VkInstance -- ^ instance+ -> Ptr Word32 -- ^ pPhysicalDeviceCount+ -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+ -> IO VkResult+vkEnumeratePhysicalDevicesSafe = vkEnumeratePhysicalDevices++{-# INLINE vkEnumeratePhysicalDevicesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDevices+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceCount+-- > , VkPhysicalDevice* pPhysicalDevices+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices registry at www.khronos.org>+type HS_vkEnumeratePhysicalDevices =+ VkInstance -- ^ instance+ -> Ptr Word32 -- ^ pPhysicalDeviceCount+ -> Ptr VkPhysicalDevice -- ^ pPhysicalDevices+ -> IO VkResult++type PFN_vkEnumeratePhysicalDevices =+ FunPtr HS_vkEnumeratePhysicalDevices++foreign import ccall "dynamic" unwrapVkEnumeratePhysicalDevices ::+ PFN_vkEnumeratePhysicalDevices -> HS_vkEnumeratePhysicalDevices++instance VulkanProc "vkEnumeratePhysicalDevices" where+ type VkProcType "vkEnumeratePhysicalDevices" =+ HS_vkEnumeratePhysicalDevices+ vkProcSymbol = _VkEnumeratePhysicalDevices++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumeratePhysicalDevices++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceFeatures :: CString++pattern VkGetPhysicalDeviceFeatures <-+ (is_VkGetPhysicalDeviceFeatures -> True)+ where VkGetPhysicalDeviceFeatures = _VkGetPhysicalDeviceFeatures++{-# INLINE _VkGetPhysicalDeviceFeatures #-}++_VkGetPhysicalDeviceFeatures :: CString+_VkGetPhysicalDeviceFeatures+ = Ptr "vkGetPhysicalDeviceFeatures\NUL"##++{-# INLINE is_VkGetPhysicalDeviceFeatures #-}++is_VkGetPhysicalDeviceFeatures :: CString -> Bool+is_VkGetPhysicalDeviceFeatures+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures++type VkGetPhysicalDeviceFeatures = "vkGetPhysicalDeviceFeatures"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceFeatures+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures"+ vkGetPhysicalDeviceFeatures ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceFeatures+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFeaturesSafe@ and @vkGetPhysicalDeviceFeatures@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures+--+vkGetPhysicalDeviceFeatures ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+ -> IO ()+vkGetPhysicalDeviceFeatures+ = unsafeDupablePerformIO (vkGetProc @VkGetPhysicalDeviceFeatures)++{-# NOINLINE vkGetPhysicalDeviceFeatures #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceFeatures+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceFeatures"+ vkGetPhysicalDeviceFeaturesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceFeatures+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFeaturesSafe@ and @vkGetPhysicalDeviceFeatures@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures <- vkGetProc @VkGetPhysicalDeviceFeatures+--+vkGetPhysicalDeviceFeaturesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+ -> IO ()+vkGetPhysicalDeviceFeaturesSafe = vkGetPhysicalDeviceFeatures++{-# INLINE vkGetPhysicalDeviceFeaturesSafe #-}+##endif++-- | > void vkGetPhysicalDeviceFeatures+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFeatures =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures -- ^ pFeatures+ -> IO ()++type PFN_vkGetPhysicalDeviceFeatures =+ FunPtr HS_vkGetPhysicalDeviceFeatures++foreign import ccall "dynamic" unwrapVkGetPhysicalDeviceFeatures ::+ PFN_vkGetPhysicalDeviceFeatures -> HS_vkGetPhysicalDeviceFeatures++instance VulkanProc "vkGetPhysicalDeviceFeatures" where+ type VkProcType "vkGetPhysicalDeviceFeatures" =+ HS_vkGetPhysicalDeviceFeatures+ vkProcSymbol = _VkGetPhysicalDeviceFeatures++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFeatures++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceFormatProperties :: CString++pattern VkGetPhysicalDeviceFormatProperties <-+ (is_VkGetPhysicalDeviceFormatProperties -> True)+ where VkGetPhysicalDeviceFormatProperties+ = _VkGetPhysicalDeviceFormatProperties++{-# INLINE _VkGetPhysicalDeviceFormatProperties #-}++_VkGetPhysicalDeviceFormatProperties :: CString+_VkGetPhysicalDeviceFormatProperties+ = Ptr "vkGetPhysicalDeviceFormatProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceFormatProperties #-}++is_VkGetPhysicalDeviceFormatProperties :: CString -> Bool+is_VkGetPhysicalDeviceFormatProperties+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties++type VkGetPhysicalDeviceFormatProperties =+ "vkGetPhysicalDeviceFormatProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties"+ vkGetPhysicalDeviceFormatProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties -- ^ pFormatProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFormatPropertiesSafe@ and @vkGetPhysicalDeviceFormatProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties+--+vkGetPhysicalDeviceFormatProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties -- ^ pFormatProperties+ -> IO ()+vkGetPhysicalDeviceFormatProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceFormatProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties"+ vkGetPhysicalDeviceFormatPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties -- ^ pFormatProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFormatPropertiesSafe@ and @vkGetPhysicalDeviceFormatProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties <- vkGetProc @VkGetPhysicalDeviceFormatProperties+--+vkGetPhysicalDeviceFormatPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ -> Ptr VkFormatProperties -- ^ pFormatProperties+ -> IO ()+vkGetPhysicalDeviceFormatPropertiesSafe+ = vkGetPhysicalDeviceFormatProperties++{-# INLINE vkGetPhysicalDeviceFormatPropertiesSafe #-}+##endif++-- | > void vkGetPhysicalDeviceFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFormatProperties =+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties -- ^ pFormatProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceFormatProperties =+ FunPtr HS_vkGetPhysicalDeviceFormatProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceFormatProperties ::+ PFN_vkGetPhysicalDeviceFormatProperties ->+ HS_vkGetPhysicalDeviceFormatProperties++instance VulkanProc "vkGetPhysicalDeviceFormatProperties" where+ type VkProcType "vkGetPhysicalDeviceFormatProperties" =+ HS_vkGetPhysicalDeviceFormatProperties+ vkProcSymbol = _VkGetPhysicalDeviceFormatProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFormatProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceImageFormatProperties :: CString++pattern VkGetPhysicalDeviceImageFormatProperties <-+ (is_VkGetPhysicalDeviceImageFormatProperties -> True)+ where VkGetPhysicalDeviceImageFormatProperties+ = _VkGetPhysicalDeviceImageFormatProperties++{-# INLINE _VkGetPhysicalDeviceImageFormatProperties #-}++_VkGetPhysicalDeviceImageFormatProperties :: CString+_VkGetPhysicalDeviceImageFormatProperties+ = Ptr "vkGetPhysicalDeviceImageFormatProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties #-}++is_VkGetPhysicalDeviceImageFormatProperties :: CString -> Bool+is_VkGetPhysicalDeviceImageFormatProperties+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceImageFormatProperties++type VkGetPhysicalDeviceImageFormatProperties =+ "vkGetPhysicalDeviceImageFormatProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkImageTiling tiling+-- > , VkImageUsageFlags usage+-- > , VkImageCreateFlags flags+-- > , VkImageFormatProperties* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceImageFormatProperties"+ vkGetPhysicalDeviceImageFormatProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkImageTiling -- ^ tiling+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageCreateFlags -- ^ flags+ -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkImageTiling tiling+-- > , VkImageUsageFlags usage+-- > , VkImageCreateFlags flags+-- > , VkImageFormatProperties* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceImageFormatPropertiesSafe@ and @vkGetPhysicalDeviceImageFormatProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties+--+vkGetPhysicalDeviceImageFormatProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkImageTiling -- ^ tiling+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageCreateFlags -- ^ flags+ ->+ Ptr VkImageFormatProperties -- ^ pImageFormatProperties+ -> IO VkResult+vkGetPhysicalDeviceImageFormatProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceImageFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkImageTiling tiling+-- > , VkImageUsageFlags usage+-- > , VkImageCreateFlags flags+-- > , VkImageFormatProperties* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceImageFormatProperties"+ vkGetPhysicalDeviceImageFormatPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkImageTiling -- ^ tiling+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageCreateFlags -- ^ flags+ -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkImageTiling tiling+-- > , VkImageUsageFlags usage+-- > , VkImageCreateFlags flags+-- > , VkImageFormatProperties* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceImageFormatPropertiesSafe@ and @vkGetPhysicalDeviceImageFormatProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties+--+vkGetPhysicalDeviceImageFormatPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkImageTiling -- ^ tiling+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageCreateFlags -- ^ flags+ ->+ Ptr VkImageFormatProperties -- ^ pImageFormatProperties+ -> IO VkResult+vkGetPhysicalDeviceImageFormatPropertiesSafe+ = vkGetPhysicalDeviceImageFormatProperties++{-# INLINE vkGetPhysicalDeviceImageFormatPropertiesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkImageTiling tiling+-- > , VkImageUsageFlags usage+-- > , VkImageCreateFlags flags+-- > , VkImageFormatProperties* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceImageFormatProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkImageTiling -- ^ tiling+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageCreateFlags -- ^ flags+ -> Ptr VkImageFormatProperties -- ^ pImageFormatProperties+ -> IO VkResult++type PFN_vkGetPhysicalDeviceImageFormatProperties =+ FunPtr HS_vkGetPhysicalDeviceImageFormatProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceImageFormatProperties ::+ PFN_vkGetPhysicalDeviceImageFormatProperties ->+ HS_vkGetPhysicalDeviceImageFormatProperties++instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties"+ where+ type VkProcType "vkGetPhysicalDeviceImageFormatProperties" =+ HS_vkGetPhysicalDeviceImageFormatProperties+ vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceImageFormatProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceProperties :: CString++pattern VkGetPhysicalDeviceProperties <-+ (is_VkGetPhysicalDeviceProperties -> True)+ where VkGetPhysicalDeviceProperties+ = _VkGetPhysicalDeviceProperties++{-# INLINE _VkGetPhysicalDeviceProperties #-}++_VkGetPhysicalDeviceProperties :: CString+_VkGetPhysicalDeviceProperties+ = Ptr "vkGetPhysicalDeviceProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceProperties #-}++is_VkGetPhysicalDeviceProperties :: CString -> Bool+is_VkGetPhysicalDeviceProperties+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties++type VkGetPhysicalDeviceProperties =+ "vkGetPhysicalDeviceProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceProperties"+ vkGetPhysicalDeviceProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDevicePropertiesSafe@ and @vkGetPhysicalDeviceProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties+--+vkGetPhysicalDeviceProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+ -> IO ()+vkGetPhysicalDeviceProperties+ = unsafeDupablePerformIO (vkGetProc @VkGetPhysicalDeviceProperties)++{-# NOINLINE vkGetPhysicalDeviceProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceProperties"+ vkGetPhysicalDevicePropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDevicePropertiesSafe@ and @vkGetPhysicalDeviceProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties <- vkGetProc @VkGetPhysicalDeviceProperties+--+vkGetPhysicalDevicePropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+ -> IO ()+vkGetPhysicalDevicePropertiesSafe = vkGetPhysicalDeviceProperties++{-# INLINE vkGetPhysicalDevicePropertiesSafe #-}+##endif++-- | > void vkGetPhysicalDeviceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceProperties =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties -- ^ pProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceProperties =+ FunPtr HS_vkGetPhysicalDeviceProperties++foreign import ccall "dynamic" unwrapVkGetPhysicalDeviceProperties+ ::+ PFN_vkGetPhysicalDeviceProperties ->+ HS_vkGetPhysicalDeviceProperties++instance VulkanProc "vkGetPhysicalDeviceProperties" where+ type VkProcType "vkGetPhysicalDeviceProperties" =+ HS_vkGetPhysicalDeviceProperties+ vkProcSymbol = _VkGetPhysicalDeviceProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceQueueFamilyProperties :: CString++pattern VkGetPhysicalDeviceQueueFamilyProperties <-+ (is_VkGetPhysicalDeviceQueueFamilyProperties -> True)+ where VkGetPhysicalDeviceQueueFamilyProperties+ = _VkGetPhysicalDeviceQueueFamilyProperties++{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties #-}++_VkGetPhysicalDeviceQueueFamilyProperties :: CString+_VkGetPhysicalDeviceQueueFamilyProperties+ = Ptr "vkGetPhysicalDeviceQueueFamilyProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties #-}++is_VkGetPhysicalDeviceQueueFamilyProperties :: CString -> Bool+is_VkGetPhysicalDeviceQueueFamilyProperties+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties++type VkGetPhysicalDeviceQueueFamilyProperties =+ "vkGetPhysicalDeviceQueueFamilyProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceQueueFamilyProperties"+ vkGetPhysicalDeviceQueueFamilyProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ and @vkGetPhysicalDeviceQueueFamilyProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties+--+vkGetPhysicalDeviceQueueFamilyProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+ -> IO ()+vkGetPhysicalDeviceQueueFamilyProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties)++{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceQueueFamilyProperties"+ vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceQueueFamilyPropertiesSafe@ and @vkGetPhysicalDeviceQueueFamilyProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties+--+vkGetPhysicalDeviceQueueFamilyPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+ -> IO ()+vkGetPhysicalDeviceQueueFamilyPropertiesSafe+ = vkGetPhysicalDeviceQueueFamilyProperties++{-# INLINE vkGetPhysicalDeviceQueueFamilyPropertiesSafe #-}+##endif++-- | > void vkGetPhysicalDeviceQueueFamilyProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceQueueFamilyProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties -- ^ pQueueFamilyProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceQueueFamilyProperties =+ FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceQueueFamilyProperties ::+ PFN_vkGetPhysicalDeviceQueueFamilyProperties ->+ HS_vkGetPhysicalDeviceQueueFamilyProperties++instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties"+ where+ type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties" =+ HS_vkGetPhysicalDeviceQueueFamilyProperties+ vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceQueueFamilyProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceMemoryProperties :: CString++pattern VkGetPhysicalDeviceMemoryProperties <-+ (is_VkGetPhysicalDeviceMemoryProperties -> True)+ where VkGetPhysicalDeviceMemoryProperties+ = _VkGetPhysicalDeviceMemoryProperties++{-# INLINE _VkGetPhysicalDeviceMemoryProperties #-}++_VkGetPhysicalDeviceMemoryProperties :: CString+_VkGetPhysicalDeviceMemoryProperties+ = Ptr "vkGetPhysicalDeviceMemoryProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceMemoryProperties #-}++is_VkGetPhysicalDeviceMemoryProperties :: CString -> Bool+is_VkGetPhysicalDeviceMemoryProperties+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties++type VkGetPhysicalDeviceMemoryProperties =+ "vkGetPhysicalDeviceMemoryProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties"+ vkGetPhysicalDeviceMemoryProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceMemoryPropertiesSafe@ and @vkGetPhysicalDeviceMemoryProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties+--+vkGetPhysicalDeviceMemoryProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+ -> IO ()+vkGetPhysicalDeviceMemoryProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceMemoryProperties)++{-# NOINLINE vkGetPhysicalDeviceMemoryProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties"+ vkGetPhysicalDeviceMemoryPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceMemoryProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceMemoryPropertiesSafe@ and @vkGetPhysicalDeviceMemoryProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties <- vkGetProc @VkGetPhysicalDeviceMemoryProperties+--+vkGetPhysicalDeviceMemoryPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+ -> IO ()+vkGetPhysicalDeviceMemoryPropertiesSafe+ = vkGetPhysicalDeviceMemoryProperties++{-# INLINE vkGetPhysicalDeviceMemoryPropertiesSafe #-}+##endif++-- | > void vkGetPhysicalDeviceMemoryProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMemoryProperties =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties -- ^ pMemoryProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceMemoryProperties =+ FunPtr HS_vkGetPhysicalDeviceMemoryProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceMemoryProperties ::+ PFN_vkGetPhysicalDeviceMemoryProperties ->+ HS_vkGetPhysicalDeviceMemoryProperties++instance VulkanProc "vkGetPhysicalDeviceMemoryProperties" where+ type VkProcType "vkGetPhysicalDeviceMemoryProperties" =+ HS_vkGetPhysicalDeviceMemoryProperties+ vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMemoryProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetInstanceProcAddr :: CString++pattern VkGetInstanceProcAddr <- (is_VkGetInstanceProcAddr -> True)+ where VkGetInstanceProcAddr = _VkGetInstanceProcAddr++{-# INLINE _VkGetInstanceProcAddr #-}++_VkGetInstanceProcAddr :: CString+_VkGetInstanceProcAddr = Ptr "vkGetInstanceProcAddr\NUL"##++{-# INLINE is_VkGetInstanceProcAddr #-}++is_VkGetInstanceProcAddr :: CString -> Bool+is_VkGetInstanceProcAddr+ = (EQ ==) . cmpCStrings _VkGetInstanceProcAddr++type VkGetInstanceProcAddr = "vkGetInstanceProcAddr"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- > ( VkInstance instance+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetInstanceProcAddr"+ vkGetInstanceProcAddr ::+ VkInstance -- ^ instance+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction++##else+-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- > ( VkInstance instance+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetInstanceProcAddrSafe@ and @vkGetInstanceProcAddr@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance+--+-- or less efficient:+--+-- > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr+--+vkGetInstanceProcAddr ::+ VkInstance -- ^ instance+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction+vkGetInstanceProcAddr+ = unsafeDupablePerformIO (vkGetProc @VkGetInstanceProcAddr)++{-# NOINLINE vkGetInstanceProcAddr #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- > ( VkInstance instance+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetInstanceProcAddr"+ vkGetInstanceProcAddrSafe ::+ VkInstance -- ^ instance+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction++##else+-- |+-- > PFN_vkVoidFunction vkGetInstanceProcAddr+-- > ( VkInstance instance+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetInstanceProcAddrSafe@ and @vkGetInstanceProcAddr@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetInstanceProcAddr <- vkGetInstanceProc @VkGetInstanceProcAddr vkInstance+--+-- or less efficient:+--+-- > myGetInstanceProcAddr <- vkGetProc @VkGetInstanceProcAddr+--+vkGetInstanceProcAddrSafe ::+ VkInstance -- ^ instance+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction+vkGetInstanceProcAddrSafe = vkGetInstanceProcAddr++{-# INLINE vkGetInstanceProcAddrSafe #-}+##endif++-- | > PFN_vkVoidFunction vkGetInstanceProcAddr+-- > ( VkInstance instance+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetInstanceProcAddr vkGetInstanceProcAddr registry at www.khronos.org>+type HS_vkGetInstanceProcAddr =+ VkInstance -- ^ instance+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction++type PFN_vkGetInstanceProcAddr = FunPtr HS_vkGetInstanceProcAddr++foreign import ccall "dynamic" unwrapVkGetInstanceProcAddr ::+ PFN_vkGetInstanceProcAddr -> HS_vkGetInstanceProcAddr++instance VulkanProc "vkGetInstanceProcAddr" where+ type VkProcType "vkGetInstanceProcAddr" = HS_vkGetInstanceProcAddr+ vkProcSymbol = _VkGetInstanceProcAddr++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetInstanceProcAddr++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDeviceProcAddr :: CString++pattern VkGetDeviceProcAddr <- (is_VkGetDeviceProcAddr -> True)+ where VkGetDeviceProcAddr = _VkGetDeviceProcAddr++{-# INLINE _VkGetDeviceProcAddr #-}++_VkGetDeviceProcAddr :: CString+_VkGetDeviceProcAddr = Ptr "vkGetDeviceProcAddr\NUL"##++{-# INLINE is_VkGetDeviceProcAddr #-}++is_VkGetDeviceProcAddr :: CString -> Bool+is_VkGetDeviceProcAddr = (EQ ==) . cmpCStrings _VkGetDeviceProcAddr++type VkGetDeviceProcAddr = "vkGetDeviceProcAddr"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- > ( VkDevice device+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDeviceProcAddr"+ vkGetDeviceProcAddr :: VkDevice -- ^ device+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction++##else+-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- > ( VkDevice device+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceProcAddrSafe@ and @vkGetDeviceProcAddr@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice+--+-- or less efficient:+--+-- > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr+--+vkGetDeviceProcAddr :: VkDevice -- ^ device+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction+vkGetDeviceProcAddr+ = unsafeDupablePerformIO (vkGetProc @VkGetDeviceProcAddr)++{-# NOINLINE vkGetDeviceProcAddr #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- > ( VkDevice device+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceProcAddr"+ vkGetDeviceProcAddrSafe ::+ VkDevice -- ^ device+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction++##else+-- |+-- > PFN_vkVoidFunction vkGetDeviceProcAddr+-- > ( VkDevice device+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceProcAddrSafe@ and @vkGetDeviceProcAddr@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceProcAddr <- vkGetDeviceProc @VkGetDeviceProcAddr vkDevice+--+-- or less efficient:+--+-- > myGetDeviceProcAddr <- vkGetProc @VkGetDeviceProcAddr+--+vkGetDeviceProcAddrSafe ::+ VkDevice -- ^ device+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction+vkGetDeviceProcAddrSafe = vkGetDeviceProcAddr++{-# INLINE vkGetDeviceProcAddrSafe #-}+##endif++-- | > PFN_vkVoidFunction vkGetDeviceProcAddr+-- > ( VkDevice device+-- > , const char* pName+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceProcAddr vkGetDeviceProcAddr registry at www.khronos.org>+type HS_vkGetDeviceProcAddr =+ VkDevice -- ^ device+ -> CString -- ^ pName+ -> IO PFN_vkVoidFunction++type PFN_vkGetDeviceProcAddr = FunPtr HS_vkGetDeviceProcAddr++foreign import ccall "dynamic" unwrapVkGetDeviceProcAddr ::+ PFN_vkGetDeviceProcAddr -> HS_vkGetDeviceProcAddr++instance VulkanProc "vkGetDeviceProcAddr" where+ type VkProcType "vkGetDeviceProcAddr" = HS_vkGetDeviceProcAddr+ vkProcSymbol = _VkGetDeviceProcAddr++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceProcAddr++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateDevice :: CString++pattern VkCreateDevice <- (is_VkCreateDevice -> True)+ where VkCreateDevice = _VkCreateDevice++{-# INLINE _VkCreateDevice #-}++_VkCreateDevice :: CString+_VkCreateDevice = Ptr "vkCreateDevice\NUL"##++{-# INLINE is_VkCreateDevice #-}++is_VkCreateDevice :: CString -> Bool+is_VkCreateDevice = (EQ ==) . cmpCStrings _VkCreateDevice++type VkCreateDevice = "vkCreateDevice"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkDeviceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDevice* pDevice+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateDevice" vkCreateDevice ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkDeviceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDevice -- ^ pDevice+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkDeviceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDevice* pDevice+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDeviceSafe@ and @vkCreateDevice@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance+--+-- or less efficient:+--+-- > myCreateDevice <- vkGetProc @VkCreateDevice+--+vkCreateDevice ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkDeviceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDevice -- ^ pDevice+ -> IO VkResult+vkCreateDevice = unsafeDupablePerformIO (vkGetProc @VkCreateDevice)++{-# NOINLINE vkCreateDevice #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkDeviceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDevice* pDevice+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateDevice" vkCreateDeviceSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkDeviceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDevice -- ^ pDevice+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkDeviceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDevice* pDevice+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDeviceSafe@ and @vkCreateDevice@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDevice <- vkGetInstanceProc @VkCreateDevice vkInstance+--+-- or less efficient:+--+-- > myCreateDevice <- vkGetProc @VkCreateDevice+--+vkCreateDeviceSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkDeviceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDevice -- ^ pDevice+ -> IO VkResult+vkCreateDeviceSafe = vkCreateDevice++{-# INLINE vkCreateDeviceSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED', 'VK_ERROR_EXTENSION_NOT_PRESENT', 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkCreateDevice+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkDeviceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDevice* pDevice+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDevice vkCreateDevice registry at www.khronos.org>+type HS_vkCreateDevice =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkDeviceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDevice -- ^ pDevice+ -> IO VkResult++type PFN_vkCreateDevice = FunPtr HS_vkCreateDevice++foreign import ccall "dynamic" unwrapVkCreateDevice ::+ PFN_vkCreateDevice -> HS_vkCreateDevice++instance VulkanProc "vkCreateDevice" where+ type VkProcType "vkCreateDevice" = HS_vkCreateDevice+ vkProcSymbol = _VkCreateDevice++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDevice++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDevice :: CString++pattern VkDestroyDevice <- (is_VkDestroyDevice -> True)+ where VkDestroyDevice = _VkDestroyDevice++{-# INLINE _VkDestroyDevice #-}++_VkDestroyDevice :: CString+_VkDestroyDevice = Ptr "vkDestroyDevice\NUL"##++{-# INLINE is_VkDestroyDevice #-}++is_VkDestroyDevice :: CString -> Bool+is_VkDestroyDevice = (EQ ==) . cmpCStrings _VkDestroyDevice++type VkDestroyDevice = "vkDestroyDevice"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyDevice+-- > ( VkDevice device+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyDevice" vkDestroyDevice ::+ VkDevice -- ^ device+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyDevice+-- > ( VkDevice device+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDeviceSafe@ and @vkDestroyDevice@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice+--+-- or less efficient:+--+-- > myDestroyDevice <- vkGetProc @VkDestroyDevice+--+vkDestroyDevice :: VkDevice -- ^ device+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDevice+ = unsafeDupablePerformIO (vkGetProc @VkDestroyDevice)++{-# NOINLINE vkDestroyDevice #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyDevice+-- > ( VkDevice device+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyDevice" vkDestroyDeviceSafe ::+ VkDevice -- ^ device+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyDevice+-- > ( VkDevice device+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDeviceSafe@ and @vkDestroyDevice@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDevice <- vkGetDeviceProc @VkDestroyDevice vkDevice+--+-- or less efficient:+--+-- > myDestroyDevice <- vkGetProc @VkDestroyDevice+--+vkDestroyDeviceSafe ::+ VkDevice -- ^ device+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDeviceSafe = vkDestroyDevice++{-# INLINE vkDestroyDeviceSafe #-}+##endif++-- | > void vkDestroyDevice+-- > ( VkDevice device+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDevice vkDestroyDevice registry at www.khronos.org>+type HS_vkDestroyDevice =+ VkDevice -- ^ device+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyDevice = FunPtr HS_vkDestroyDevice++foreign import ccall "dynamic" unwrapVkDestroyDevice ::+ PFN_vkDestroyDevice -> HS_vkDestroyDevice++instance VulkanProc "vkDestroyDevice" where+ type VkProcType "vkDestroyDevice" = HS_vkDestroyDevice+ vkProcSymbol = _VkDestroyDevice++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDevice++ {-# INLINE unwrapVkProcPtr #-}++pattern VkEnumerateInstanceExtensionProperties :: CString++pattern VkEnumerateInstanceExtensionProperties <-+ (is_VkEnumerateInstanceExtensionProperties -> True)+ where VkEnumerateInstanceExtensionProperties+ = _VkEnumerateInstanceExtensionProperties++{-# INLINE _VkEnumerateInstanceExtensionProperties #-}++_VkEnumerateInstanceExtensionProperties :: CString+_VkEnumerateInstanceExtensionProperties+ = Ptr "vkEnumerateInstanceExtensionProperties\NUL"##++{-# INLINE is_VkEnumerateInstanceExtensionProperties #-}++is_VkEnumerateInstanceExtensionProperties :: CString -> Bool+is_VkEnumerateInstanceExtensionProperties+ = (EQ ==) . cmpCStrings _VkEnumerateInstanceExtensionProperties++type VkEnumerateInstanceExtensionProperties =+ "vkEnumerateInstanceExtensionProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- > ( const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkEnumerateInstanceExtensionProperties"+ vkEnumerateInstanceExtensionProperties ::+ CString -- ^ pLayerName+ -> Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- > ( const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateInstanceExtensionPropertiesSafe@ and @vkEnumerateInstanceExtensionProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties+--+vkEnumerateInstanceExtensionProperties ::+ CString -- ^ pLayerName+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateInstanceExtensionProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkEnumerateInstanceExtensionProperties)++{-# NOINLINE vkEnumerateInstanceExtensionProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- > ( const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumerateInstanceExtensionProperties"+ vkEnumerateInstanceExtensionPropertiesSafe ::+ CString -- ^ pLayerName+ -> Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- > ( const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateInstanceExtensionPropertiesSafe@ and @vkEnumerateInstanceExtensionProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetInstanceProc @VkEnumerateInstanceExtensionProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceExtensionProperties <- vkGetProc @VkEnumerateInstanceExtensionProperties+--+vkEnumerateInstanceExtensionPropertiesSafe ::+ CString -- ^ pLayerName+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateInstanceExtensionPropertiesSafe+ = vkEnumerateInstanceExtensionProperties++{-# INLINE vkEnumerateInstanceExtensionPropertiesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateInstanceExtensionProperties+-- > ( const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties registry at www.khronos.org>+type HS_vkEnumerateInstanceExtensionProperties =+ CString -- ^ pLayerName+ -> Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult++type PFN_vkEnumerateInstanceExtensionProperties =+ FunPtr HS_vkEnumerateInstanceExtensionProperties++foreign import ccall "dynamic"+ unwrapVkEnumerateInstanceExtensionProperties ::+ PFN_vkEnumerateInstanceExtensionProperties ->+ HS_vkEnumerateInstanceExtensionProperties++instance VulkanProc "vkEnumerateInstanceExtensionProperties" where+ type VkProcType "vkEnumerateInstanceExtensionProperties" =+ HS_vkEnumerateInstanceExtensionProperties+ vkProcSymbol = _VkEnumerateInstanceExtensionProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumerateInstanceExtensionProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkEnumerateDeviceExtensionProperties :: CString++pattern VkEnumerateDeviceExtensionProperties <-+ (is_VkEnumerateDeviceExtensionProperties -> True)+ where VkEnumerateDeviceExtensionProperties+ = _VkEnumerateDeviceExtensionProperties++{-# INLINE _VkEnumerateDeviceExtensionProperties #-}++_VkEnumerateDeviceExtensionProperties :: CString+_VkEnumerateDeviceExtensionProperties+ = Ptr "vkEnumerateDeviceExtensionProperties\NUL"##++{-# INLINE is_VkEnumerateDeviceExtensionProperties #-}++is_VkEnumerateDeviceExtensionProperties :: CString -> Bool+is_VkEnumerateDeviceExtensionProperties+ = (EQ ==) . cmpCStrings _VkEnumerateDeviceExtensionProperties++type VkEnumerateDeviceExtensionProperties =+ "vkEnumerateDeviceExtensionProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEnumerateDeviceExtensionProperties"+ vkEnumerateDeviceExtensionProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ CString -- ^ pLayerName+ -> Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateDeviceExtensionPropertiesSafe@ and @vkEnumerateDeviceExtensionProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties+--+vkEnumerateDeviceExtensionProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ CString -- ^ pLayerName+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateDeviceExtensionProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkEnumerateDeviceExtensionProperties)++{-# NOINLINE vkEnumerateDeviceExtensionProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumerateDeviceExtensionProperties"+ vkEnumerateDeviceExtensionPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ CString -- ^ pLayerName+ -> Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateDeviceExtensionPropertiesSafe@ and @vkEnumerateDeviceExtensionProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetInstanceProc @VkEnumerateDeviceExtensionProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceExtensionProperties <- vkGetProc @VkEnumerateDeviceExtensionProperties+--+vkEnumerateDeviceExtensionPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ CString -- ^ pLayerName+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateDeviceExtensionPropertiesSafe+ = vkEnumerateDeviceExtensionProperties++{-# INLINE vkEnumerateDeviceExtensionPropertiesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_LAYER_NOT_PRESENT'.+--+-- > VkResult vkEnumerateDeviceExtensionProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const char* pLayerName+-- > , uint32_t* pPropertyCount+-- > , VkExtensionProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties registry at www.khronos.org>+type HS_vkEnumerateDeviceExtensionProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ CString -- ^ pLayerName+ -> Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkExtensionProperties -- ^ pProperties+ -> IO VkResult++type PFN_vkEnumerateDeviceExtensionProperties =+ FunPtr HS_vkEnumerateDeviceExtensionProperties++foreign import ccall "dynamic"+ unwrapVkEnumerateDeviceExtensionProperties ::+ PFN_vkEnumerateDeviceExtensionProperties ->+ HS_vkEnumerateDeviceExtensionProperties++instance VulkanProc "vkEnumerateDeviceExtensionProperties" where+ type VkProcType "vkEnumerateDeviceExtensionProperties" =+ HS_vkEnumerateDeviceExtensionProperties+ vkProcSymbol = _VkEnumerateDeviceExtensionProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumerateDeviceExtensionProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkEnumerateInstanceLayerProperties :: CString++pattern VkEnumerateInstanceLayerProperties <-+ (is_VkEnumerateInstanceLayerProperties -> True)+ where VkEnumerateInstanceLayerProperties+ = _VkEnumerateInstanceLayerProperties++{-# INLINE _VkEnumerateInstanceLayerProperties #-}++_VkEnumerateInstanceLayerProperties :: CString+_VkEnumerateInstanceLayerProperties+ = Ptr "vkEnumerateInstanceLayerProperties\NUL"##++{-# INLINE is_VkEnumerateInstanceLayerProperties #-}++is_VkEnumerateInstanceLayerProperties :: CString -> Bool+is_VkEnumerateInstanceLayerProperties+ = (EQ ==) . cmpCStrings _VkEnumerateInstanceLayerProperties++type VkEnumerateInstanceLayerProperties =+ "vkEnumerateInstanceLayerProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- > ( uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEnumerateInstanceLayerProperties"+ vkEnumerateInstanceLayerProperties ::+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- > ( uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateInstanceLayerPropertiesSafe@ and @vkEnumerateInstanceLayerProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties+--+vkEnumerateInstanceLayerProperties ::+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateInstanceLayerProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkEnumerateInstanceLayerProperties)++{-# NOINLINE vkEnumerateInstanceLayerProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- > ( uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumerateInstanceLayerProperties"+ vkEnumerateInstanceLayerPropertiesSafe ::+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- > ( uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateInstanceLayerPropertiesSafe@ and @vkEnumerateInstanceLayerProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceLayerProperties <- vkGetInstanceProc @VkEnumerateInstanceLayerProperties VK_NULL+--+-- or less efficient:+--+-- > myEnumerateInstanceLayerProperties <- vkGetProc @VkEnumerateInstanceLayerProperties+--+vkEnumerateInstanceLayerPropertiesSafe ::+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateInstanceLayerPropertiesSafe+ = vkEnumerateInstanceLayerProperties++{-# INLINE vkEnumerateInstanceLayerPropertiesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateInstanceLayerProperties+-- > ( uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties registry at www.khronos.org>+type HS_vkEnumerateInstanceLayerProperties =+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult++type PFN_vkEnumerateInstanceLayerProperties =+ FunPtr HS_vkEnumerateInstanceLayerProperties++foreign import ccall "dynamic"+ unwrapVkEnumerateInstanceLayerProperties ::+ PFN_vkEnumerateInstanceLayerProperties ->+ HS_vkEnumerateInstanceLayerProperties++instance VulkanProc "vkEnumerateInstanceLayerProperties" where+ type VkProcType "vkEnumerateInstanceLayerProperties" =+ HS_vkEnumerateInstanceLayerProperties+ vkProcSymbol = _VkEnumerateInstanceLayerProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumerateInstanceLayerProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkEnumerateDeviceLayerProperties :: CString++pattern VkEnumerateDeviceLayerProperties <-+ (is_VkEnumerateDeviceLayerProperties -> True)+ where VkEnumerateDeviceLayerProperties+ = _VkEnumerateDeviceLayerProperties++{-# INLINE _VkEnumerateDeviceLayerProperties #-}++_VkEnumerateDeviceLayerProperties :: CString+_VkEnumerateDeviceLayerProperties+ = Ptr "vkEnumerateDeviceLayerProperties\NUL"##++{-# INLINE is_VkEnumerateDeviceLayerProperties #-}++is_VkEnumerateDeviceLayerProperties :: CString -> Bool+is_VkEnumerateDeviceLayerProperties+ = (EQ ==) . cmpCStrings _VkEnumerateDeviceLayerProperties++type VkEnumerateDeviceLayerProperties =+ "vkEnumerateDeviceLayerProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEnumerateDeviceLayerProperties"+ vkEnumerateDeviceLayerProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateDeviceLayerPropertiesSafe@ and @vkEnumerateDeviceLayerProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties+--+vkEnumerateDeviceLayerProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateDeviceLayerProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkEnumerateDeviceLayerProperties)++{-# NOINLINE vkEnumerateDeviceLayerProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumerateDeviceLayerProperties"+ vkEnumerateDeviceLayerPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateDeviceLayerPropertiesSafe@ and @vkEnumerateDeviceLayerProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateDeviceLayerProperties <- vkGetInstanceProc @VkEnumerateDeviceLayerProperties vkInstance+--+-- or less efficient:+--+-- > myEnumerateDeviceLayerProperties <- vkGetProc @VkEnumerateDeviceLayerProperties+--+vkEnumerateDeviceLayerPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult+vkEnumerateDeviceLayerPropertiesSafe+ = vkEnumerateDeviceLayerProperties++{-# INLINE vkEnumerateDeviceLayerPropertiesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEnumerateDeviceLayerProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkLayerProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties registry at www.khronos.org>+type HS_vkEnumerateDeviceLayerProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkLayerProperties -- ^ pProperties+ -> IO VkResult++type PFN_vkEnumerateDeviceLayerProperties =+ FunPtr HS_vkEnumerateDeviceLayerProperties++foreign import ccall "dynamic"+ unwrapVkEnumerateDeviceLayerProperties ::+ PFN_vkEnumerateDeviceLayerProperties ->+ HS_vkEnumerateDeviceLayerProperties++instance VulkanProc "vkEnumerateDeviceLayerProperties" where+ type VkProcType "vkEnumerateDeviceLayerProperties" =+ HS_vkEnumerateDeviceLayerProperties+ vkProcSymbol = _VkEnumerateDeviceLayerProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumerateDeviceLayerProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDeviceQueue :: CString++pattern VkGetDeviceQueue <- (is_VkGetDeviceQueue -> True)+ where VkGetDeviceQueue = _VkGetDeviceQueue++{-# INLINE _VkGetDeviceQueue #-}++_VkGetDeviceQueue :: CString+_VkGetDeviceQueue = Ptr "vkGetDeviceQueue\NUL"##++{-# INLINE is_VkGetDeviceQueue #-}++is_VkGetDeviceQueue :: CString -> Bool+is_VkGetDeviceQueue = (EQ ==) . cmpCStrings _VkGetDeviceQueue++type VkGetDeviceQueue = "vkGetDeviceQueue"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetDeviceQueue+-- > ( VkDevice device+-- > , uint32_t queueFamilyIndex+-- > , uint32_t queueIndex+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDeviceQueue" vkGetDeviceQueue ::+ VkDevice -- ^ device+ -> Word32 -- ^ queueFamilyIndex+ -> Word32 -- ^ queueIndex+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()++##else+-- |+-- > void vkGetDeviceQueue+-- > ( VkDevice device+-- > , uint32_t queueFamilyIndex+-- > , uint32_t queueIndex+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceQueueSafe@ and @vkGetDeviceQueue@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue+--+vkGetDeviceQueue ::+ VkDevice -- ^ device+ -> Word32 -- ^ queueFamilyIndex+ -> Word32 -- ^ queueIndex+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()+vkGetDeviceQueue+ = unsafeDupablePerformIO (vkGetProc @VkGetDeviceQueue)++{-# NOINLINE vkGetDeviceQueue #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetDeviceQueue+-- > ( VkDevice device+-- > , uint32_t queueFamilyIndex+-- > , uint32_t queueIndex+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceQueue" vkGetDeviceQueueSafe+ :: VkDevice -- ^ device+ -> Word32 -- ^ queueFamilyIndex+ -> Word32 -- ^ queueIndex+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()++##else+-- |+-- > void vkGetDeviceQueue+-- > ( VkDevice device+-- > , uint32_t queueFamilyIndex+-- > , uint32_t queueIndex+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceQueueSafe@ and @vkGetDeviceQueue@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue <- vkGetDeviceProc @VkGetDeviceQueue vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue <- vkGetProc @VkGetDeviceQueue+--+vkGetDeviceQueueSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ queueFamilyIndex+ -> Word32 -- ^ queueIndex+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()+vkGetDeviceQueueSafe = vkGetDeviceQueue++{-# INLINE vkGetDeviceQueueSafe #-}+##endif++-- | > void vkGetDeviceQueue+-- > ( VkDevice device+-- > , uint32_t queueFamilyIndex+-- > , uint32_t queueIndex+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue vkGetDeviceQueue registry at www.khronos.org>+type HS_vkGetDeviceQueue =+ VkDevice -- ^ device+ -> Word32 -- ^ queueFamilyIndex+ -> Word32 -- ^ queueIndex+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()++type PFN_vkGetDeviceQueue = FunPtr HS_vkGetDeviceQueue++foreign import ccall "dynamic" unwrapVkGetDeviceQueue ::+ PFN_vkGetDeviceQueue -> HS_vkGetDeviceQueue++instance VulkanProc "vkGetDeviceQueue" where+ type VkProcType "vkGetDeviceQueue" = HS_vkGetDeviceQueue+ vkProcSymbol = _VkGetDeviceQueue++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceQueue++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueueSubmit :: CString++pattern VkQueueSubmit <- (is_VkQueueSubmit -> True)+ where VkQueueSubmit = _VkQueueSubmit++{-# INLINE _VkQueueSubmit #-}++_VkQueueSubmit :: CString+_VkQueueSubmit = Ptr "vkQueueSubmit\NUL"##++{-# INLINE is_VkQueueSubmit #-}++is_VkQueueSubmit :: CString -> Bool+is_VkQueueSubmit = (EQ ==) . cmpCStrings _VkQueueSubmit++type VkQueueSubmit = "vkQueueSubmit"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- > ( VkQueue queue+-- > , uint32_t submitCount+-- > , const VkSubmitInfo* pSubmits+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkQueueSubmit" vkQueueSubmit ::+ VkQueue -- ^ queue+ -> Word32 -- ^ submitCount+ -> Ptr VkSubmitInfo -- ^ pSubmits+ -> VkFence -- ^ fence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- > ( VkQueue queue+-- > , uint32_t submitCount+-- > , const VkSubmitInfo* pSubmits+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueueSubmitSafe@ and @vkQueueSubmit@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance+--+-- or less efficient:+--+-- > myQueueSubmit <- vkGetProc @VkQueueSubmit+--+vkQueueSubmit ::+ VkQueue -- ^ queue+ -> Word32 -- ^ submitCount+ -> Ptr VkSubmitInfo -- ^ pSubmits+ -> VkFence -- ^ fence+ -> IO VkResult+vkQueueSubmit = unsafeDupablePerformIO (vkGetProc @VkQueueSubmit)++{-# NOINLINE vkQueueSubmit #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- > ( VkQueue queue+-- > , uint32_t submitCount+-- > , const VkSubmitInfo* pSubmits+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkQueueSubmit" vkQueueSubmitSafe ::+ VkQueue -- ^ queue+ -> Word32 -- ^ submitCount+ -> Ptr VkSubmitInfo -- ^ pSubmits+ -> VkFence -- ^ fence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- > ( VkQueue queue+-- > , uint32_t submitCount+-- > , const VkSubmitInfo* pSubmits+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueueSubmitSafe@ and @vkQueueSubmit@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueSubmit <- vkGetInstanceProc @VkQueueSubmit vkInstance+--+-- or less efficient:+--+-- > myQueueSubmit <- vkGetProc @VkQueueSubmit+--+vkQueueSubmitSafe ::+ VkQueue -- ^ queue+ -> Word32 -- ^ submitCount+ -> Ptr VkSubmitInfo -- ^ pSubmits+ -> VkFence -- ^ fence+ -> IO VkResult+vkQueueSubmitSafe = vkQueueSubmit++{-# INLINE vkQueueSubmitSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueSubmit+-- > ( VkQueue queue+-- > , uint32_t submitCount+-- > , const VkSubmitInfo* pSubmits+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueSubmit vkQueueSubmit registry at www.khronos.org>+type HS_vkQueueSubmit =+ VkQueue -- ^ queue+ -> Word32 -- ^ submitCount+ -> Ptr VkSubmitInfo -- ^ pSubmits+ -> VkFence -- ^ fence+ -> IO VkResult++type PFN_vkQueueSubmit = FunPtr HS_vkQueueSubmit++foreign import ccall "dynamic" unwrapVkQueueSubmit ::+ PFN_vkQueueSubmit -> HS_vkQueueSubmit++instance VulkanProc "vkQueueSubmit" where+ type VkProcType "vkQueueSubmit" = HS_vkQueueSubmit+ vkProcSymbol = _VkQueueSubmit++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueueSubmit++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueueWaitIdle :: CString++pattern VkQueueWaitIdle <- (is_VkQueueWaitIdle -> True)+ where VkQueueWaitIdle = _VkQueueWaitIdle++{-# INLINE _VkQueueWaitIdle #-}++_VkQueueWaitIdle :: CString+_VkQueueWaitIdle = Ptr "vkQueueWaitIdle\NUL"##++{-# INLINE is_VkQueueWaitIdle #-}++is_VkQueueWaitIdle :: CString -> Bool+is_VkQueueWaitIdle = (EQ ==) . cmpCStrings _VkQueueWaitIdle++type VkQueueWaitIdle = "vkQueueWaitIdle"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- > ( VkQueue queue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkQueueWaitIdle" vkQueueWaitIdle ::+ VkQueue -- ^ queue+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- > ( VkQueue queue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueueWaitIdleSafe@ and @vkQueueWaitIdle@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance+--+-- or less efficient:+--+-- > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle+--+vkQueueWaitIdle :: VkQueue -- ^ queue+ -> IO VkResult+vkQueueWaitIdle+ = unsafeDupablePerformIO (vkGetProc @VkQueueWaitIdle)++{-# NOINLINE vkQueueWaitIdle #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- > ( VkQueue queue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkQueueWaitIdle" vkQueueWaitIdleSafe ::+ VkQueue -- ^ queue+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- > ( VkQueue queue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueueWaitIdleSafe@ and @vkQueueWaitIdle@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueWaitIdle <- vkGetInstanceProc @VkQueueWaitIdle vkInstance+--+-- or less efficient:+--+-- > myQueueWaitIdle <- vkGetProc @VkQueueWaitIdle+--+vkQueueWaitIdleSafe :: VkQueue -- ^ queue+ -> IO VkResult+vkQueueWaitIdleSafe = vkQueueWaitIdle++{-# INLINE vkQueueWaitIdleSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkQueueWaitIdle+-- > ( VkQueue queue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueWaitIdle vkQueueWaitIdle registry at www.khronos.org>+type HS_vkQueueWaitIdle = VkQueue -- ^ queue+ -> IO VkResult++type PFN_vkQueueWaitIdle = FunPtr HS_vkQueueWaitIdle++foreign import ccall "dynamic" unwrapVkQueueWaitIdle ::+ PFN_vkQueueWaitIdle -> HS_vkQueueWaitIdle++instance VulkanProc "vkQueueWaitIdle" where+ type VkProcType "vkQueueWaitIdle" = HS_vkQueueWaitIdle+ vkProcSymbol = _VkQueueWaitIdle++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueueWaitIdle++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDeviceWaitIdle :: CString++pattern VkDeviceWaitIdle <- (is_VkDeviceWaitIdle -> True)+ where VkDeviceWaitIdle = _VkDeviceWaitIdle++{-# INLINE _VkDeviceWaitIdle #-}++_VkDeviceWaitIdle :: CString+_VkDeviceWaitIdle = Ptr "vkDeviceWaitIdle\NUL"##++{-# INLINE is_VkDeviceWaitIdle #-}++is_VkDeviceWaitIdle :: CString -> Bool+is_VkDeviceWaitIdle = (EQ ==) . cmpCStrings _VkDeviceWaitIdle++type VkDeviceWaitIdle = "vkDeviceWaitIdle"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- > ( VkDevice device+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDeviceWaitIdle" vkDeviceWaitIdle ::+ VkDevice -- ^ device+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- > ( VkDevice device+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDeviceWaitIdleSafe@ and @vkDeviceWaitIdle@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice+--+-- or less efficient:+--+-- > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle+--+vkDeviceWaitIdle :: VkDevice -- ^ device+ -> IO VkResult+vkDeviceWaitIdle+ = unsafeDupablePerformIO (vkGetProc @VkDeviceWaitIdle)++{-# NOINLINE vkDeviceWaitIdle #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- > ( VkDevice device+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDeviceWaitIdle" vkDeviceWaitIdleSafe+ :: VkDevice -- ^ device+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- > ( VkDevice device+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDeviceWaitIdleSafe@ and @vkDeviceWaitIdle@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDeviceWaitIdle <- vkGetDeviceProc @VkDeviceWaitIdle vkDevice+--+-- or less efficient:+--+-- > myDeviceWaitIdle <- vkGetProc @VkDeviceWaitIdle+--+vkDeviceWaitIdleSafe :: VkDevice -- ^ device+ -> IO VkResult+vkDeviceWaitIdleSafe = vkDeviceWaitIdle++{-# INLINE vkDeviceWaitIdleSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkDeviceWaitIdle+-- > ( VkDevice device+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDeviceWaitIdle vkDeviceWaitIdle registry at www.khronos.org>+type HS_vkDeviceWaitIdle = VkDevice -- ^ device+ -> IO VkResult++type PFN_vkDeviceWaitIdle = FunPtr HS_vkDeviceWaitIdle++foreign import ccall "dynamic" unwrapVkDeviceWaitIdle ::+ PFN_vkDeviceWaitIdle -> HS_vkDeviceWaitIdle++instance VulkanProc "vkDeviceWaitIdle" where+ type VkProcType "vkDeviceWaitIdle" = HS_vkDeviceWaitIdle+ vkProcSymbol = _VkDeviceWaitIdle++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDeviceWaitIdle++ {-# INLINE unwrapVkProcPtr #-}++pattern VkAllocateMemory :: CString++pattern VkAllocateMemory <- (is_VkAllocateMemory -> True)+ where VkAllocateMemory = _VkAllocateMemory++{-# INLINE _VkAllocateMemory #-}++_VkAllocateMemory :: CString+_VkAllocateMemory = Ptr "vkAllocateMemory\NUL"##++{-# INLINE is_VkAllocateMemory #-}++is_VkAllocateMemory :: CString -> Bool+is_VkAllocateMemory = (EQ ==) . cmpCStrings _VkAllocateMemory++type VkAllocateMemory = "vkAllocateMemory"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- > ( VkDevice device+-- > , const VkMemoryAllocateInfo* pAllocateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDeviceMemory* pMemory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkAllocateMemory" vkAllocateMemory ::+ VkDevice -- ^ device+ ->+ Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDeviceMemory -- ^ pMemory+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- > ( VkDevice device+-- > , const VkMemoryAllocateInfo* pAllocateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDeviceMemory* pMemory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAllocateMemorySafe@ and @vkAllocateMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice+--+-- or less efficient:+--+-- > myAllocateMemory <- vkGetProc @VkAllocateMemory+--+vkAllocateMemory ::+ VkDevice -- ^ device+ ->+ Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDeviceMemory -- ^ pMemory+ -> IO VkResult+vkAllocateMemory+ = unsafeDupablePerformIO (vkGetProc @VkAllocateMemory)++{-# NOINLINE vkAllocateMemory #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- > ( VkDevice device+-- > , const VkMemoryAllocateInfo* pAllocateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDeviceMemory* pMemory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkAllocateMemory" vkAllocateMemorySafe+ ::+ VkDevice -- ^ device+ ->+ Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDeviceMemory -- ^ pMemory+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- > ( VkDevice device+-- > , const VkMemoryAllocateInfo* pAllocateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDeviceMemory* pMemory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAllocateMemorySafe@ and @vkAllocateMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateMemory <- vkGetDeviceProc @VkAllocateMemory vkDevice+--+-- or less efficient:+--+-- > myAllocateMemory <- vkGetProc @VkAllocateMemory+--+vkAllocateMemorySafe ::+ VkDevice -- ^ device+ ->+ Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDeviceMemory -- ^ pMemory+ -> IO VkResult+vkAllocateMemorySafe = vkAllocateMemory++{-# INLINE vkAllocateMemorySafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.+--+-- > VkResult vkAllocateMemory+-- > ( VkDevice device+-- > , const VkMemoryAllocateInfo* pAllocateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDeviceMemory* pMemory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateMemory vkAllocateMemory registry at www.khronos.org>+type HS_vkAllocateMemory =+ VkDevice -- ^ device+ ->+ Ptr VkMemoryAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDeviceMemory -- ^ pMemory+ -> IO VkResult++type PFN_vkAllocateMemory = FunPtr HS_vkAllocateMemory++foreign import ccall "dynamic" unwrapVkAllocateMemory ::+ PFN_vkAllocateMemory -> HS_vkAllocateMemory++instance VulkanProc "vkAllocateMemory" where+ type VkProcType "vkAllocateMemory" = HS_vkAllocateMemory+ vkProcSymbol = _VkAllocateMemory++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkAllocateMemory++ {-# INLINE unwrapVkProcPtr #-}++pattern VkFreeMemory :: CString++pattern VkFreeMemory <- (is_VkFreeMemory -> True)+ where VkFreeMemory = _VkFreeMemory++{-# INLINE _VkFreeMemory #-}++_VkFreeMemory :: CString+_VkFreeMemory = Ptr "vkFreeMemory\NUL"##++{-# INLINE is_VkFreeMemory #-}++is_VkFreeMemory :: CString -> Bool+is_VkFreeMemory = (EQ ==) . cmpCStrings _VkFreeMemory++type VkFreeMemory = "vkFreeMemory"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkFreeMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkFreeMemory" vkFreeMemory ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkFreeMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFreeMemorySafe@ and @vkFreeMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice+--+-- or less efficient:+--+-- > myFreeMemory <- vkGetProc @VkFreeMemory+--+vkFreeMemory ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkFreeMemory = unsafeDupablePerformIO (vkGetProc @VkFreeMemory)++{-# NOINLINE vkFreeMemory #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkFreeMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkFreeMemory" vkFreeMemorySafe ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkFreeMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFreeMemorySafe@ and @vkFreeMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeMemory <- vkGetDeviceProc @VkFreeMemory vkDevice+--+-- or less efficient:+--+-- > myFreeMemory <- vkGetProc @VkFreeMemory+--+vkFreeMemorySafe ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkFreeMemorySafe = vkFreeMemory++{-# INLINE vkFreeMemorySafe #-}+##endif++-- | > void vkFreeMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeMemory vkFreeMemory registry at www.khronos.org>+type HS_vkFreeMemory =+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkFreeMemory = FunPtr HS_vkFreeMemory++foreign import ccall "dynamic" unwrapVkFreeMemory ::+ PFN_vkFreeMemory -> HS_vkFreeMemory++instance VulkanProc "vkFreeMemory" where+ type VkProcType "vkFreeMemory" = HS_vkFreeMemory+ vkProcSymbol = _VkFreeMemory++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkFreeMemory++ {-# INLINE unwrapVkProcPtr #-}++pattern VkMapMemory :: CString++pattern VkMapMemory <- (is_VkMapMemory -> True)+ where VkMapMemory = _VkMapMemory++{-# INLINE _VkMapMemory #-}++_VkMapMemory :: CString+_VkMapMemory = Ptr "vkMapMemory\NUL"##++{-# INLINE is_VkMapMemory #-}++is_VkMapMemory :: CString -> Bool+is_VkMapMemory = (EQ ==) . cmpCStrings _VkMapMemory++type VkMapMemory = "vkMapMemory"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize offset+-- > , VkDeviceSize size+-- > , VkMemoryMapFlags flags+-- > , void** ppData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkMapMemory" vkMapMemory ::+ VkDevice -- ^ device+ ->+ VkDeviceMemory -- ^ memory+ ->+ VkDeviceSize -- ^ offset+ ->+ VkDeviceSize -- ^ size+ -> VkMemoryMapFlags -- ^ flags+ -> Ptr (Ptr Void) -- ^ ppData+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize offset+-- > , VkDeviceSize size+-- > , VkMemoryMapFlags flags+-- > , void** ppData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkMapMemorySafe@ and @vkMapMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice+--+-- or less efficient:+--+-- > myMapMemory <- vkGetProc @VkMapMemory+--+vkMapMemory ::+ VkDevice -- ^ device+ ->+ VkDeviceMemory -- ^ memory+ ->+ VkDeviceSize -- ^ offset+ ->+ VkDeviceSize -- ^ size+ -> VkMemoryMapFlags -- ^ flags+ -> Ptr (Ptr Void) -- ^ ppData+ -> IO VkResult+vkMapMemory = unsafeDupablePerformIO (vkGetProc @VkMapMemory)++{-# NOINLINE vkMapMemory #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize offset+-- > , VkDeviceSize size+-- > , VkMemoryMapFlags flags+-- > , void** ppData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkMapMemory" vkMapMemorySafe ::+ VkDevice -- ^ device+ ->+ VkDeviceMemory -- ^ memory+ ->+ VkDeviceSize -- ^ offset+ ->+ VkDeviceSize -- ^ size+ -> VkMemoryMapFlags -- ^ flags+ -> Ptr (Ptr Void) -- ^ ppData+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize offset+-- > , VkDeviceSize size+-- > , VkMemoryMapFlags flags+-- > , void** ppData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkMapMemorySafe@ and @vkMapMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMapMemory <- vkGetDeviceProc @VkMapMemory vkDevice+--+-- or less efficient:+--+-- > myMapMemory <- vkGetProc @VkMapMemory+--+vkMapMemorySafe ::+ VkDevice -- ^ device+ ->+ VkDeviceMemory -- ^ memory+ ->+ VkDeviceSize -- ^ offset+ ->+ VkDeviceSize -- ^ size+ -> VkMemoryMapFlags -- ^ flags+ -> Ptr (Ptr Void) -- ^ ppData+ -> IO VkResult+vkMapMemorySafe = vkMapMemory++{-# INLINE vkMapMemorySafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_MEMORY_MAP_FAILED'.+--+-- > VkResult vkMapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize offset+-- > , VkDeviceSize size+-- > , VkMemoryMapFlags flags+-- > , void** ppData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMapMemory vkMapMemory registry at www.khronos.org>+type HS_vkMapMemory =+ VkDevice -- ^ device+ ->+ VkDeviceMemory -- ^ memory+ ->+ VkDeviceSize -- ^ offset+ ->+ VkDeviceSize -- ^ size+ -> VkMemoryMapFlags -- ^ flags+ -> Ptr (Ptr Void) -- ^ ppData+ -> IO VkResult++type PFN_vkMapMemory = FunPtr HS_vkMapMemory++foreign import ccall "dynamic" unwrapVkMapMemory ::+ PFN_vkMapMemory -> HS_vkMapMemory++instance VulkanProc "vkMapMemory" where+ type VkProcType "vkMapMemory" = HS_vkMapMemory+ vkProcSymbol = _VkMapMemory++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkMapMemory++ {-# INLINE unwrapVkProcPtr #-}++pattern VkUnmapMemory :: CString++pattern VkUnmapMemory <- (is_VkUnmapMemory -> True)+ where VkUnmapMemory = _VkUnmapMemory++{-# INLINE _VkUnmapMemory #-}++_VkUnmapMemory :: CString+_VkUnmapMemory = Ptr "vkUnmapMemory\NUL"##++{-# INLINE is_VkUnmapMemory #-}++is_VkUnmapMemory :: CString -> Bool+is_VkUnmapMemory = (EQ ==) . cmpCStrings _VkUnmapMemory++type VkUnmapMemory = "vkUnmapMemory"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkUnmapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkUnmapMemory" vkUnmapMemory ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> IO ()++##else+-- |+-- > void vkUnmapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkUnmapMemorySafe@ and @vkUnmapMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice+--+-- or less efficient:+--+-- > myUnmapMemory <- vkGetProc @VkUnmapMemory+--+vkUnmapMemory :: VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> IO ()+vkUnmapMemory = unsafeDupablePerformIO (vkGetProc @VkUnmapMemory)++{-# NOINLINE vkUnmapMemory #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkUnmapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkUnmapMemory" vkUnmapMemorySafe ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> IO ()++##else+-- |+-- > void vkUnmapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkUnmapMemorySafe@ and @vkUnmapMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUnmapMemory <- vkGetDeviceProc @VkUnmapMemory vkDevice+--+-- or less efficient:+--+-- > myUnmapMemory <- vkGetProc @VkUnmapMemory+--+vkUnmapMemorySafe :: VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> IO ()+vkUnmapMemorySafe = vkUnmapMemory++{-# INLINE vkUnmapMemorySafe #-}+##endif++-- | > void vkUnmapMemory+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnmapMemory vkUnmapMemory registry at www.khronos.org>+type HS_vkUnmapMemory = VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> IO ()++type PFN_vkUnmapMemory = FunPtr HS_vkUnmapMemory++foreign import ccall "dynamic" unwrapVkUnmapMemory ::+ PFN_vkUnmapMemory -> HS_vkUnmapMemory++instance VulkanProc "vkUnmapMemory" where+ type VkProcType "vkUnmapMemory" = HS_vkUnmapMemory+ vkProcSymbol = _VkUnmapMemory++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkUnmapMemory++ {-# INLINE unwrapVkProcPtr #-}++pattern VkFlushMappedMemoryRanges :: CString++pattern VkFlushMappedMemoryRanges <-+ (is_VkFlushMappedMemoryRanges -> True)+ where VkFlushMappedMemoryRanges = _VkFlushMappedMemoryRanges++{-# INLINE _VkFlushMappedMemoryRanges #-}++_VkFlushMappedMemoryRanges :: CString+_VkFlushMappedMemoryRanges = Ptr "vkFlushMappedMemoryRanges\NUL"##++{-# INLINE is_VkFlushMappedMemoryRanges #-}++is_VkFlushMappedMemoryRanges :: CString -> Bool+is_VkFlushMappedMemoryRanges+ = (EQ ==) . cmpCStrings _VkFlushMappedMemoryRanges++type VkFlushMappedMemoryRanges = "vkFlushMappedMemoryRanges"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkFlushMappedMemoryRanges"+ vkFlushMappedMemoryRanges ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFlushMappedMemoryRangesSafe@ and @vkFlushMappedMemoryRanges@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges+--+vkFlushMappedMemoryRanges ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult+vkFlushMappedMemoryRanges+ = unsafeDupablePerformIO (vkGetProc @VkFlushMappedMemoryRanges)++{-# NOINLINE vkFlushMappedMemoryRanges #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkFlushMappedMemoryRanges"+ vkFlushMappedMemoryRangesSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFlushMappedMemoryRangesSafe@ and @vkFlushMappedMemoryRanges@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFlushMappedMemoryRanges <- vkGetDeviceProc @VkFlushMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myFlushMappedMemoryRanges <- vkGetProc @VkFlushMappedMemoryRanges+--+vkFlushMappedMemoryRangesSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult+vkFlushMappedMemoryRangesSafe = vkFlushMappedMemoryRanges++{-# INLINE vkFlushMappedMemoryRangesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFlushMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges registry at www.khronos.org>+type HS_vkFlushMappedMemoryRanges =+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult++type PFN_vkFlushMappedMemoryRanges =+ FunPtr HS_vkFlushMappedMemoryRanges++foreign import ccall "dynamic" unwrapVkFlushMappedMemoryRanges ::+ PFN_vkFlushMappedMemoryRanges -> HS_vkFlushMappedMemoryRanges++instance VulkanProc "vkFlushMappedMemoryRanges" where+ type VkProcType "vkFlushMappedMemoryRanges" =+ HS_vkFlushMappedMemoryRanges+ vkProcSymbol = _VkFlushMappedMemoryRanges++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkFlushMappedMemoryRanges++ {-# INLINE unwrapVkProcPtr #-}++pattern VkInvalidateMappedMemoryRanges :: CString++pattern VkInvalidateMappedMemoryRanges <-+ (is_VkInvalidateMappedMemoryRanges -> True)+ where VkInvalidateMappedMemoryRanges+ = _VkInvalidateMappedMemoryRanges++{-# INLINE _VkInvalidateMappedMemoryRanges #-}++_VkInvalidateMappedMemoryRanges :: CString+_VkInvalidateMappedMemoryRanges+ = Ptr "vkInvalidateMappedMemoryRanges\NUL"##++{-# INLINE is_VkInvalidateMappedMemoryRanges #-}++is_VkInvalidateMappedMemoryRanges :: CString -> Bool+is_VkInvalidateMappedMemoryRanges+ = (EQ ==) . cmpCStrings _VkInvalidateMappedMemoryRanges++type VkInvalidateMappedMemoryRanges =+ "vkInvalidateMappedMemoryRanges"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkInvalidateMappedMemoryRanges"+ vkInvalidateMappedMemoryRanges ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkInvalidateMappedMemoryRangesSafe@ and @vkInvalidateMappedMemoryRanges@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges+--+vkInvalidateMappedMemoryRanges ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult+vkInvalidateMappedMemoryRanges+ = unsafeDupablePerformIO+ (vkGetProc @VkInvalidateMappedMemoryRanges)++{-# NOINLINE vkInvalidateMappedMemoryRanges #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkInvalidateMappedMemoryRanges"+ vkInvalidateMappedMemoryRangesSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkInvalidateMappedMemoryRangesSafe@ and @vkInvalidateMappedMemoryRanges@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myInvalidateMappedMemoryRanges <- vkGetDeviceProc @VkInvalidateMappedMemoryRanges vkDevice+--+-- or less efficient:+--+-- > myInvalidateMappedMemoryRanges <- vkGetProc @VkInvalidateMappedMemoryRanges+--+vkInvalidateMappedMemoryRangesSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult+vkInvalidateMappedMemoryRangesSafe = vkInvalidateMappedMemoryRanges++{-# INLINE vkInvalidateMappedMemoryRangesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkInvalidateMappedMemoryRanges+-- > ( VkDevice device+-- > , uint32_t memoryRangeCount+-- > , const VkMappedMemoryRange* pMemoryRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges registry at www.khronos.org>+type HS_vkInvalidateMappedMemoryRanges =+ VkDevice -- ^ device+ -> Word32 -- ^ memoryRangeCount+ -> Ptr VkMappedMemoryRange -- ^ pMemoryRanges+ -> IO VkResult++type PFN_vkInvalidateMappedMemoryRanges =+ FunPtr HS_vkInvalidateMappedMemoryRanges++foreign import ccall "dynamic" unwrapVkInvalidateMappedMemoryRanges+ ::+ PFN_vkInvalidateMappedMemoryRanges ->+ HS_vkInvalidateMappedMemoryRanges++instance VulkanProc "vkInvalidateMappedMemoryRanges" where+ type VkProcType "vkInvalidateMappedMemoryRanges" =+ HS_vkInvalidateMappedMemoryRanges+ vkProcSymbol = _VkInvalidateMappedMemoryRanges++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkInvalidateMappedMemoryRanges++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDeviceMemoryCommitment :: CString++pattern VkGetDeviceMemoryCommitment <-+ (is_VkGetDeviceMemoryCommitment -> True)+ where VkGetDeviceMemoryCommitment = _VkGetDeviceMemoryCommitment++{-# INLINE _VkGetDeviceMemoryCommitment #-}++_VkGetDeviceMemoryCommitment :: CString+_VkGetDeviceMemoryCommitment+ = Ptr "vkGetDeviceMemoryCommitment\NUL"##++{-# INLINE is_VkGetDeviceMemoryCommitment #-}++is_VkGetDeviceMemoryCommitment :: CString -> Bool+is_VkGetDeviceMemoryCommitment+ = (EQ ==) . cmpCStrings _VkGetDeviceMemoryCommitment++type VkGetDeviceMemoryCommitment = "vkGetDeviceMemoryCommitment"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetDeviceMemoryCommitment+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize* pCommittedMemoryInBytes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDeviceMemoryCommitment"+ vkGetDeviceMemoryCommitment ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+ -> IO ()++##else+-- |+-- > void vkGetDeviceMemoryCommitment+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize* pCommittedMemoryInBytes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceMemoryCommitmentSafe@ and @vkGetDeviceMemoryCommitment@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice+--+-- or less efficient:+--+-- > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment+--+vkGetDeviceMemoryCommitment ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+ -> IO ()+vkGetDeviceMemoryCommitment+ = unsafeDupablePerformIO (vkGetProc @VkGetDeviceMemoryCommitment)++{-# NOINLINE vkGetDeviceMemoryCommitment #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetDeviceMemoryCommitment+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize* pCommittedMemoryInBytes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceMemoryCommitment"+ vkGetDeviceMemoryCommitmentSafe ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+ -> IO ()++##else+-- |+-- > void vkGetDeviceMemoryCommitment+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize* pCommittedMemoryInBytes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceMemoryCommitmentSafe@ and @vkGetDeviceMemoryCommitment@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceMemoryCommitment <- vkGetDeviceProc @VkGetDeviceMemoryCommitment vkDevice+--+-- or less efficient:+--+-- > myGetDeviceMemoryCommitment <- vkGetProc @VkGetDeviceMemoryCommitment+--+vkGetDeviceMemoryCommitmentSafe ::+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+ -> IO ()+vkGetDeviceMemoryCommitmentSafe = vkGetDeviceMemoryCommitment++{-# INLINE vkGetDeviceMemoryCommitmentSafe #-}+##endif++-- | > void vkGetDeviceMemoryCommitment+-- > ( VkDevice device+-- > , VkDeviceMemory memory+-- > , VkDeviceSize* pCommittedMemoryInBytes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment registry at www.khronos.org>+type HS_vkGetDeviceMemoryCommitment =+ VkDevice -- ^ device+ -> VkDeviceMemory -- ^ memory+ -> Ptr VkDeviceSize -- ^ pCommittedMemoryInBytes+ -> IO ()++type PFN_vkGetDeviceMemoryCommitment =+ FunPtr HS_vkGetDeviceMemoryCommitment++foreign import ccall "dynamic" unwrapVkGetDeviceMemoryCommitment ::+ PFN_vkGetDeviceMemoryCommitment -> HS_vkGetDeviceMemoryCommitment++instance VulkanProc "vkGetDeviceMemoryCommitment" where+ type VkProcType "vkGetDeviceMemoryCommitment" =+ HS_vkGetDeviceMemoryCommitment+ vkProcSymbol = _VkGetDeviceMemoryCommitment++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceMemoryCommitment++ {-# INLINE unwrapVkProcPtr #-}++pattern VkBindBufferMemory :: CString++pattern VkBindBufferMemory <- (is_VkBindBufferMemory -> True)+ where VkBindBufferMemory = _VkBindBufferMemory++{-# INLINE _VkBindBufferMemory #-}++_VkBindBufferMemory :: CString+_VkBindBufferMemory = Ptr "vkBindBufferMemory\NUL"##++{-# INLINE is_VkBindBufferMemory #-}++is_VkBindBufferMemory :: CString -> Bool+is_VkBindBufferMemory = (EQ ==) . cmpCStrings _VkBindBufferMemory++type VkBindBufferMemory = "vkBindBufferMemory"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkBindBufferMemory" vkBindBufferMemory+ ::+ VkDevice -- ^ device+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindBufferMemorySafe@ and @vkBindBufferMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory <- vkGetProc @VkBindBufferMemory+--+vkBindBufferMemory ::+ VkDevice -- ^ device+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult+vkBindBufferMemory+ = unsafeDupablePerformIO (vkGetProc @VkBindBufferMemory)++{-# NOINLINE vkBindBufferMemory #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkBindBufferMemory"+ vkBindBufferMemorySafe ::+ VkDevice -- ^ device+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindBufferMemorySafe@ and @vkBindBufferMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory <- vkGetDeviceProc @VkBindBufferMemory vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory <- vkGetProc @VkBindBufferMemory+--+vkBindBufferMemorySafe ::+ VkDevice -- ^ device+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult+vkBindBufferMemorySafe = vkBindBufferMemory++{-# INLINE vkBindBufferMemorySafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory vkBindBufferMemory registry at www.khronos.org>+type HS_vkBindBufferMemory =+ VkDevice -- ^ device+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult++type PFN_vkBindBufferMemory = FunPtr HS_vkBindBufferMemory++foreign import ccall "dynamic" unwrapVkBindBufferMemory ::+ PFN_vkBindBufferMemory -> HS_vkBindBufferMemory++instance VulkanProc "vkBindBufferMemory" where+ type VkProcType "vkBindBufferMemory" = HS_vkBindBufferMemory+ vkProcSymbol = _VkBindBufferMemory++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBindBufferMemory++ {-# INLINE unwrapVkProcPtr #-}++pattern VkBindImageMemory :: CString++pattern VkBindImageMemory <- (is_VkBindImageMemory -> True)+ where VkBindImageMemory = _VkBindImageMemory++{-# INLINE _VkBindImageMemory #-}++_VkBindImageMemory :: CString+_VkBindImageMemory = Ptr "vkBindImageMemory\NUL"##++{-# INLINE is_VkBindImageMemory #-}++is_VkBindImageMemory :: CString -> Bool+is_VkBindImageMemory = (EQ ==) . cmpCStrings _VkBindImageMemory++type VkBindImageMemory = "vkBindImageMemory"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- > ( VkDevice device+-- > , VkImage image+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkBindImageMemory" vkBindImageMemory+ ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- > ( VkDevice device+-- > , VkImage image+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindImageMemorySafe@ and @vkBindImageMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory <- vkGetProc @VkBindImageMemory+--+vkBindImageMemory ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult+vkBindImageMemory+ = unsafeDupablePerformIO (vkGetProc @VkBindImageMemory)++{-# NOINLINE vkBindImageMemory #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- > ( VkDevice device+-- > , VkImage image+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkBindImageMemory" vkBindImageMemorySafe+ ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- > ( VkDevice device+-- > , VkImage image+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindImageMemorySafe@ and @vkBindImageMemory@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory <- vkGetDeviceProc @VkBindImageMemory vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory <- vkGetProc @VkBindImageMemory+--+vkBindImageMemorySafe ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult+vkBindImageMemorySafe = vkBindImageMemory++{-# INLINE vkBindImageMemorySafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory+-- > ( VkDevice device+-- > , VkImage image+-- > , VkDeviceMemory memory+-- > , VkDeviceSize memoryOffset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory vkBindImageMemory registry at www.khronos.org>+type HS_vkBindImageMemory =+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ -> VkDeviceMemory -- ^ memory+ -> VkDeviceSize -- ^ memoryOffset+ -> IO VkResult++type PFN_vkBindImageMemory = FunPtr HS_vkBindImageMemory++foreign import ccall "dynamic" unwrapVkBindImageMemory ::+ PFN_vkBindImageMemory -> HS_vkBindImageMemory++instance VulkanProc "vkBindImageMemory" where+ type VkProcType "vkBindImageMemory" = HS_vkBindImageMemory+ vkProcSymbol = _VkBindImageMemory++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBindImageMemory++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetBufferMemoryRequirements :: CString++pattern VkGetBufferMemoryRequirements <-+ (is_VkGetBufferMemoryRequirements -> True)+ where VkGetBufferMemoryRequirements+ = _VkGetBufferMemoryRequirements++{-# INLINE _VkGetBufferMemoryRequirements #-}++_VkGetBufferMemoryRequirements :: CString+_VkGetBufferMemoryRequirements+ = Ptr "vkGetBufferMemoryRequirements\NUL"##++{-# INLINE is_VkGetBufferMemoryRequirements #-}++is_VkGetBufferMemoryRequirements :: CString -> Bool+is_VkGetBufferMemoryRequirements+ = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements++type VkGetBufferMemoryRequirements =+ "vkGetBufferMemoryRequirements"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetBufferMemoryRequirements+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetBufferMemoryRequirements"+ vkGetBufferMemoryRequirements ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()++##else+-- |+-- > void vkGetBufferMemoryRequirements+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetBufferMemoryRequirementsSafe@ and @vkGetBufferMemoryRequirements@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements+--+vkGetBufferMemoryRequirements ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()+vkGetBufferMemoryRequirements+ = unsafeDupablePerformIO (vkGetProc @VkGetBufferMemoryRequirements)++{-# NOINLINE vkGetBufferMemoryRequirements #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetBufferMemoryRequirements+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetBufferMemoryRequirements"+ vkGetBufferMemoryRequirementsSafe ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()++##else+-- |+-- > void vkGetBufferMemoryRequirements+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetBufferMemoryRequirementsSafe@ and @vkGetBufferMemoryRequirements@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements <- vkGetDeviceProc @VkGetBufferMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements <- vkGetProc @VkGetBufferMemoryRequirements+--+vkGetBufferMemoryRequirementsSafe ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()+vkGetBufferMemoryRequirementsSafe = vkGetBufferMemoryRequirements++{-# INLINE vkGetBufferMemoryRequirementsSafe #-}+##endif++-- | > void vkGetBufferMemoryRequirements+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements registry at www.khronos.org>+type HS_vkGetBufferMemoryRequirements =+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()++type PFN_vkGetBufferMemoryRequirements =+ FunPtr HS_vkGetBufferMemoryRequirements++foreign import ccall "dynamic" unwrapVkGetBufferMemoryRequirements+ ::+ PFN_vkGetBufferMemoryRequirements ->+ HS_vkGetBufferMemoryRequirements++instance VulkanProc "vkGetBufferMemoryRequirements" where+ type VkProcType "vkGetBufferMemoryRequirements" =+ HS_vkGetBufferMemoryRequirements+ vkProcSymbol = _VkGetBufferMemoryRequirements++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetBufferMemoryRequirements++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetImageMemoryRequirements :: CString++pattern VkGetImageMemoryRequirements <-+ (is_VkGetImageMemoryRequirements -> True)+ where VkGetImageMemoryRequirements = _VkGetImageMemoryRequirements++{-# INLINE _VkGetImageMemoryRequirements #-}++_VkGetImageMemoryRequirements :: CString+_VkGetImageMemoryRequirements+ = Ptr "vkGetImageMemoryRequirements\NUL"##++{-# INLINE is_VkGetImageMemoryRequirements #-}++is_VkGetImageMemoryRequirements :: CString -> Bool+is_VkGetImageMemoryRequirements+ = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements++type VkGetImageMemoryRequirements = "vkGetImageMemoryRequirements"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetImageMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetImageMemoryRequirements"+ vkGetImageMemoryRequirements ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()++##else+-- |+-- > void vkGetImageMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageMemoryRequirementsSafe@ and @vkGetImageMemoryRequirements@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements+--+vkGetImageMemoryRequirements ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()+vkGetImageMemoryRequirements+ = unsafeDupablePerformIO (vkGetProc @VkGetImageMemoryRequirements)++{-# NOINLINE vkGetImageMemoryRequirements #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetImageMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetImageMemoryRequirements"+ vkGetImageMemoryRequirementsSafe ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()++##else+-- |+-- > void vkGetImageMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageMemoryRequirementsSafe@ and @vkGetImageMemoryRequirements@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements <- vkGetDeviceProc @VkGetImageMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements <- vkGetProc @VkGetImageMemoryRequirements+--+vkGetImageMemoryRequirementsSafe ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()+vkGetImageMemoryRequirementsSafe = vkGetImageMemoryRequirements++{-# INLINE vkGetImageMemoryRequirementsSafe #-}+##endif++-- | > void vkGetImageMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , VkMemoryRequirements* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements vkGetImageMemoryRequirements registry at www.khronos.org>+type HS_vkGetImageMemoryRequirements =+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkMemoryRequirements -- ^ pMemoryRequirements+ -> IO ()++type PFN_vkGetImageMemoryRequirements =+ FunPtr HS_vkGetImageMemoryRequirements++foreign import ccall "dynamic" unwrapVkGetImageMemoryRequirements+ ::+ PFN_vkGetImageMemoryRequirements -> HS_vkGetImageMemoryRequirements++instance VulkanProc "vkGetImageMemoryRequirements" where+ type VkProcType "vkGetImageMemoryRequirements" =+ HS_vkGetImageMemoryRequirements+ vkProcSymbol = _VkGetImageMemoryRequirements++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageMemoryRequirements++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetImageSparseMemoryRequirements :: CString++pattern VkGetImageSparseMemoryRequirements <-+ (is_VkGetImageSparseMemoryRequirements -> True)+ where VkGetImageSparseMemoryRequirements+ = _VkGetImageSparseMemoryRequirements++{-# INLINE _VkGetImageSparseMemoryRequirements #-}++_VkGetImageSparseMemoryRequirements :: CString+_VkGetImageSparseMemoryRequirements+ = Ptr "vkGetImageSparseMemoryRequirements\NUL"##++{-# INLINE is_VkGetImageSparseMemoryRequirements #-}++is_VkGetImageSparseMemoryRequirements :: CString -> Bool+is_VkGetImageSparseMemoryRequirements+ = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements++type VkGetImageSparseMemoryRequirements =+ "vkGetImageSparseMemoryRequirements"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetImageSparseMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements"+ vkGetImageSparseMemoryRequirements ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+ -> IO ()++##else+-- |+-- > void vkGetImageSparseMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageSparseMemoryRequirementsSafe@ and @vkGetImageSparseMemoryRequirements@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements+--+vkGetImageSparseMemoryRequirements ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+ -> IO ()+vkGetImageSparseMemoryRequirements+ = unsafeDupablePerformIO+ (vkGetProc @VkGetImageSparseMemoryRequirements)++{-# NOINLINE vkGetImageSparseMemoryRequirements #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetImageSparseMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetImageSparseMemoryRequirements"+ vkGetImageSparseMemoryRequirementsSafe ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+ -> IO ()++##else+-- |+-- > void vkGetImageSparseMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageSparseMemoryRequirementsSafe@ and @vkGetImageSparseMemoryRequirements@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements <- vkGetProc @VkGetImageSparseMemoryRequirements+--+vkGetImageSparseMemoryRequirementsSafe ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ ->+ Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+ -> IO ()+vkGetImageSparseMemoryRequirementsSafe+ = vkGetImageSparseMemoryRequirements++{-# INLINE vkGetImageSparseMemoryRequirementsSafe #-}+##endif++-- | > void vkGetImageSparseMemoryRequirements+-- > ( VkDevice device+-- > , VkImage image+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements registry at www.khronos.org>+type HS_vkGetImageSparseMemoryRequirements =+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements -- ^ pSparseMemoryRequirements+ -> IO ()++type PFN_vkGetImageSparseMemoryRequirements =+ FunPtr HS_vkGetImageSparseMemoryRequirements++foreign import ccall "dynamic"+ unwrapVkGetImageSparseMemoryRequirements ::+ PFN_vkGetImageSparseMemoryRequirements ->+ HS_vkGetImageSparseMemoryRequirements++instance VulkanProc "vkGetImageSparseMemoryRequirements" where+ type VkProcType "vkGetImageSparseMemoryRequirements" =+ HS_vkGetImageSparseMemoryRequirements+ vkProcSymbol = _VkGetImageSparseMemoryRequirements++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageSparseMemoryRequirements++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSparseImageFormatProperties :: CString++pattern VkGetPhysicalDeviceSparseImageFormatProperties <-+ (is_VkGetPhysicalDeviceSparseImageFormatProperties -> True)+ where VkGetPhysicalDeviceSparseImageFormatProperties+ = _VkGetPhysicalDeviceSparseImageFormatProperties++{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties #-}++_VkGetPhysicalDeviceSparseImageFormatProperties :: CString+_VkGetPhysicalDeviceSparseImageFormatProperties+ = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties\NUL"##++{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties #-}++is_VkGetPhysicalDeviceSparseImageFormatProperties ::+ CString -> Bool+is_VkGetPhysicalDeviceSparseImageFormatProperties+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties++type VkGetPhysicalDeviceSparseImageFormatProperties =+ "vkGetPhysicalDeviceSparseImageFormatProperties"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkSampleCountFlagBits samples+-- > , VkImageUsageFlags usage+-- > , VkImageTiling tiling+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceSparseImageFormatProperties"+ vkGetPhysicalDeviceSparseImageFormatProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkSampleCountFlagBits -- ^ samples+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageTiling -- ^ tiling+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties -- ^ pProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkSampleCountFlagBits samples+-- > , VkImageUsageFlags usage+-- > , VkImageTiling tiling+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties+--+vkGetPhysicalDeviceSparseImageFormatProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkSampleCountFlagBits -- ^ samples+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageTiling -- ^ tiling+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkSparseImageFormatProperties -- ^ pProperties+ ->+ IO ()+vkGetPhysicalDeviceSparseImageFormatProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties)++{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkSampleCountFlagBits samples+-- > , VkImageUsageFlags usage+-- > , VkImageTiling tiling+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceSparseImageFormatProperties"+ vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkSampleCountFlagBits -- ^ samples+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageTiling -- ^ tiling+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties -- ^ pProperties+ -> IO ()++##else+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkSampleCountFlagBits samples+-- > , VkImageUsageFlags usage+-- > , VkImageTiling tiling+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSparseImageFormatPropertiesSafe@ and @vkGetPhysicalDeviceSparseImageFormatProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties+--+vkGetPhysicalDeviceSparseImageFormatPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkSampleCountFlagBits -- ^ samples+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageTiling -- ^ tiling+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkSparseImageFormatProperties -- ^ pProperties+ -> IO ()+vkGetPhysicalDeviceSparseImageFormatPropertiesSafe+ = vkGetPhysicalDeviceSparseImageFormatProperties++{-# INLINE vkGetPhysicalDeviceSparseImageFormatPropertiesSafe #-}+##endif++-- | > void vkGetPhysicalDeviceSparseImageFormatProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkImageType type+-- > , VkSampleCountFlagBits samples+-- > , VkImageUsageFlags usage+-- > , VkImageTiling tiling+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSparseImageFormatProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkSampleCountFlagBits -- ^ samples+ ->+ VkImageUsageFlags -- ^ usage+ ->+ VkImageTiling -- ^ tiling+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties -- ^ pProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceSparseImageFormatProperties =+ FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSparseImageFormatProperties ::+ PFN_vkGetPhysicalDeviceSparseImageFormatProperties ->+ HS_vkGetPhysicalDeviceSparseImageFormatProperties++instance VulkanProc+ "vkGetPhysicalDeviceSparseImageFormatProperties"+ where+ type VkProcType "vkGetPhysicalDeviceSparseImageFormatProperties" =+ HS_vkGetPhysicalDeviceSparseImageFormatProperties+ vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceSparseImageFormatProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueueBindSparse :: CString++pattern VkQueueBindSparse <- (is_VkQueueBindSparse -> True)+ where VkQueueBindSparse = _VkQueueBindSparse++{-# INLINE _VkQueueBindSparse #-}++_VkQueueBindSparse :: CString+_VkQueueBindSparse = Ptr "vkQueueBindSparse\NUL"##++{-# INLINE is_VkQueueBindSparse #-}++is_VkQueueBindSparse :: CString -> Bool+is_VkQueueBindSparse = (EQ ==) . cmpCStrings _VkQueueBindSparse++type VkQueueBindSparse = "vkQueueBindSparse"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- > ( VkQueue queue+-- > , uint32_t bindInfoCount+-- > , const VkBindSparseInfo* pBindInfo+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkQueueBindSparse" vkQueueBindSparse+ ::+ VkQueue -- ^ queue+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindSparseInfo -- ^ pBindInfo+ -> VkFence -- ^ fence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- > ( VkQueue queue+-- > , uint32_t bindInfoCount+-- > , const VkBindSparseInfo* pBindInfo+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueueBindSparseSafe@ and @vkQueueBindSparse@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance+--+-- or less efficient:+--+-- > myQueueBindSparse <- vkGetProc @VkQueueBindSparse+--+vkQueueBindSparse ::+ VkQueue -- ^ queue+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindSparseInfo -- ^ pBindInfo+ -> VkFence -- ^ fence+ -> IO VkResult+vkQueueBindSparse+ = unsafeDupablePerformIO (vkGetProc @VkQueueBindSparse)++{-# NOINLINE vkQueueBindSparse #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- > ( VkQueue queue+-- > , uint32_t bindInfoCount+-- > , const VkBindSparseInfo* pBindInfo+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkQueueBindSparse" vkQueueBindSparseSafe+ ::+ VkQueue -- ^ queue+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindSparseInfo -- ^ pBindInfo+ -> VkFence -- ^ fence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- > ( VkQueue queue+-- > , uint32_t bindInfoCount+-- > , const VkBindSparseInfo* pBindInfo+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueueBindSparseSafe@ and @vkQueueBindSparse@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueueBindSparse <- vkGetInstanceProc @VkQueueBindSparse vkInstance+--+-- or less efficient:+--+-- > myQueueBindSparse <- vkGetProc @VkQueueBindSparse+--+vkQueueBindSparseSafe ::+ VkQueue -- ^ queue+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindSparseInfo -- ^ pBindInfo+ -> VkFence -- ^ fence+ -> IO VkResult+vkQueueBindSparseSafe = vkQueueBindSparse++{-# INLINE vkQueueBindSparseSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- Queues: 'sparse_binding'.+--+-- > VkResult vkQueueBindSparse+-- > ( VkQueue queue+-- > , uint32_t bindInfoCount+-- > , const VkBindSparseInfo* pBindInfo+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBindSparse vkQueueBindSparse registry at www.khronos.org>+type HS_vkQueueBindSparse =+ VkQueue -- ^ queue+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindSparseInfo -- ^ pBindInfo+ -> VkFence -- ^ fence+ -> IO VkResult++type PFN_vkQueueBindSparse = FunPtr HS_vkQueueBindSparse++foreign import ccall "dynamic" unwrapVkQueueBindSparse ::+ PFN_vkQueueBindSparse -> HS_vkQueueBindSparse++instance VulkanProc "vkQueueBindSparse" where+ type VkProcType "vkQueueBindSparse" = HS_vkQueueBindSparse+ vkProcSymbol = _VkQueueBindSparse++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueueBindSparse++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateFence :: CString++pattern VkCreateFence <- (is_VkCreateFence -> True)+ where VkCreateFence = _VkCreateFence++{-# INLINE _VkCreateFence #-}++_VkCreateFence :: CString+_VkCreateFence = Ptr "vkCreateFence\NUL"##++{-# INLINE is_VkCreateFence #-}++is_VkCreateFence :: CString -> Bool+is_VkCreateFence = (EQ ==) . cmpCStrings _VkCreateFence++type VkCreateFence = "vkCreateFence"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- > ( VkDevice device+-- > , const VkFenceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFence* pFence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateFence" vkCreateFence ::+ VkDevice -- ^ device+ ->+ Ptr VkFenceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- > ( VkDevice device+-- > , const VkFenceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFence* pFence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateFenceSafe@ and @vkCreateFence@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice+--+-- or less efficient:+--+-- > myCreateFence <- vkGetProc @VkCreateFence+--+vkCreateFence ::+ VkDevice -- ^ device+ ->+ Ptr VkFenceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult+vkCreateFence = unsafeDupablePerformIO (vkGetProc @VkCreateFence)++{-# NOINLINE vkCreateFence #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- > ( VkDevice device+-- > , const VkFenceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFence* pFence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateFence" vkCreateFenceSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkFenceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- > ( VkDevice device+-- > , const VkFenceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFence* pFence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateFenceSafe@ and @vkCreateFence@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFence <- vkGetDeviceProc @VkCreateFence vkDevice+--+-- or less efficient:+--+-- > myCreateFence <- vkGetProc @VkCreateFence+--+vkCreateFenceSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkFenceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult+vkCreateFenceSafe = vkCreateFence++{-# INLINE vkCreateFenceSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFence+-- > ( VkDevice device+-- > , const VkFenceCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFence* pFence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFence vkCreateFence registry at www.khronos.org>+type HS_vkCreateFence =+ VkDevice -- ^ device+ ->+ Ptr VkFenceCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult++type PFN_vkCreateFence = FunPtr HS_vkCreateFence++foreign import ccall "dynamic" unwrapVkCreateFence ::+ PFN_vkCreateFence -> HS_vkCreateFence++instance VulkanProc "vkCreateFence" where+ type VkProcType "vkCreateFence" = HS_vkCreateFence+ vkProcSymbol = _VkCreateFence++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateFence++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyFence :: CString++pattern VkDestroyFence <- (is_VkDestroyFence -> True)+ where VkDestroyFence = _VkDestroyFence++{-# INLINE _VkDestroyFence #-}++_VkDestroyFence :: CString+_VkDestroyFence = Ptr "vkDestroyFence\NUL"##++{-# INLINE is_VkDestroyFence #-}++is_VkDestroyFence :: CString -> Bool+is_VkDestroyFence = (EQ ==) . cmpCStrings _VkDestroyFence++type VkDestroyFence = "vkDestroyFence"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyFence+-- > ( VkDevice device+-- > , VkFence fence+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyFence" vkDestroyFence ::+ VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyFence+-- > ( VkDevice device+-- > , VkFence fence+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyFenceSafe@ and @vkDestroyFence@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice+--+-- or less efficient:+--+-- > myDestroyFence <- vkGetProc @VkDestroyFence+--+vkDestroyFence ::+ VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyFence = unsafeDupablePerformIO (vkGetProc @VkDestroyFence)++{-# NOINLINE vkDestroyFence #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyFence+-- > ( VkDevice device+-- > , VkFence fence+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyFence" vkDestroyFenceSafe ::+ VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyFence+-- > ( VkDevice device+-- > , VkFence fence+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyFenceSafe@ and @vkDestroyFence@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFence <- vkGetDeviceProc @VkDestroyFence vkDevice+--+-- or less efficient:+--+-- > myDestroyFence <- vkGetProc @VkDestroyFence+--+vkDestroyFenceSafe ::+ VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyFenceSafe = vkDestroyFence++{-# INLINE vkDestroyFenceSafe #-}+##endif++-- | > void vkDestroyFence+-- > ( VkDevice device+-- > , VkFence fence+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFence vkDestroyFence registry at www.khronos.org>+type HS_vkDestroyFence =+ VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyFence = FunPtr HS_vkDestroyFence++foreign import ccall "dynamic" unwrapVkDestroyFence ::+ PFN_vkDestroyFence -> HS_vkDestroyFence++instance VulkanProc "vkDestroyFence" where+ type VkProcType "vkDestroyFence" = HS_vkDestroyFence+ vkProcSymbol = _VkDestroyFence++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyFence++ {-# INLINE unwrapVkProcPtr #-}++pattern VkResetFences :: CString++pattern VkResetFences <- (is_VkResetFences -> True)+ where VkResetFences = _VkResetFences++{-# INLINE _VkResetFences #-}++_VkResetFences :: CString+_VkResetFences = Ptr "vkResetFences\NUL"##++{-# INLINE is_VkResetFences #-}++is_VkResetFences :: CString -> Bool+is_VkResetFences = (EQ ==) . cmpCStrings _VkResetFences++type VkResetFences = "vkResetFences"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkResetFences" vkResetFences ::+ VkDevice -- ^ device+ -> Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetFencesSafe@ and @vkResetFences@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice+--+-- or less efficient:+--+-- > myResetFences <- vkGetProc @VkResetFences+--+vkResetFences :: VkDevice -- ^ device+ -> Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> IO VkResult+vkResetFences = unsafeDupablePerformIO (vkGetProc @VkResetFences)++{-# NOINLINE vkResetFences #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkResetFences" vkResetFencesSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetFencesSafe@ and @vkResetFences@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetFences <- vkGetDeviceProc @VkResetFences vkDevice+--+-- or less efficient:+--+-- > myResetFences <- vkGetProc @VkResetFences+--+vkResetFencesSafe ::+ VkDevice -- ^ device+ -> Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> IO VkResult+vkResetFencesSafe = vkResetFences++{-# INLINE vkResetFencesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetFences vkResetFences registry at www.khronos.org>+type HS_vkResetFences =+ VkDevice -- ^ device+ -> Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> IO VkResult++type PFN_vkResetFences = FunPtr HS_vkResetFences++foreign import ccall "dynamic" unwrapVkResetFences ::+ PFN_vkResetFences -> HS_vkResetFences++instance VulkanProc "vkResetFences" where+ type VkProcType "vkResetFences" = HS_vkResetFences+ vkProcSymbol = _VkResetFences++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkResetFences++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetFenceStatus :: CString++pattern VkGetFenceStatus <- (is_VkGetFenceStatus -> True)+ where VkGetFenceStatus = _VkGetFenceStatus++{-# INLINE _VkGetFenceStatus #-}++_VkGetFenceStatus :: CString+_VkGetFenceStatus = Ptr "vkGetFenceStatus\NUL"##++{-# INLINE is_VkGetFenceStatus #-}++is_VkGetFenceStatus :: CString -> Bool+is_VkGetFenceStatus = (EQ ==) . cmpCStrings _VkGetFenceStatus++type VkGetFenceStatus = "vkGetFenceStatus"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- > ( VkDevice device+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetFenceStatus" vkGetFenceStatus ::+ VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- > ( VkDevice device+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetFenceStatusSafe@ and @vkGetFenceStatus@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice+--+-- or less efficient:+--+-- > myGetFenceStatus <- vkGetProc @VkGetFenceStatus+--+vkGetFenceStatus :: VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> IO VkResult+vkGetFenceStatus+ = unsafeDupablePerformIO (vkGetProc @VkGetFenceStatus)++{-# NOINLINE vkGetFenceStatus #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- > ( VkDevice device+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetFenceStatus" vkGetFenceStatusSafe+ :: VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- > ( VkDevice device+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetFenceStatusSafe@ and @vkGetFenceStatus@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetFenceStatus <- vkGetDeviceProc @VkGetFenceStatus vkDevice+--+-- or less efficient:+--+-- > myGetFenceStatus <- vkGetProc @VkGetFenceStatus+--+vkGetFenceStatusSafe :: VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> IO VkResult+vkGetFenceStatusSafe = vkGetFenceStatus++{-# INLINE vkGetFenceStatusSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetFenceStatus+-- > ( VkDevice device+-- > , VkFence fence+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceStatus vkGetFenceStatus registry at www.khronos.org>+type HS_vkGetFenceStatus = VkDevice -- ^ device+ -> VkFence -- ^ fence+ -> IO VkResult++type PFN_vkGetFenceStatus = FunPtr HS_vkGetFenceStatus++foreign import ccall "dynamic" unwrapVkGetFenceStatus ::+ PFN_vkGetFenceStatus -> HS_vkGetFenceStatus++instance VulkanProc "vkGetFenceStatus" where+ type VkProcType "vkGetFenceStatus" = HS_vkGetFenceStatus+ vkProcSymbol = _VkGetFenceStatus++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetFenceStatus++ {-# INLINE unwrapVkProcPtr #-}++pattern VkWaitForFences :: CString++pattern VkWaitForFences <- (is_VkWaitForFences -> True)+ where VkWaitForFences = _VkWaitForFences++{-# INLINE _VkWaitForFences #-}++_VkWaitForFences :: CString+_VkWaitForFences = Ptr "vkWaitForFences\NUL"##++{-# INLINE is_VkWaitForFences #-}++is_VkWaitForFences :: CString -> Bool+is_VkWaitForFences = (EQ ==) . cmpCStrings _VkWaitForFences++type VkWaitForFences = "vkWaitForFences"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > , VkBool32 waitAll+-- > , uint64_t timeout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkWaitForFences" vkWaitForFences ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> VkBool32 -- ^ waitAll+ -> Word64 -- ^ timeout+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > , VkBool32 waitAll+-- > , uint64_t timeout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkWaitForFencesSafe@ and @vkWaitForFences@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice+--+-- or less efficient:+--+-- > myWaitForFences <- vkGetProc @VkWaitForFences+--+vkWaitForFences ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> VkBool32 -- ^ waitAll+ -> Word64 -- ^ timeout+ -> IO VkResult+vkWaitForFences+ = unsafeDupablePerformIO (vkGetProc @VkWaitForFences)++{-# NOINLINE vkWaitForFences #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > , VkBool32 waitAll+-- > , uint64_t timeout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkWaitForFences" vkWaitForFencesSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> VkBool32 -- ^ waitAll+ -> Word64 -- ^ timeout+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > , VkBool32 waitAll+-- > , uint64_t timeout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkWaitForFencesSafe@ and @vkWaitForFences@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myWaitForFences <- vkGetDeviceProc @VkWaitForFences vkDevice+--+-- or less efficient:+--+-- > myWaitForFences <- vkGetProc @VkWaitForFences+--+vkWaitForFencesSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> VkBool32 -- ^ waitAll+ -> Word64 -- ^ timeout+ -> IO VkResult+vkWaitForFencesSafe = vkWaitForFences++{-# INLINE vkWaitForFencesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkWaitForFences+-- > ( VkDevice device+-- > , uint32_t fenceCount+-- > , const VkFence* pFences+-- > , VkBool32 waitAll+-- > , uint64_t timeout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkWaitForFences vkWaitForFences registry at www.khronos.org>+type HS_vkWaitForFences =+ VkDevice -- ^ device+ ->+ Word32 -- ^ fenceCount+ -> Ptr VkFence -- ^ pFences+ -> VkBool32 -- ^ waitAll+ -> Word64 -- ^ timeout+ -> IO VkResult++type PFN_vkWaitForFences = FunPtr HS_vkWaitForFences++foreign import ccall "dynamic" unwrapVkWaitForFences ::+ PFN_vkWaitForFences -> HS_vkWaitForFences++instance VulkanProc "vkWaitForFences" where+ type VkProcType "vkWaitForFences" = HS_vkWaitForFences+ vkProcSymbol = _VkWaitForFences++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkWaitForFences++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateSemaphore :: CString++pattern VkCreateSemaphore <- (is_VkCreateSemaphore -> True)+ where VkCreateSemaphore = _VkCreateSemaphore++{-# INLINE _VkCreateSemaphore #-}++_VkCreateSemaphore :: CString+_VkCreateSemaphore = Ptr "vkCreateSemaphore\NUL"##++{-# INLINE is_VkCreateSemaphore #-}++is_VkCreateSemaphore :: CString -> Bool+is_VkCreateSemaphore = (EQ ==) . cmpCStrings _VkCreateSemaphore++type VkCreateSemaphore = "vkCreateSemaphore"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- > ( VkDevice device+-- > , const VkSemaphoreCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSemaphore* pSemaphore+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateSemaphore" vkCreateSemaphore+ ::+ VkDevice -- ^ device+ ->+ Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSemaphore -- ^ pSemaphore+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- > ( VkDevice device+-- > , const VkSemaphoreCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSemaphore* pSemaphore+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSemaphoreSafe@ and @vkCreateSemaphore@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice+--+-- or less efficient:+--+-- > myCreateSemaphore <- vkGetProc @VkCreateSemaphore+--+vkCreateSemaphore ::+ VkDevice -- ^ device+ ->+ Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSemaphore -- ^ pSemaphore+ -> IO VkResult+vkCreateSemaphore+ = unsafeDupablePerformIO (vkGetProc @VkCreateSemaphore)++{-# NOINLINE vkCreateSemaphore #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- > ( VkDevice device+-- > , const VkSemaphoreCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSemaphore* pSemaphore+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateSemaphore" vkCreateSemaphoreSafe+ ::+ VkDevice -- ^ device+ ->+ Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSemaphore -- ^ pSemaphore+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- > ( VkDevice device+-- > , const VkSemaphoreCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSemaphore* pSemaphore+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSemaphoreSafe@ and @vkCreateSemaphore@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSemaphore <- vkGetDeviceProc @VkCreateSemaphore vkDevice+--+-- or less efficient:+--+-- > myCreateSemaphore <- vkGetProc @VkCreateSemaphore+--+vkCreateSemaphoreSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSemaphore -- ^ pSemaphore+ -> IO VkResult+vkCreateSemaphoreSafe = vkCreateSemaphore++{-# INLINE vkCreateSemaphoreSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSemaphore+-- > ( VkDevice device+-- > , const VkSemaphoreCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSemaphore* pSemaphore+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSemaphore vkCreateSemaphore registry at www.khronos.org>+type HS_vkCreateSemaphore =+ VkDevice -- ^ device+ ->+ Ptr VkSemaphoreCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSemaphore -- ^ pSemaphore+ -> IO VkResult++type PFN_vkCreateSemaphore = FunPtr HS_vkCreateSemaphore++foreign import ccall "dynamic" unwrapVkCreateSemaphore ::+ PFN_vkCreateSemaphore -> HS_vkCreateSemaphore++instance VulkanProc "vkCreateSemaphore" where+ type VkProcType "vkCreateSemaphore" = HS_vkCreateSemaphore+ vkProcSymbol = _VkCreateSemaphore++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateSemaphore++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroySemaphore :: CString++pattern VkDestroySemaphore <- (is_VkDestroySemaphore -> True)+ where VkDestroySemaphore = _VkDestroySemaphore++{-# INLINE _VkDestroySemaphore #-}++_VkDestroySemaphore :: CString+_VkDestroySemaphore = Ptr "vkDestroySemaphore\NUL"##++{-# INLINE is_VkDestroySemaphore #-}++is_VkDestroySemaphore :: CString -> Bool+is_VkDestroySemaphore = (EQ ==) . cmpCStrings _VkDestroySemaphore++type VkDestroySemaphore = "vkDestroySemaphore"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySemaphore+-- > ( VkDevice device+-- > , VkSemaphore semaphore+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroySemaphore" vkDestroySemaphore+ :: VkDevice -- ^ device+ -> VkSemaphore -- ^ semaphore+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroySemaphore+-- > ( VkDevice device+-- > , VkSemaphore semaphore+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySemaphoreSafe@ and @vkDestroySemaphore@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice+--+-- or less efficient:+--+-- > myDestroySemaphore <- vkGetProc @VkDestroySemaphore+--+vkDestroySemaphore ::+ VkDevice -- ^ device+ -> VkSemaphore -- ^ semaphore+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySemaphore+ = unsafeDupablePerformIO (vkGetProc @VkDestroySemaphore)++{-# NOINLINE vkDestroySemaphore #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySemaphore+-- > ( VkDevice device+-- > , VkSemaphore semaphore+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroySemaphore"+ vkDestroySemaphoreSafe ::+ VkDevice -- ^ device+ -> VkSemaphore -- ^ semaphore+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroySemaphore+-- > ( VkDevice device+-- > , VkSemaphore semaphore+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySemaphoreSafe@ and @vkDestroySemaphore@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySemaphore <- vkGetDeviceProc @VkDestroySemaphore vkDevice+--+-- or less efficient:+--+-- > myDestroySemaphore <- vkGetProc @VkDestroySemaphore+--+vkDestroySemaphoreSafe ::+ VkDevice -- ^ device+ -> VkSemaphore -- ^ semaphore+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySemaphoreSafe = vkDestroySemaphore++{-# INLINE vkDestroySemaphoreSafe #-}+##endif++-- | > void vkDestroySemaphore+-- > ( VkDevice device+-- > , VkSemaphore semaphore+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySemaphore vkDestroySemaphore registry at www.khronos.org>+type HS_vkDestroySemaphore =+ VkDevice -- ^ device+ -> VkSemaphore -- ^ semaphore+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroySemaphore = FunPtr HS_vkDestroySemaphore++foreign import ccall "dynamic" unwrapVkDestroySemaphore ::+ PFN_vkDestroySemaphore -> HS_vkDestroySemaphore++instance VulkanProc "vkDestroySemaphore" where+ type VkProcType "vkDestroySemaphore" = HS_vkDestroySemaphore+ vkProcSymbol = _VkDestroySemaphore++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroySemaphore++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateEvent :: CString++pattern VkCreateEvent <- (is_VkCreateEvent -> True)+ where VkCreateEvent = _VkCreateEvent++{-# INLINE _VkCreateEvent #-}++_VkCreateEvent :: CString+_VkCreateEvent = Ptr "vkCreateEvent\NUL"##++{-# INLINE is_VkCreateEvent #-}++is_VkCreateEvent :: CString -> Bool+is_VkCreateEvent = (EQ ==) . cmpCStrings _VkCreateEvent++type VkCreateEvent = "vkCreateEvent"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- > ( VkDevice device+-- > , const VkEventCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkEvent* pEvent+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateEvent" vkCreateEvent ::+ VkDevice -- ^ device+ ->+ Ptr VkEventCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkEvent -- ^ pEvent+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- > ( VkDevice device+-- > , const VkEventCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkEvent* pEvent+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateEventSafe@ and @vkCreateEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice+--+-- or less efficient:+--+-- > myCreateEvent <- vkGetProc @VkCreateEvent+--+vkCreateEvent ::+ VkDevice -- ^ device+ ->+ Ptr VkEventCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkEvent -- ^ pEvent+ -> IO VkResult+vkCreateEvent = unsafeDupablePerformIO (vkGetProc @VkCreateEvent)++{-# NOINLINE vkCreateEvent #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- > ( VkDevice device+-- > , const VkEventCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkEvent* pEvent+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateEvent" vkCreateEventSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkEventCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkEvent -- ^ pEvent+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- > ( VkDevice device+-- > , const VkEventCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkEvent* pEvent+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateEventSafe@ and @vkCreateEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateEvent <- vkGetDeviceProc @VkCreateEvent vkDevice+--+-- or less efficient:+--+-- > myCreateEvent <- vkGetProc @VkCreateEvent+--+vkCreateEventSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkEventCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkEvent -- ^ pEvent+ -> IO VkResult+vkCreateEventSafe = vkCreateEvent++{-# INLINE vkCreateEventSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateEvent+-- > ( VkDevice device+-- > , const VkEventCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkEvent* pEvent+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateEvent vkCreateEvent registry at www.khronos.org>+type HS_vkCreateEvent =+ VkDevice -- ^ device+ ->+ Ptr VkEventCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkEvent -- ^ pEvent+ -> IO VkResult++type PFN_vkCreateEvent = FunPtr HS_vkCreateEvent++foreign import ccall "dynamic" unwrapVkCreateEvent ::+ PFN_vkCreateEvent -> HS_vkCreateEvent++instance VulkanProc "vkCreateEvent" where+ type VkProcType "vkCreateEvent" = HS_vkCreateEvent+ vkProcSymbol = _VkCreateEvent++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateEvent++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyEvent :: CString++pattern VkDestroyEvent <- (is_VkDestroyEvent -> True)+ where VkDestroyEvent = _VkDestroyEvent++{-# INLINE _VkDestroyEvent #-}++_VkDestroyEvent :: CString+_VkDestroyEvent = Ptr "vkDestroyEvent\NUL"##++{-# INLINE is_VkDestroyEvent #-}++is_VkDestroyEvent :: CString -> Bool+is_VkDestroyEvent = (EQ ==) . cmpCStrings _VkDestroyEvent++type VkDestroyEvent = "vkDestroyEvent"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyEvent" vkDestroyEvent ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyEventSafe@ and @vkDestroyEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice+--+-- or less efficient:+--+-- > myDestroyEvent <- vkGetProc @VkDestroyEvent+--+vkDestroyEvent ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyEvent = unsafeDupablePerformIO (vkGetProc @VkDestroyEvent)++{-# NOINLINE vkDestroyEvent #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyEvent" vkDestroyEventSafe ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyEventSafe@ and @vkDestroyEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyEvent <- vkGetDeviceProc @VkDestroyEvent vkDevice+--+-- or less efficient:+--+-- > myDestroyEvent <- vkGetProc @VkDestroyEvent+--+vkDestroyEventSafe ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyEventSafe = vkDestroyEvent++{-# INLINE vkDestroyEventSafe #-}+##endif++-- | > void vkDestroyEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyEvent vkDestroyEvent registry at www.khronos.org>+type HS_vkDestroyEvent =+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyEvent = FunPtr HS_vkDestroyEvent++foreign import ccall "dynamic" unwrapVkDestroyEvent ::+ PFN_vkDestroyEvent -> HS_vkDestroyEvent++instance VulkanProc "vkDestroyEvent" where+ type VkProcType "vkDestroyEvent" = HS_vkDestroyEvent+ vkProcSymbol = _VkDestroyEvent++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyEvent++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetEventStatus :: CString++pattern VkGetEventStatus <- (is_VkGetEventStatus -> True)+ where VkGetEventStatus = _VkGetEventStatus++{-# INLINE _VkGetEventStatus #-}++_VkGetEventStatus :: CString+_VkGetEventStatus = Ptr "vkGetEventStatus\NUL"##++{-# INLINE is_VkGetEventStatus #-}++is_VkGetEventStatus :: CString -> Bool+is_VkGetEventStatus = (EQ ==) . cmpCStrings _VkGetEventStatus++type VkGetEventStatus = "vkGetEventStatus"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetEventStatus" vkGetEventStatus ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetEventStatusSafe@ and @vkGetEventStatus@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice+--+-- or less efficient:+--+-- > myGetEventStatus <- vkGetProc @VkGetEventStatus+--+vkGetEventStatus :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult+vkGetEventStatus+ = unsafeDupablePerformIO (vkGetProc @VkGetEventStatus)++{-# NOINLINE vkGetEventStatus #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetEventStatus" vkGetEventStatusSafe+ :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetEventStatusSafe@ and @vkGetEventStatus@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetEventStatus <- vkGetDeviceProc @VkGetEventStatus vkDevice+--+-- or less efficient:+--+-- > myGetEventStatus <- vkGetProc @VkGetEventStatus+--+vkGetEventStatusSafe :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult+vkGetEventStatusSafe = vkGetEventStatus++{-# INLINE vkGetEventStatusSafe #-}+##endif++-- | Success codes: 'VK_EVENT_SET', 'VK_EVENT_RESET'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetEventStatus+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetEventStatus vkGetEventStatus registry at www.khronos.org>+type HS_vkGetEventStatus = VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++type PFN_vkGetEventStatus = FunPtr HS_vkGetEventStatus++foreign import ccall "dynamic" unwrapVkGetEventStatus ::+ PFN_vkGetEventStatus -> HS_vkGetEventStatus++instance VulkanProc "vkGetEventStatus" where+ type VkProcType "vkGetEventStatus" = HS_vkGetEventStatus+ vkProcSymbol = _VkGetEventStatus++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetEventStatus++ {-# INLINE unwrapVkProcPtr #-}++pattern VkSetEvent :: CString++pattern VkSetEvent <- (is_VkSetEvent -> True)+ where VkSetEvent = _VkSetEvent++{-# INLINE _VkSetEvent #-}++_VkSetEvent :: CString+_VkSetEvent = Ptr "vkSetEvent\NUL"##++{-# INLINE is_VkSetEvent #-}++is_VkSetEvent :: CString -> Bool+is_VkSetEvent = (EQ ==) . cmpCStrings _VkSetEvent++type VkSetEvent = "vkSetEvent"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkSetEvent" vkSetEvent ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkSetEventSafe@ and @vkSetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice+--+-- or less efficient:+--+-- > mySetEvent <- vkGetProc @VkSetEvent+--+vkSetEvent :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult+vkSetEvent = unsafeDupablePerformIO (vkGetProc @VkSetEvent)++{-# NOINLINE vkSetEvent #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkSetEvent" vkSetEventSafe ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkSetEventSafe@ and @vkSetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > mySetEvent <- vkGetDeviceProc @VkSetEvent vkDevice+--+-- or less efficient:+--+-- > mySetEvent <- vkGetProc @VkSetEvent+--+vkSetEventSafe :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult+vkSetEventSafe = vkSetEvent++{-# INLINE vkSetEventSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkSetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetEvent vkSetEvent registry at www.khronos.org>+type HS_vkSetEvent = VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++type PFN_vkSetEvent = FunPtr HS_vkSetEvent++foreign import ccall "dynamic" unwrapVkSetEvent ::+ PFN_vkSetEvent -> HS_vkSetEvent++instance VulkanProc "vkSetEvent" where+ type VkProcType "vkSetEvent" = HS_vkSetEvent+ vkProcSymbol = _VkSetEvent++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkSetEvent++ {-# INLINE unwrapVkProcPtr #-}++pattern VkResetEvent :: CString++pattern VkResetEvent <- (is_VkResetEvent -> True)+ where VkResetEvent = _VkResetEvent++{-# INLINE _VkResetEvent #-}++_VkResetEvent :: CString+_VkResetEvent = Ptr "vkResetEvent\NUL"##++{-# INLINE is_VkResetEvent #-}++is_VkResetEvent :: CString -> Bool+is_VkResetEvent = (EQ ==) . cmpCStrings _VkResetEvent++type VkResetEvent = "vkResetEvent"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkResetEvent" vkResetEvent ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetEventSafe@ and @vkResetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice+--+-- or less efficient:+--+-- > myResetEvent <- vkGetProc @VkResetEvent+--+vkResetEvent :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult+vkResetEvent = unsafeDupablePerformIO (vkGetProc @VkResetEvent)++{-# NOINLINE vkResetEvent #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkResetEvent" vkResetEventSafe ::+ VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetEventSafe@ and @vkResetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetEvent <- vkGetDeviceProc @VkResetEvent vkDevice+--+-- or less efficient:+--+-- > myResetEvent <- vkGetProc @VkResetEvent+--+vkResetEventSafe :: VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult+vkResetEventSafe = vkResetEvent++{-# INLINE vkResetEventSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetEvent+-- > ( VkDevice device+-- > , VkEvent event+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetEvent vkResetEvent registry at www.khronos.org>+type HS_vkResetEvent = VkDevice -- ^ device+ -> VkEvent -- ^ event+ -> IO VkResult++type PFN_vkResetEvent = FunPtr HS_vkResetEvent++foreign import ccall "dynamic" unwrapVkResetEvent ::+ PFN_vkResetEvent -> HS_vkResetEvent++instance VulkanProc "vkResetEvent" where+ type VkProcType "vkResetEvent" = HS_vkResetEvent+ vkProcSymbol = _VkResetEvent++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkResetEvent++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateQueryPool :: CString++pattern VkCreateQueryPool <- (is_VkCreateQueryPool -> True)+ where VkCreateQueryPool = _VkCreateQueryPool++{-# INLINE _VkCreateQueryPool #-}++_VkCreateQueryPool :: CString+_VkCreateQueryPool = Ptr "vkCreateQueryPool\NUL"##++{-# INLINE is_VkCreateQueryPool #-}++is_VkCreateQueryPool :: CString -> Bool+is_VkCreateQueryPool = (EQ ==) . cmpCStrings _VkCreateQueryPool++type VkCreateQueryPool = "vkCreateQueryPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- > ( VkDevice device+-- > , const VkQueryPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkQueryPool* pQueryPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateQueryPool" vkCreateQueryPool+ ::+ VkDevice -- ^ device+ ->+ Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkQueryPool -- ^ pQueryPool+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- > ( VkDevice device+-- > , const VkQueryPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkQueryPool* pQueryPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateQueryPoolSafe@ and @vkCreateQueryPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice+--+-- or less efficient:+--+-- > myCreateQueryPool <- vkGetProc @VkCreateQueryPool+--+vkCreateQueryPool ::+ VkDevice -- ^ device+ ->+ Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkQueryPool -- ^ pQueryPool+ -> IO VkResult+vkCreateQueryPool+ = unsafeDupablePerformIO (vkGetProc @VkCreateQueryPool)++{-# NOINLINE vkCreateQueryPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- > ( VkDevice device+-- > , const VkQueryPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkQueryPool* pQueryPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateQueryPool" vkCreateQueryPoolSafe+ ::+ VkDevice -- ^ device+ ->+ Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkQueryPool -- ^ pQueryPool+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- > ( VkDevice device+-- > , const VkQueryPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkQueryPool* pQueryPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateQueryPoolSafe@ and @vkCreateQueryPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateQueryPool <- vkGetDeviceProc @VkCreateQueryPool vkDevice+--+-- or less efficient:+--+-- > myCreateQueryPool <- vkGetProc @VkCreateQueryPool+--+vkCreateQueryPoolSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkQueryPool -- ^ pQueryPool+ -> IO VkResult+vkCreateQueryPoolSafe = vkCreateQueryPool++{-# INLINE vkCreateQueryPoolSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateQueryPool+-- > ( VkDevice device+-- > , const VkQueryPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkQueryPool* pQueryPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateQueryPool vkCreateQueryPool registry at www.khronos.org>+type HS_vkCreateQueryPool =+ VkDevice -- ^ device+ ->+ Ptr VkQueryPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkQueryPool -- ^ pQueryPool+ -> IO VkResult++type PFN_vkCreateQueryPool = FunPtr HS_vkCreateQueryPool++foreign import ccall "dynamic" unwrapVkCreateQueryPool ::+ PFN_vkCreateQueryPool -> HS_vkCreateQueryPool++instance VulkanProc "vkCreateQueryPool" where+ type VkProcType "vkCreateQueryPool" = HS_vkCreateQueryPool+ vkProcSymbol = _VkCreateQueryPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateQueryPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyQueryPool :: CString++pattern VkDestroyQueryPool <- (is_VkDestroyQueryPool -> True)+ where VkDestroyQueryPool = _VkDestroyQueryPool++{-# INLINE _VkDestroyQueryPool #-}++_VkDestroyQueryPool :: CString+_VkDestroyQueryPool = Ptr "vkDestroyQueryPool\NUL"##++{-# INLINE is_VkDestroyQueryPool #-}++is_VkDestroyQueryPool :: CString -> Bool+is_VkDestroyQueryPool = (EQ ==) . cmpCStrings _VkDestroyQueryPool++type VkDestroyQueryPool = "vkDestroyQueryPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyQueryPool+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyQueryPool" vkDestroyQueryPool+ :: VkDevice -- ^ device+ -> VkQueryPool -- ^ queryPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyQueryPool+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyQueryPoolSafe@ and @vkDestroyQueryPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice+--+-- or less efficient:+--+-- > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool+--+vkDestroyQueryPool ::+ VkDevice -- ^ device+ -> VkQueryPool -- ^ queryPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyQueryPool+ = unsafeDupablePerformIO (vkGetProc @VkDestroyQueryPool)++{-# NOINLINE vkDestroyQueryPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyQueryPool+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyQueryPool"+ vkDestroyQueryPoolSafe ::+ VkDevice -- ^ device+ -> VkQueryPool -- ^ queryPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyQueryPool+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyQueryPoolSafe@ and @vkDestroyQueryPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyQueryPool <- vkGetDeviceProc @VkDestroyQueryPool vkDevice+--+-- or less efficient:+--+-- > myDestroyQueryPool <- vkGetProc @VkDestroyQueryPool+--+vkDestroyQueryPoolSafe ::+ VkDevice -- ^ device+ -> VkQueryPool -- ^ queryPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyQueryPoolSafe = vkDestroyQueryPool++{-# INLINE vkDestroyQueryPoolSafe #-}+##endif++-- | > void vkDestroyQueryPool+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyQueryPool vkDestroyQueryPool registry at www.khronos.org>+type HS_vkDestroyQueryPool =+ VkDevice -- ^ device+ -> VkQueryPool -- ^ queryPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyQueryPool = FunPtr HS_vkDestroyQueryPool++foreign import ccall "dynamic" unwrapVkDestroyQueryPool ::+ PFN_vkDestroyQueryPool -> HS_vkDestroyQueryPool++instance VulkanProc "vkDestroyQueryPool" where+ type VkProcType "vkDestroyQueryPool" = HS_vkDestroyQueryPool+ vkProcSymbol = _VkDestroyQueryPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyQueryPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetQueryPoolResults :: CString++pattern VkGetQueryPoolResults <- (is_VkGetQueryPoolResults -> True)+ where VkGetQueryPoolResults = _VkGetQueryPoolResults++{-# INLINE _VkGetQueryPoolResults #-}++_VkGetQueryPoolResults :: CString+_VkGetQueryPoolResults = Ptr "vkGetQueryPoolResults\NUL"##++{-# INLINE is_VkGetQueryPoolResults #-}++is_VkGetQueryPoolResults :: CString -> Bool+is_VkGetQueryPoolResults+ = (EQ ==) . cmpCStrings _VkGetQueryPoolResults++type VkGetQueryPoolResults = "vkGetQueryPoolResults"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , size_t dataSize+-- > , void* pData+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetQueryPoolResults"+ vkGetQueryPoolResults ::+ VkDevice -- ^ device+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ CSize -- ^ dataSize+ ->+ Ptr Void -- ^ pData+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , size_t dataSize+-- > , void* pData+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetQueryPoolResultsSafe@ and @vkGetQueryPoolResults@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice+--+-- or less efficient:+--+-- > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults+--+vkGetQueryPoolResults ::+ VkDevice -- ^ device+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ CSize -- ^ dataSize+ ->+ Ptr Void -- ^ pData+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO VkResult+vkGetQueryPoolResults+ = unsafeDupablePerformIO (vkGetProc @VkGetQueryPoolResults)++{-# NOINLINE vkGetQueryPoolResults #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , size_t dataSize+-- > , void* pData+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetQueryPoolResults"+ vkGetQueryPoolResultsSafe ::+ VkDevice -- ^ device+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ CSize -- ^ dataSize+ ->+ Ptr Void -- ^ pData+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , size_t dataSize+-- > , void* pData+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetQueryPoolResultsSafe@ and @vkGetQueryPoolResults@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetQueryPoolResults <- vkGetDeviceProc @VkGetQueryPoolResults vkDevice+--+-- or less efficient:+--+-- > myGetQueryPoolResults <- vkGetProc @VkGetQueryPoolResults+--+vkGetQueryPoolResultsSafe ::+ VkDevice -- ^ device+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ CSize -- ^ dataSize+ ->+ Ptr Void -- ^ pData+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO VkResult+vkGetQueryPoolResultsSafe = vkGetQueryPoolResults++{-# INLINE vkGetQueryPoolResultsSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_NOT_READY'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST'.+--+-- > VkResult vkGetQueryPoolResults+-- > ( VkDevice device+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , size_t dataSize+-- > , void* pData+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetQueryPoolResults vkGetQueryPoolResults registry at www.khronos.org>+type HS_vkGetQueryPoolResults =+ VkDevice -- ^ device+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ CSize -- ^ dataSize+ ->+ Ptr Void -- ^ pData+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO VkResult++type PFN_vkGetQueryPoolResults = FunPtr HS_vkGetQueryPoolResults++foreign import ccall "dynamic" unwrapVkGetQueryPoolResults ::+ PFN_vkGetQueryPoolResults -> HS_vkGetQueryPoolResults++instance VulkanProc "vkGetQueryPoolResults" where+ type VkProcType "vkGetQueryPoolResults" = HS_vkGetQueryPoolResults+ vkProcSymbol = _VkGetQueryPoolResults++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetQueryPoolResults++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateBuffer :: CString++pattern VkCreateBuffer <- (is_VkCreateBuffer -> True)+ where VkCreateBuffer = _VkCreateBuffer++{-# INLINE _VkCreateBuffer #-}++_VkCreateBuffer :: CString+_VkCreateBuffer = Ptr "vkCreateBuffer\NUL"##++{-# INLINE is_VkCreateBuffer #-}++is_VkCreateBuffer :: CString -> Bool+is_VkCreateBuffer = (EQ ==) . cmpCStrings _VkCreateBuffer++type VkCreateBuffer = "vkCreateBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- > ( VkDevice device+-- > , const VkBufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBuffer* pBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateBuffer" vkCreateBuffer ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBuffer -- ^ pBuffer+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- > ( VkDevice device+-- > , const VkBufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBuffer* pBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateBufferSafe@ and @vkCreateBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice+--+-- or less efficient:+--+-- > myCreateBuffer <- vkGetProc @VkCreateBuffer+--+vkCreateBuffer ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBuffer -- ^ pBuffer+ -> IO VkResult+vkCreateBuffer = unsafeDupablePerformIO (vkGetProc @VkCreateBuffer)++{-# NOINLINE vkCreateBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- > ( VkDevice device+-- > , const VkBufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBuffer* pBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateBuffer" vkCreateBufferSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBuffer -- ^ pBuffer+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- > ( VkDevice device+-- > , const VkBufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBuffer* pBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateBufferSafe@ and @vkCreateBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBuffer <- vkGetDeviceProc @VkCreateBuffer vkDevice+--+-- or less efficient:+--+-- > myCreateBuffer <- vkGetProc @VkCreateBuffer+--+vkCreateBufferSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBuffer -- ^ pBuffer+ -> IO VkResult+vkCreateBufferSafe = vkCreateBuffer++{-# INLINE vkCreateBufferSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBuffer+-- > ( VkDevice device+-- > , const VkBufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBuffer* pBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBuffer vkCreateBuffer registry at www.khronos.org>+type HS_vkCreateBuffer =+ VkDevice -- ^ device+ ->+ Ptr VkBufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBuffer -- ^ pBuffer+ -> IO VkResult++type PFN_vkCreateBuffer = FunPtr HS_vkCreateBuffer++foreign import ccall "dynamic" unwrapVkCreateBuffer ::+ PFN_vkCreateBuffer -> HS_vkCreateBuffer++instance VulkanProc "vkCreateBuffer" where+ type VkProcType "vkCreateBuffer" = HS_vkCreateBuffer+ vkProcSymbol = _VkCreateBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyBuffer :: CString++pattern VkDestroyBuffer <- (is_VkDestroyBuffer -> True)+ where VkDestroyBuffer = _VkDestroyBuffer++{-# INLINE _VkDestroyBuffer #-}++_VkDestroyBuffer :: CString+_VkDestroyBuffer = Ptr "vkDestroyBuffer\NUL"##++{-# INLINE is_VkDestroyBuffer #-}++is_VkDestroyBuffer :: CString -> Bool+is_VkDestroyBuffer = (EQ ==) . cmpCStrings _VkDestroyBuffer++type VkDestroyBuffer = "vkDestroyBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyBuffer+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyBuffer" vkDestroyBuffer ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyBuffer+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyBufferSafe@ and @vkDestroyBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyBuffer <- vkGetProc @VkDestroyBuffer+--+vkDestroyBuffer ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyBuffer+ = unsafeDupablePerformIO (vkGetProc @VkDestroyBuffer)++{-# NOINLINE vkDestroyBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyBuffer+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyBuffer" vkDestroyBufferSafe ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyBuffer+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyBufferSafe@ and @vkDestroyBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBuffer <- vkGetDeviceProc @VkDestroyBuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyBuffer <- vkGetProc @VkDestroyBuffer+--+vkDestroyBufferSafe ::+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyBufferSafe = vkDestroyBuffer++{-# INLINE vkDestroyBufferSafe #-}+##endif++-- | > void vkDestroyBuffer+-- > ( VkDevice device+-- > , VkBuffer buffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBuffer vkDestroyBuffer registry at www.khronos.org>+type HS_vkDestroyBuffer =+ VkDevice -- ^ device+ -> VkBuffer -- ^ buffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyBuffer = FunPtr HS_vkDestroyBuffer++foreign import ccall "dynamic" unwrapVkDestroyBuffer ::+ PFN_vkDestroyBuffer -> HS_vkDestroyBuffer++instance VulkanProc "vkDestroyBuffer" where+ type VkProcType "vkDestroyBuffer" = HS_vkDestroyBuffer+ vkProcSymbol = _VkDestroyBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateBufferView :: CString++pattern VkCreateBufferView <- (is_VkCreateBufferView -> True)+ where VkCreateBufferView = _VkCreateBufferView++{-# INLINE _VkCreateBufferView #-}++_VkCreateBufferView :: CString+_VkCreateBufferView = Ptr "vkCreateBufferView\NUL"##++{-# INLINE is_VkCreateBufferView #-}++is_VkCreateBufferView :: CString -> Bool+is_VkCreateBufferView = (EQ ==) . cmpCStrings _VkCreateBufferView++type VkCreateBufferView = "vkCreateBufferView"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- > ( VkDevice device+-- > , const VkBufferViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBufferView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateBufferView" vkCreateBufferView+ ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBufferView -- ^ pView+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- > ( VkDevice device+-- > , const VkBufferViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBufferView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateBufferViewSafe@ and @vkCreateBufferView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice+--+-- or less efficient:+--+-- > myCreateBufferView <- vkGetProc @VkCreateBufferView+--+vkCreateBufferView ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBufferView -- ^ pView+ -> IO VkResult+vkCreateBufferView+ = unsafeDupablePerformIO (vkGetProc @VkCreateBufferView)++{-# NOINLINE vkCreateBufferView #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- > ( VkDevice device+-- > , const VkBufferViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBufferView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateBufferView"+ vkCreateBufferViewSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBufferView -- ^ pView+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- > ( VkDevice device+-- > , const VkBufferViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBufferView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateBufferViewSafe@ and @vkCreateBufferView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateBufferView <- vkGetDeviceProc @VkCreateBufferView vkDevice+--+-- or less efficient:+--+-- > myCreateBufferView <- vkGetProc @VkCreateBufferView+--+vkCreateBufferViewSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBufferView -- ^ pView+ -> IO VkResult+vkCreateBufferViewSafe = vkCreateBufferView++{-# INLINE vkCreateBufferViewSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateBufferView+-- > ( VkDevice device+-- > , const VkBufferViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkBufferView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateBufferView vkCreateBufferView registry at www.khronos.org>+type HS_vkCreateBufferView =+ VkDevice -- ^ device+ ->+ Ptr VkBufferViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkBufferView -- ^ pView+ -> IO VkResult++type PFN_vkCreateBufferView = FunPtr HS_vkCreateBufferView++foreign import ccall "dynamic" unwrapVkCreateBufferView ::+ PFN_vkCreateBufferView -> HS_vkCreateBufferView++instance VulkanProc "vkCreateBufferView" where+ type VkProcType "vkCreateBufferView" = HS_vkCreateBufferView+ vkProcSymbol = _VkCreateBufferView++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateBufferView++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyBufferView :: CString++pattern VkDestroyBufferView <- (is_VkDestroyBufferView -> True)+ where VkDestroyBufferView = _VkDestroyBufferView++{-# INLINE _VkDestroyBufferView #-}++_VkDestroyBufferView :: CString+_VkDestroyBufferView = Ptr "vkDestroyBufferView\NUL"##++{-# INLINE is_VkDestroyBufferView #-}++is_VkDestroyBufferView :: CString -> Bool+is_VkDestroyBufferView = (EQ ==) . cmpCStrings _VkDestroyBufferView++type VkDestroyBufferView = "vkDestroyBufferView"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyBufferView+-- > ( VkDevice device+-- > , VkBufferView bufferView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyBufferView"+ vkDestroyBufferView ::+ VkDevice -- ^ device+ -> VkBufferView -- ^ bufferView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyBufferView+-- > ( VkDevice device+-- > , VkBufferView bufferView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyBufferViewSafe@ and @vkDestroyBufferView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice+--+-- or less efficient:+--+-- > myDestroyBufferView <- vkGetProc @VkDestroyBufferView+--+vkDestroyBufferView ::+ VkDevice -- ^ device+ -> VkBufferView -- ^ bufferView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyBufferView+ = unsafeDupablePerformIO (vkGetProc @VkDestroyBufferView)++{-# NOINLINE vkDestroyBufferView #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyBufferView+-- > ( VkDevice device+-- > , VkBufferView bufferView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyBufferView"+ vkDestroyBufferViewSafe ::+ VkDevice -- ^ device+ -> VkBufferView -- ^ bufferView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyBufferView+-- > ( VkDevice device+-- > , VkBufferView bufferView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyBufferViewSafe@ and @vkDestroyBufferView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyBufferView <- vkGetDeviceProc @VkDestroyBufferView vkDevice+--+-- or less efficient:+--+-- > myDestroyBufferView <- vkGetProc @VkDestroyBufferView+--+vkDestroyBufferViewSafe ::+ VkDevice -- ^ device+ -> VkBufferView -- ^ bufferView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyBufferViewSafe = vkDestroyBufferView++{-# INLINE vkDestroyBufferViewSafe #-}+##endif++-- | > void vkDestroyBufferView+-- > ( VkDevice device+-- > , VkBufferView bufferView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyBufferView vkDestroyBufferView registry at www.khronos.org>+type HS_vkDestroyBufferView =+ VkDevice -- ^ device+ -> VkBufferView -- ^ bufferView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyBufferView = FunPtr HS_vkDestroyBufferView++foreign import ccall "dynamic" unwrapVkDestroyBufferView ::+ PFN_vkDestroyBufferView -> HS_vkDestroyBufferView++instance VulkanProc "vkDestroyBufferView" where+ type VkProcType "vkDestroyBufferView" = HS_vkDestroyBufferView+ vkProcSymbol = _VkDestroyBufferView++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyBufferView++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateImage :: CString++pattern VkCreateImage <- (is_VkCreateImage -> True)+ where VkCreateImage = _VkCreateImage++{-# INLINE _VkCreateImage #-}++_VkCreateImage :: CString+_VkCreateImage = Ptr "vkCreateImage\NUL"##++{-# INLINE is_VkCreateImage #-}++is_VkCreateImage :: CString -> Bool+is_VkCreateImage = (EQ ==) . cmpCStrings _VkCreateImage++type VkCreateImage = "vkCreateImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- > ( VkDevice device+-- > , const VkImageCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImage* pImage+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateImage" vkCreateImage ::+ VkDevice -- ^ device+ ->+ Ptr VkImageCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImage -- ^ pImage+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- > ( VkDevice device+-- > , const VkImageCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImage* pImage+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateImageSafe@ and @vkCreateImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice+--+-- or less efficient:+--+-- > myCreateImage <- vkGetProc @VkCreateImage+--+vkCreateImage ::+ VkDevice -- ^ device+ ->+ Ptr VkImageCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImage -- ^ pImage+ -> IO VkResult+vkCreateImage = unsafeDupablePerformIO (vkGetProc @VkCreateImage)++{-# NOINLINE vkCreateImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- > ( VkDevice device+-- > , const VkImageCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImage* pImage+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateImage" vkCreateImageSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImage -- ^ pImage+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- > ( VkDevice device+-- > , const VkImageCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImage* pImage+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateImageSafe@ and @vkCreateImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImage <- vkGetDeviceProc @VkCreateImage vkDevice+--+-- or less efficient:+--+-- > myCreateImage <- vkGetProc @VkCreateImage+--+vkCreateImageSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImage -- ^ pImage+ -> IO VkResult+vkCreateImageSafe = vkCreateImage++{-# INLINE vkCreateImageSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImage+-- > ( VkDevice device+-- > , const VkImageCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImage* pImage+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImage vkCreateImage registry at www.khronos.org>+type HS_vkCreateImage =+ VkDevice -- ^ device+ ->+ Ptr VkImageCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImage -- ^ pImage+ -> IO VkResult++type PFN_vkCreateImage = FunPtr HS_vkCreateImage++foreign import ccall "dynamic" unwrapVkCreateImage ::+ PFN_vkCreateImage -> HS_vkCreateImage++instance VulkanProc "vkCreateImage" where+ type VkProcType "vkCreateImage" = HS_vkCreateImage+ vkProcSymbol = _VkCreateImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyImage :: CString++pattern VkDestroyImage <- (is_VkDestroyImage -> True)+ where VkDestroyImage = _VkDestroyImage++{-# INLINE _VkDestroyImage #-}++_VkDestroyImage :: CString+_VkDestroyImage = Ptr "vkDestroyImage\NUL"##++{-# INLINE is_VkDestroyImage #-}++is_VkDestroyImage :: CString -> Bool+is_VkDestroyImage = (EQ ==) . cmpCStrings _VkDestroyImage++type VkDestroyImage = "vkDestroyImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyImage+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyImage" vkDestroyImage ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyImage+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyImageSafe@ and @vkDestroyImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice+--+-- or less efficient:+--+-- > myDestroyImage <- vkGetProc @VkDestroyImage+--+vkDestroyImage ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyImage = unsafeDupablePerformIO (vkGetProc @VkDestroyImage)++{-# NOINLINE vkDestroyImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyImage+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyImage" vkDestroyImageSafe ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyImage+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyImageSafe@ and @vkDestroyImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImage <- vkGetDeviceProc @VkDestroyImage vkDevice+--+-- or less efficient:+--+-- > myDestroyImage <- vkGetProc @VkDestroyImage+--+vkDestroyImageSafe ::+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyImageSafe = vkDestroyImage++{-# INLINE vkDestroyImageSafe #-}+##endif++-- | > void vkDestroyImage+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImage vkDestroyImage registry at www.khronos.org>+type HS_vkDestroyImage =+ VkDevice -- ^ device+ -> VkImage -- ^ image+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyImage = FunPtr HS_vkDestroyImage++foreign import ccall "dynamic" unwrapVkDestroyImage ::+ PFN_vkDestroyImage -> HS_vkDestroyImage++instance VulkanProc "vkDestroyImage" where+ type VkProcType "vkDestroyImage" = HS_vkDestroyImage+ vkProcSymbol = _VkDestroyImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetImageSubresourceLayout :: CString++pattern VkGetImageSubresourceLayout <-+ (is_VkGetImageSubresourceLayout -> True)+ where VkGetImageSubresourceLayout = _VkGetImageSubresourceLayout++{-# INLINE _VkGetImageSubresourceLayout #-}++_VkGetImageSubresourceLayout :: CString+_VkGetImageSubresourceLayout+ = Ptr "vkGetImageSubresourceLayout\NUL"##++{-# INLINE is_VkGetImageSubresourceLayout #-}++is_VkGetImageSubresourceLayout :: CString -> Bool+is_VkGetImageSubresourceLayout+ = (EQ ==) . cmpCStrings _VkGetImageSubresourceLayout++type VkGetImageSubresourceLayout = "vkGetImageSubresourceLayout"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetImageSubresourceLayout+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkImageSubresource* pSubresource+-- > , VkSubresourceLayout* pLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetImageSubresourceLayout"+ vkGetImageSubresourceLayout ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr VkImageSubresource -- ^ pSubresource+ -> Ptr VkSubresourceLayout -- ^ pLayout+ -> IO ()++##else+-- |+-- > void vkGetImageSubresourceLayout+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkImageSubresource* pSubresource+-- > , VkSubresourceLayout* pLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageSubresourceLayoutSafe@ and @vkGetImageSubresourceLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice+--+-- or less efficient:+--+-- > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout+--+vkGetImageSubresourceLayout ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr VkImageSubresource -- ^ pSubresource+ -> Ptr VkSubresourceLayout -- ^ pLayout+ -> IO ()+vkGetImageSubresourceLayout+ = unsafeDupablePerformIO (vkGetProc @VkGetImageSubresourceLayout)++{-# NOINLINE vkGetImageSubresourceLayout #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetImageSubresourceLayout+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkImageSubresource* pSubresource+-- > , VkSubresourceLayout* pLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetImageSubresourceLayout"+ vkGetImageSubresourceLayoutSafe ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr VkImageSubresource -- ^ pSubresource+ -> Ptr VkSubresourceLayout -- ^ pLayout+ -> IO ()++##else+-- |+-- > void vkGetImageSubresourceLayout+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkImageSubresource* pSubresource+-- > , VkSubresourceLayout* pLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageSubresourceLayoutSafe@ and @vkGetImageSubresourceLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSubresourceLayout <- vkGetDeviceProc @VkGetImageSubresourceLayout vkDevice+--+-- or less efficient:+--+-- > myGetImageSubresourceLayout <- vkGetProc @VkGetImageSubresourceLayout+--+vkGetImageSubresourceLayoutSafe ::+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr VkImageSubresource -- ^ pSubresource+ -> Ptr VkSubresourceLayout -- ^ pLayout+ -> IO ()+vkGetImageSubresourceLayoutSafe = vkGetImageSubresourceLayout++{-# INLINE vkGetImageSubresourceLayoutSafe #-}+##endif++-- | > void vkGetImageSubresourceLayout+-- > ( VkDevice device+-- > , VkImage image+-- > , const VkImageSubresource* pSubresource+-- > , VkSubresourceLayout* pLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSubresourceLayout vkGetImageSubresourceLayout registry at www.khronos.org>+type HS_vkGetImageSubresourceLayout =+ VkDevice -- ^ device+ ->+ VkImage -- ^ image+ ->+ Ptr VkImageSubresource -- ^ pSubresource+ -> Ptr VkSubresourceLayout -- ^ pLayout+ -> IO ()++type PFN_vkGetImageSubresourceLayout =+ FunPtr HS_vkGetImageSubresourceLayout++foreign import ccall "dynamic" unwrapVkGetImageSubresourceLayout ::+ PFN_vkGetImageSubresourceLayout -> HS_vkGetImageSubresourceLayout++instance VulkanProc "vkGetImageSubresourceLayout" where+ type VkProcType "vkGetImageSubresourceLayout" =+ HS_vkGetImageSubresourceLayout+ vkProcSymbol = _VkGetImageSubresourceLayout++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageSubresourceLayout++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateImageView :: CString++pattern VkCreateImageView <- (is_VkCreateImageView -> True)+ where VkCreateImageView = _VkCreateImageView++{-# INLINE _VkCreateImageView #-}++_VkCreateImageView :: CString+_VkCreateImageView = Ptr "vkCreateImageView\NUL"##++{-# INLINE is_VkCreateImageView #-}++is_VkCreateImageView :: CString -> Bool+is_VkCreateImageView = (EQ ==) . cmpCStrings _VkCreateImageView++type VkCreateImageView = "vkCreateImageView"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- > ( VkDevice device+-- > , const VkImageViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImageView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateImageView" vkCreateImageView+ ::+ VkDevice -- ^ device+ ->+ Ptr VkImageViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImageView -- ^ pView+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- > ( VkDevice device+-- > , const VkImageViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImageView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateImageViewSafe@ and @vkCreateImageView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice+--+-- or less efficient:+--+-- > myCreateImageView <- vkGetProc @VkCreateImageView+--+vkCreateImageView ::+ VkDevice -- ^ device+ ->+ Ptr VkImageViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImageView -- ^ pView+ -> IO VkResult+vkCreateImageView+ = unsafeDupablePerformIO (vkGetProc @VkCreateImageView)++{-# NOINLINE vkCreateImageView #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- > ( VkDevice device+-- > , const VkImageViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImageView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateImageView" vkCreateImageViewSafe+ ::+ VkDevice -- ^ device+ ->+ Ptr VkImageViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImageView -- ^ pView+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- > ( VkDevice device+-- > , const VkImageViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImageView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateImageViewSafe@ and @vkCreateImageView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateImageView <- vkGetDeviceProc @VkCreateImageView vkDevice+--+-- or less efficient:+--+-- > myCreateImageView <- vkGetProc @VkCreateImageView+--+vkCreateImageViewSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImageView -- ^ pView+ -> IO VkResult+vkCreateImageViewSafe = vkCreateImageView++{-# INLINE vkCreateImageViewSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateImageView+-- > ( VkDevice device+-- > , const VkImageViewCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkImageView* pView+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateImageView vkCreateImageView registry at www.khronos.org>+type HS_vkCreateImageView =+ VkDevice -- ^ device+ ->+ Ptr VkImageViewCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkImageView -- ^ pView+ -> IO VkResult++type PFN_vkCreateImageView = FunPtr HS_vkCreateImageView++foreign import ccall "dynamic" unwrapVkCreateImageView ::+ PFN_vkCreateImageView -> HS_vkCreateImageView++instance VulkanProc "vkCreateImageView" where+ type VkProcType "vkCreateImageView" = HS_vkCreateImageView+ vkProcSymbol = _VkCreateImageView++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateImageView++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyImageView :: CString++pattern VkDestroyImageView <- (is_VkDestroyImageView -> True)+ where VkDestroyImageView = _VkDestroyImageView++{-# INLINE _VkDestroyImageView #-}++_VkDestroyImageView :: CString+_VkDestroyImageView = Ptr "vkDestroyImageView\NUL"##++{-# INLINE is_VkDestroyImageView #-}++is_VkDestroyImageView :: CString -> Bool+is_VkDestroyImageView = (EQ ==) . cmpCStrings _VkDestroyImageView++type VkDestroyImageView = "vkDestroyImageView"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyImageView+-- > ( VkDevice device+-- > , VkImageView imageView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyImageView" vkDestroyImageView+ :: VkDevice -- ^ device+ -> VkImageView -- ^ imageView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyImageView+-- > ( VkDevice device+-- > , VkImageView imageView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyImageViewSafe@ and @vkDestroyImageView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice+--+-- or less efficient:+--+-- > myDestroyImageView <- vkGetProc @VkDestroyImageView+--+vkDestroyImageView ::+ VkDevice -- ^ device+ -> VkImageView -- ^ imageView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyImageView+ = unsafeDupablePerformIO (vkGetProc @VkDestroyImageView)++{-# NOINLINE vkDestroyImageView #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyImageView+-- > ( VkDevice device+-- > , VkImageView imageView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyImageView"+ vkDestroyImageViewSafe ::+ VkDevice -- ^ device+ -> VkImageView -- ^ imageView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyImageView+-- > ( VkDevice device+-- > , VkImageView imageView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyImageViewSafe@ and @vkDestroyImageView@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyImageView <- vkGetDeviceProc @VkDestroyImageView vkDevice+--+-- or less efficient:+--+-- > myDestroyImageView <- vkGetProc @VkDestroyImageView+--+vkDestroyImageViewSafe ::+ VkDevice -- ^ device+ -> VkImageView -- ^ imageView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyImageViewSafe = vkDestroyImageView++{-# INLINE vkDestroyImageViewSafe #-}+##endif++-- | > void vkDestroyImageView+-- > ( VkDevice device+-- > , VkImageView imageView+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyImageView vkDestroyImageView registry at www.khronos.org>+type HS_vkDestroyImageView =+ VkDevice -- ^ device+ -> VkImageView -- ^ imageView+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyImageView = FunPtr HS_vkDestroyImageView++foreign import ccall "dynamic" unwrapVkDestroyImageView ::+ PFN_vkDestroyImageView -> HS_vkDestroyImageView++instance VulkanProc "vkDestroyImageView" where+ type VkProcType "vkDestroyImageView" = HS_vkDestroyImageView+ vkProcSymbol = _VkDestroyImageView++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyImageView++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateShaderModule :: CString++pattern VkCreateShaderModule <- (is_VkCreateShaderModule -> True)+ where VkCreateShaderModule = _VkCreateShaderModule++{-# INLINE _VkCreateShaderModule #-}++_VkCreateShaderModule :: CString+_VkCreateShaderModule = Ptr "vkCreateShaderModule\NUL"##++{-# INLINE is_VkCreateShaderModule #-}++is_VkCreateShaderModule :: CString -> Bool+is_VkCreateShaderModule+ = (EQ ==) . cmpCStrings _VkCreateShaderModule++type VkCreateShaderModule = "vkCreateShaderModule"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- > ( VkDevice device+-- > , const VkShaderModuleCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkShaderModule* pShaderModule+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateShaderModule"+ vkCreateShaderModule ::+ VkDevice -- ^ device+ ->+ Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkShaderModule -- ^ pShaderModule+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- > ( VkDevice device+-- > , const VkShaderModuleCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkShaderModule* pShaderModule+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateShaderModuleSafe@ and @vkCreateShaderModule@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice+--+-- or less efficient:+--+-- > myCreateShaderModule <- vkGetProc @VkCreateShaderModule+--+vkCreateShaderModule ::+ VkDevice -- ^ device+ ->+ Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkShaderModule -- ^ pShaderModule+ -> IO VkResult+vkCreateShaderModule+ = unsafeDupablePerformIO (vkGetProc @VkCreateShaderModule)++{-# NOINLINE vkCreateShaderModule #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- > ( VkDevice device+-- > , const VkShaderModuleCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkShaderModule* pShaderModule+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateShaderModule"+ vkCreateShaderModuleSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkShaderModule -- ^ pShaderModule+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- > ( VkDevice device+-- > , const VkShaderModuleCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkShaderModule* pShaderModule+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateShaderModuleSafe@ and @vkCreateShaderModule@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateShaderModule <- vkGetDeviceProc @VkCreateShaderModule vkDevice+--+-- or less efficient:+--+-- > myCreateShaderModule <- vkGetProc @VkCreateShaderModule+--+vkCreateShaderModuleSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkShaderModule -- ^ pShaderModule+ -> IO VkResult+vkCreateShaderModuleSafe = vkCreateShaderModule++{-# INLINE vkCreateShaderModuleSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateShaderModule+-- > ( VkDevice device+-- > , const VkShaderModuleCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkShaderModule* pShaderModule+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateShaderModule vkCreateShaderModule registry at www.khronos.org>+type HS_vkCreateShaderModule =+ VkDevice -- ^ device+ ->+ Ptr VkShaderModuleCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkShaderModule -- ^ pShaderModule+ -> IO VkResult++type PFN_vkCreateShaderModule = FunPtr HS_vkCreateShaderModule++foreign import ccall "dynamic" unwrapVkCreateShaderModule ::+ PFN_vkCreateShaderModule -> HS_vkCreateShaderModule++instance VulkanProc "vkCreateShaderModule" where+ type VkProcType "vkCreateShaderModule" = HS_vkCreateShaderModule+ vkProcSymbol = _VkCreateShaderModule++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateShaderModule++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyShaderModule :: CString++pattern VkDestroyShaderModule <- (is_VkDestroyShaderModule -> True)+ where VkDestroyShaderModule = _VkDestroyShaderModule++{-# INLINE _VkDestroyShaderModule #-}++_VkDestroyShaderModule :: CString+_VkDestroyShaderModule = Ptr "vkDestroyShaderModule\NUL"##++{-# INLINE is_VkDestroyShaderModule #-}++is_VkDestroyShaderModule :: CString -> Bool+is_VkDestroyShaderModule+ = (EQ ==) . cmpCStrings _VkDestroyShaderModule++type VkDestroyShaderModule = "vkDestroyShaderModule"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyShaderModule+-- > ( VkDevice device+-- > , VkShaderModule shaderModule+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyShaderModule"+ vkDestroyShaderModule ::+ VkDevice -- ^ device+ -> VkShaderModule -- ^ shaderModule+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyShaderModule+-- > ( VkDevice device+-- > , VkShaderModule shaderModule+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyShaderModuleSafe@ and @vkDestroyShaderModule@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice+--+-- or less efficient:+--+-- > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule+--+vkDestroyShaderModule ::+ VkDevice -- ^ device+ -> VkShaderModule -- ^ shaderModule+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyShaderModule+ = unsafeDupablePerformIO (vkGetProc @VkDestroyShaderModule)++{-# NOINLINE vkDestroyShaderModule #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyShaderModule+-- > ( VkDevice device+-- > , VkShaderModule shaderModule+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyShaderModule"+ vkDestroyShaderModuleSafe ::+ VkDevice -- ^ device+ -> VkShaderModule -- ^ shaderModule+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyShaderModule+-- > ( VkDevice device+-- > , VkShaderModule shaderModule+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyShaderModuleSafe@ and @vkDestroyShaderModule@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyShaderModule <- vkGetDeviceProc @VkDestroyShaderModule vkDevice+--+-- or less efficient:+--+-- > myDestroyShaderModule <- vkGetProc @VkDestroyShaderModule+--+vkDestroyShaderModuleSafe ::+ VkDevice -- ^ device+ -> VkShaderModule -- ^ shaderModule+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyShaderModuleSafe = vkDestroyShaderModule++{-# INLINE vkDestroyShaderModuleSafe #-}+##endif++-- | > void vkDestroyShaderModule+-- > ( VkDevice device+-- > , VkShaderModule shaderModule+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyShaderModule vkDestroyShaderModule registry at www.khronos.org>+type HS_vkDestroyShaderModule =+ VkDevice -- ^ device+ -> VkShaderModule -- ^ shaderModule+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyShaderModule = FunPtr HS_vkDestroyShaderModule++foreign import ccall "dynamic" unwrapVkDestroyShaderModule ::+ PFN_vkDestroyShaderModule -> HS_vkDestroyShaderModule++instance VulkanProc "vkDestroyShaderModule" where+ type VkProcType "vkDestroyShaderModule" = HS_vkDestroyShaderModule+ vkProcSymbol = _VkDestroyShaderModule++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyShaderModule++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreatePipelineCache :: CString++pattern VkCreatePipelineCache <- (is_VkCreatePipelineCache -> True)+ where VkCreatePipelineCache = _VkCreatePipelineCache++{-# INLINE _VkCreatePipelineCache #-}++_VkCreatePipelineCache :: CString+_VkCreatePipelineCache = Ptr "vkCreatePipelineCache\NUL"##++{-# INLINE is_VkCreatePipelineCache #-}++is_VkCreatePipelineCache :: CString -> Bool+is_VkCreatePipelineCache+ = (EQ ==) . cmpCStrings _VkCreatePipelineCache++type VkCreatePipelineCache = "vkCreatePipelineCache"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- > ( VkDevice device+-- > , const VkPipelineCacheCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineCache* pPipelineCache+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreatePipelineCache"+ vkCreatePipelineCache ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineCache -- ^ pPipelineCache+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- > ( VkDevice device+-- > , const VkPipelineCacheCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineCache* pPipelineCache+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreatePipelineCacheSafe@ and @vkCreatePipelineCache@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache+--+vkCreatePipelineCache ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineCache -- ^ pPipelineCache+ -> IO VkResult+vkCreatePipelineCache+ = unsafeDupablePerformIO (vkGetProc @VkCreatePipelineCache)++{-# NOINLINE vkCreatePipelineCache #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- > ( VkDevice device+-- > , const VkPipelineCacheCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineCache* pPipelineCache+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreatePipelineCache"+ vkCreatePipelineCacheSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineCache -- ^ pPipelineCache+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- > ( VkDevice device+-- > , const VkPipelineCacheCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineCache* pPipelineCache+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreatePipelineCacheSafe@ and @vkCreatePipelineCache@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineCache <- vkGetDeviceProc @VkCreatePipelineCache vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineCache <- vkGetProc @VkCreatePipelineCache+--+vkCreatePipelineCacheSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineCache -- ^ pPipelineCache+ -> IO VkResult+vkCreatePipelineCacheSafe = vkCreatePipelineCache++{-# INLINE vkCreatePipelineCacheSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineCache+-- > ( VkDevice device+-- > , const VkPipelineCacheCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineCache* pPipelineCache+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineCache vkCreatePipelineCache registry at www.khronos.org>+type HS_vkCreatePipelineCache =+ VkDevice -- ^ device+ ->+ Ptr VkPipelineCacheCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineCache -- ^ pPipelineCache+ -> IO VkResult++type PFN_vkCreatePipelineCache = FunPtr HS_vkCreatePipelineCache++foreign import ccall "dynamic" unwrapVkCreatePipelineCache ::+ PFN_vkCreatePipelineCache -> HS_vkCreatePipelineCache++instance VulkanProc "vkCreatePipelineCache" where+ type VkProcType "vkCreatePipelineCache" = HS_vkCreatePipelineCache+ vkProcSymbol = _VkCreatePipelineCache++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreatePipelineCache++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyPipelineCache :: CString++pattern VkDestroyPipelineCache <-+ (is_VkDestroyPipelineCache -> True)+ where VkDestroyPipelineCache = _VkDestroyPipelineCache++{-# INLINE _VkDestroyPipelineCache #-}++_VkDestroyPipelineCache :: CString+_VkDestroyPipelineCache = Ptr "vkDestroyPipelineCache\NUL"##++{-# INLINE is_VkDestroyPipelineCache #-}++is_VkDestroyPipelineCache :: CString -> Bool+is_VkDestroyPipelineCache+ = (EQ ==) . cmpCStrings _VkDestroyPipelineCache++type VkDestroyPipelineCache = "vkDestroyPipelineCache"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyPipelineCache+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyPipelineCache"+ vkDestroyPipelineCache ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyPipelineCache+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyPipelineCacheSafe@ and @vkDestroyPipelineCache@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache+--+vkDestroyPipelineCache ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyPipelineCache+ = unsafeDupablePerformIO (vkGetProc @VkDestroyPipelineCache)++{-# NOINLINE vkDestroyPipelineCache #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyPipelineCache+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyPipelineCache"+ vkDestroyPipelineCacheSafe ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyPipelineCache+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyPipelineCacheSafe@ and @vkDestroyPipelineCache@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineCache <- vkGetDeviceProc @VkDestroyPipelineCache vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineCache <- vkGetProc @VkDestroyPipelineCache+--+vkDestroyPipelineCacheSafe ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyPipelineCacheSafe = vkDestroyPipelineCache++{-# INLINE vkDestroyPipelineCacheSafe #-}+##endif++-- | > void vkDestroyPipelineCache+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineCache vkDestroyPipelineCache registry at www.khronos.org>+type HS_vkDestroyPipelineCache =+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyPipelineCache = FunPtr HS_vkDestroyPipelineCache++foreign import ccall "dynamic" unwrapVkDestroyPipelineCache ::+ PFN_vkDestroyPipelineCache -> HS_vkDestroyPipelineCache++instance VulkanProc "vkDestroyPipelineCache" where+ type VkProcType "vkDestroyPipelineCache" =+ HS_vkDestroyPipelineCache+ vkProcSymbol = _VkDestroyPipelineCache++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyPipelineCache++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPipelineCacheData :: CString++pattern VkGetPipelineCacheData <-+ (is_VkGetPipelineCacheData -> True)+ where VkGetPipelineCacheData = _VkGetPipelineCacheData++{-# INLINE _VkGetPipelineCacheData #-}++_VkGetPipelineCacheData :: CString+_VkGetPipelineCacheData = Ptr "vkGetPipelineCacheData\NUL"##++{-# INLINE is_VkGetPipelineCacheData #-}++is_VkGetPipelineCacheData :: CString -> Bool+is_VkGetPipelineCacheData+ = (EQ ==) . cmpCStrings _VkGetPipelineCacheData++type VkGetPipelineCacheData = "vkGetPipelineCacheData"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , size_t* pDataSize+-- > , void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPipelineCacheData"+ vkGetPipelineCacheData ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr CSize -- ^ pDataSize+ -> Ptr Void -- ^ pData+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , size_t* pDataSize+-- > , void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPipelineCacheDataSafe@ and @vkGetPipelineCacheData@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice+--+-- or less efficient:+--+-- > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData+--+vkGetPipelineCacheData ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr CSize -- ^ pDataSize+ -> Ptr Void -- ^ pData+ -> IO VkResult+vkGetPipelineCacheData+ = unsafeDupablePerformIO (vkGetProc @VkGetPipelineCacheData)++{-# NOINLINE vkGetPipelineCacheData #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , size_t* pDataSize+-- > , void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPipelineCacheData"+ vkGetPipelineCacheDataSafe ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr CSize -- ^ pDataSize+ -> Ptr Void -- ^ pData+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , size_t* pDataSize+-- > , void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPipelineCacheDataSafe@ and @vkGetPipelineCacheData@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPipelineCacheData <- vkGetDeviceProc @VkGetPipelineCacheData vkDevice+--+-- or less efficient:+--+-- > myGetPipelineCacheData <- vkGetProc @VkGetPipelineCacheData+--+vkGetPipelineCacheDataSafe ::+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr CSize -- ^ pDataSize+ -> Ptr Void -- ^ pData+ -> IO VkResult+vkGetPipelineCacheDataSafe = vkGetPipelineCacheData++{-# INLINE vkGetPipelineCacheDataSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPipelineCacheData+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , size_t* pDataSize+-- > , void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPipelineCacheData vkGetPipelineCacheData registry at www.khronos.org>+type HS_vkGetPipelineCacheData =+ VkDevice -- ^ device+ -> VkPipelineCache -- ^ pipelineCache+ -> Ptr CSize -- ^ pDataSize+ -> Ptr Void -- ^ pData+ -> IO VkResult++type PFN_vkGetPipelineCacheData = FunPtr HS_vkGetPipelineCacheData++foreign import ccall "dynamic" unwrapVkGetPipelineCacheData ::+ PFN_vkGetPipelineCacheData -> HS_vkGetPipelineCacheData++instance VulkanProc "vkGetPipelineCacheData" where+ type VkProcType "vkGetPipelineCacheData" =+ HS_vkGetPipelineCacheData+ vkProcSymbol = _VkGetPipelineCacheData++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPipelineCacheData++ {-# INLINE unwrapVkProcPtr #-}++pattern VkMergePipelineCaches :: CString++pattern VkMergePipelineCaches <- (is_VkMergePipelineCaches -> True)+ where VkMergePipelineCaches = _VkMergePipelineCaches++{-# INLINE _VkMergePipelineCaches #-}++_VkMergePipelineCaches :: CString+_VkMergePipelineCaches = Ptr "vkMergePipelineCaches\NUL"##++{-# INLINE is_VkMergePipelineCaches #-}++is_VkMergePipelineCaches :: CString -> Bool+is_VkMergePipelineCaches+ = (EQ ==) . cmpCStrings _VkMergePipelineCaches++type VkMergePipelineCaches = "vkMergePipelineCaches"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- > ( VkDevice device+-- > , VkPipelineCache dstCache+-- > , uint32_t srcCacheCount+-- > , const VkPipelineCache* pSrcCaches+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkMergePipelineCaches"+ vkMergePipelineCaches ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ dstCache+ -> Word32 -- ^ srcCacheCount+ -> Ptr VkPipelineCache -- ^ pSrcCaches+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- > ( VkDevice device+-- > , VkPipelineCache dstCache+-- > , uint32_t srcCacheCount+-- > , const VkPipelineCache* pSrcCaches+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkMergePipelineCachesSafe@ and @vkMergePipelineCaches@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice+--+-- or less efficient:+--+-- > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches+--+vkMergePipelineCaches ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ dstCache+ -> Word32 -- ^ srcCacheCount+ -> Ptr VkPipelineCache -- ^ pSrcCaches+ -> IO VkResult+vkMergePipelineCaches+ = unsafeDupablePerformIO (vkGetProc @VkMergePipelineCaches)++{-# NOINLINE vkMergePipelineCaches #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- > ( VkDevice device+-- > , VkPipelineCache dstCache+-- > , uint32_t srcCacheCount+-- > , const VkPipelineCache* pSrcCaches+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkMergePipelineCaches"+ vkMergePipelineCachesSafe ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ dstCache+ -> Word32 -- ^ srcCacheCount+ -> Ptr VkPipelineCache -- ^ pSrcCaches+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- > ( VkDevice device+-- > , VkPipelineCache dstCache+-- > , uint32_t srcCacheCount+-- > , const VkPipelineCache* pSrcCaches+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkMergePipelineCachesSafe@ and @vkMergePipelineCaches@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myMergePipelineCaches <- vkGetDeviceProc @VkMergePipelineCaches vkDevice+--+-- or less efficient:+--+-- > myMergePipelineCaches <- vkGetProc @VkMergePipelineCaches+--+vkMergePipelineCachesSafe ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ dstCache+ -> Word32 -- ^ srcCacheCount+ -> Ptr VkPipelineCache -- ^ pSrcCaches+ -> IO VkResult+vkMergePipelineCachesSafe = vkMergePipelineCaches++{-# INLINE vkMergePipelineCachesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkMergePipelineCaches+-- > ( VkDevice device+-- > , VkPipelineCache dstCache+-- > , uint32_t srcCacheCount+-- > , const VkPipelineCache* pSrcCaches+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergePipelineCaches vkMergePipelineCaches registry at www.khronos.org>+type HS_vkMergePipelineCaches =+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ dstCache+ -> Word32 -- ^ srcCacheCount+ -> Ptr VkPipelineCache -- ^ pSrcCaches+ -> IO VkResult++type PFN_vkMergePipelineCaches = FunPtr HS_vkMergePipelineCaches++foreign import ccall "dynamic" unwrapVkMergePipelineCaches ::+ PFN_vkMergePipelineCaches -> HS_vkMergePipelineCaches++instance VulkanProc "vkMergePipelineCaches" where+ type VkProcType "vkMergePipelineCaches" = HS_vkMergePipelineCaches+ vkProcSymbol = _VkMergePipelineCaches++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkMergePipelineCaches++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateGraphicsPipelines :: CString++pattern VkCreateGraphicsPipelines <-+ (is_VkCreateGraphicsPipelines -> True)+ where VkCreateGraphicsPipelines = _VkCreateGraphicsPipelines++{-# INLINE _VkCreateGraphicsPipelines #-}++_VkCreateGraphicsPipelines :: CString+_VkCreateGraphicsPipelines = Ptr "vkCreateGraphicsPipelines\NUL"##++{-# INLINE is_VkCreateGraphicsPipelines #-}++is_VkCreateGraphicsPipelines :: CString -> Bool+is_VkCreateGraphicsPipelines+ = (EQ ==) . cmpCStrings _VkCreateGraphicsPipelines++type VkCreateGraphicsPipelines = "vkCreateGraphicsPipelines"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateGraphicsPipelines"+ vkCreateGraphicsPipelines ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateGraphicsPipelinesSafe@ and @vkCreateGraphicsPipelines@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice+--+-- or less efficient:+--+-- > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines+--+vkCreateGraphicsPipelines ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult+vkCreateGraphicsPipelines+ = unsafeDupablePerformIO (vkGetProc @VkCreateGraphicsPipelines)++{-# NOINLINE vkCreateGraphicsPipelines #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateGraphicsPipelines"+ vkCreateGraphicsPipelinesSafe ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateGraphicsPipelinesSafe@ and @vkCreateGraphicsPipelines@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateGraphicsPipelines <- vkGetDeviceProc @VkCreateGraphicsPipelines vkDevice+--+-- or less efficient:+--+-- > myCreateGraphicsPipelines <- vkGetProc @VkCreateGraphicsPipelines+--+vkCreateGraphicsPipelinesSafe ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult+vkCreateGraphicsPipelinesSafe = vkCreateGraphicsPipelines++{-# INLINE vkCreateGraphicsPipelinesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateGraphicsPipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkGraphicsPipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateGraphicsPipelines vkCreateGraphicsPipelines registry at www.khronos.org>+type HS_vkCreateGraphicsPipelines =+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkGraphicsPipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult++type PFN_vkCreateGraphicsPipelines =+ FunPtr HS_vkCreateGraphicsPipelines++foreign import ccall "dynamic" unwrapVkCreateGraphicsPipelines ::+ PFN_vkCreateGraphicsPipelines -> HS_vkCreateGraphicsPipelines++instance VulkanProc "vkCreateGraphicsPipelines" where+ type VkProcType "vkCreateGraphicsPipelines" =+ HS_vkCreateGraphicsPipelines+ vkProcSymbol = _VkCreateGraphicsPipelines++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateGraphicsPipelines++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateComputePipelines :: CString++pattern VkCreateComputePipelines <-+ (is_VkCreateComputePipelines -> True)+ where VkCreateComputePipelines = _VkCreateComputePipelines++{-# INLINE _VkCreateComputePipelines #-}++_VkCreateComputePipelines :: CString+_VkCreateComputePipelines = Ptr "vkCreateComputePipelines\NUL"##++{-# INLINE is_VkCreateComputePipelines #-}++is_VkCreateComputePipelines :: CString -> Bool+is_VkCreateComputePipelines+ = (EQ ==) . cmpCStrings _VkCreateComputePipelines++type VkCreateComputePipelines = "vkCreateComputePipelines"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkComputePipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateComputePipelines"+ vkCreateComputePipelines ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkComputePipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateComputePipelinesSafe@ and @vkCreateComputePipelines@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice+--+-- or less efficient:+--+-- > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines+--+vkCreateComputePipelines ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult+vkCreateComputePipelines+ = unsafeDupablePerformIO (vkGetProc @VkCreateComputePipelines)++{-# NOINLINE vkCreateComputePipelines #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkComputePipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateComputePipelines"+ vkCreateComputePipelinesSafe ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkComputePipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateComputePipelinesSafe@ and @vkCreateComputePipelines@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateComputePipelines <- vkGetDeviceProc @VkCreateComputePipelines vkDevice+--+-- or less efficient:+--+-- > myCreateComputePipelines <- vkGetProc @VkCreateComputePipelines+--+vkCreateComputePipelinesSafe ::+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult+vkCreateComputePipelinesSafe = vkCreateComputePipelines++{-# INLINE vkCreateComputePipelinesSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INVALID_SHADER_NV'.+--+-- > VkResult vkCreateComputePipelines+-- > ( VkDevice device+-- > , VkPipelineCache pipelineCache+-- > , uint32_t createInfoCount+-- > , const VkComputePipelineCreateInfo* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipeline* pPipelines+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateComputePipelines vkCreateComputePipelines registry at www.khronos.org>+type HS_vkCreateComputePipelines =+ VkDevice -- ^ device+ ->+ VkPipelineCache -- ^ pipelineCache+ ->+ Word32 -- ^ createInfoCount+ ->+ Ptr VkComputePipelineCreateInfo -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipeline -- ^ pPipelines+ -> IO VkResult++type PFN_vkCreateComputePipelines =+ FunPtr HS_vkCreateComputePipelines++foreign import ccall "dynamic" unwrapVkCreateComputePipelines ::+ PFN_vkCreateComputePipelines -> HS_vkCreateComputePipelines++instance VulkanProc "vkCreateComputePipelines" where+ type VkProcType "vkCreateComputePipelines" =+ HS_vkCreateComputePipelines+ vkProcSymbol = _VkCreateComputePipelines++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateComputePipelines++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyPipeline :: CString++pattern VkDestroyPipeline <- (is_VkDestroyPipeline -> True)+ where VkDestroyPipeline = _VkDestroyPipeline++{-# INLINE _VkDestroyPipeline #-}++_VkDestroyPipeline :: CString+_VkDestroyPipeline = Ptr "vkDestroyPipeline\NUL"##++{-# INLINE is_VkDestroyPipeline #-}++is_VkDestroyPipeline :: CString -> Bool+is_VkDestroyPipeline = (EQ ==) . cmpCStrings _VkDestroyPipeline++type VkDestroyPipeline = "vkDestroyPipeline"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyPipeline+-- > ( VkDevice device+-- > , VkPipeline pipeline+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyPipeline" vkDestroyPipeline+ :: VkDevice -- ^ device+ -> VkPipeline -- ^ pipeline+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyPipeline+-- > ( VkDevice device+-- > , VkPipeline pipeline+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyPipelineSafe@ and @vkDestroyPipeline@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice+--+-- or less efficient:+--+-- > myDestroyPipeline <- vkGetProc @VkDestroyPipeline+--+vkDestroyPipeline ::+ VkDevice -- ^ device+ -> VkPipeline -- ^ pipeline+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyPipeline+ = unsafeDupablePerformIO (vkGetProc @VkDestroyPipeline)++{-# NOINLINE vkDestroyPipeline #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyPipeline+-- > ( VkDevice device+-- > , VkPipeline pipeline+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyPipeline" vkDestroyPipelineSafe+ :: VkDevice -- ^ device+ -> VkPipeline -- ^ pipeline+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyPipeline+-- > ( VkDevice device+-- > , VkPipeline pipeline+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyPipelineSafe@ and @vkDestroyPipeline@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipeline <- vkGetDeviceProc @VkDestroyPipeline vkDevice+--+-- or less efficient:+--+-- > myDestroyPipeline <- vkGetProc @VkDestroyPipeline+--+vkDestroyPipelineSafe ::+ VkDevice -- ^ device+ -> VkPipeline -- ^ pipeline+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyPipelineSafe = vkDestroyPipeline++{-# INLINE vkDestroyPipelineSafe #-}+##endif++-- | > void vkDestroyPipeline+-- > ( VkDevice device+-- > , VkPipeline pipeline+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipeline vkDestroyPipeline registry at www.khronos.org>+type HS_vkDestroyPipeline =+ VkDevice -- ^ device+ -> VkPipeline -- ^ pipeline+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyPipeline = FunPtr HS_vkDestroyPipeline++foreign import ccall "dynamic" unwrapVkDestroyPipeline ::+ PFN_vkDestroyPipeline -> HS_vkDestroyPipeline++instance VulkanProc "vkDestroyPipeline" where+ type VkProcType "vkDestroyPipeline" = HS_vkDestroyPipeline+ vkProcSymbol = _VkDestroyPipeline++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyPipeline++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreatePipelineLayout :: CString++pattern VkCreatePipelineLayout <-+ (is_VkCreatePipelineLayout -> True)+ where VkCreatePipelineLayout = _VkCreatePipelineLayout++{-# INLINE _VkCreatePipelineLayout #-}++_VkCreatePipelineLayout :: CString+_VkCreatePipelineLayout = Ptr "vkCreatePipelineLayout\NUL"##++{-# INLINE is_VkCreatePipelineLayout #-}++is_VkCreatePipelineLayout :: CString -> Bool+is_VkCreatePipelineLayout+ = (EQ ==) . cmpCStrings _VkCreatePipelineLayout++type VkCreatePipelineLayout = "vkCreatePipelineLayout"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- > ( VkDevice device+-- > , const VkPipelineLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineLayout* pPipelineLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreatePipelineLayout"+ vkCreatePipelineLayout ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineLayout -- ^ pPipelineLayout+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- > ( VkDevice device+-- > , const VkPipelineLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineLayout* pPipelineLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreatePipelineLayoutSafe@ and @vkCreatePipelineLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout+--+vkCreatePipelineLayout ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineLayout -- ^ pPipelineLayout+ -> IO VkResult+vkCreatePipelineLayout+ = unsafeDupablePerformIO (vkGetProc @VkCreatePipelineLayout)++{-# NOINLINE vkCreatePipelineLayout #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- > ( VkDevice device+-- > , const VkPipelineLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineLayout* pPipelineLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreatePipelineLayout"+ vkCreatePipelineLayoutSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineLayout -- ^ pPipelineLayout+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- > ( VkDevice device+-- > , const VkPipelineLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineLayout* pPipelineLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreatePipelineLayoutSafe@ and @vkCreatePipelineLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreatePipelineLayout <- vkGetDeviceProc @VkCreatePipelineLayout vkDevice+--+-- or less efficient:+--+-- > myCreatePipelineLayout <- vkGetProc @VkCreatePipelineLayout+--+vkCreatePipelineLayoutSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineLayout -- ^ pPipelineLayout+ -> IO VkResult+vkCreatePipelineLayoutSafe = vkCreatePipelineLayout++{-# INLINE vkCreatePipelineLayoutSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreatePipelineLayout+-- > ( VkDevice device+-- > , const VkPipelineLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkPipelineLayout* pPipelineLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreatePipelineLayout vkCreatePipelineLayout registry at www.khronos.org>+type HS_vkCreatePipelineLayout =+ VkDevice -- ^ device+ ->+ Ptr VkPipelineLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkPipelineLayout -- ^ pPipelineLayout+ -> IO VkResult++type PFN_vkCreatePipelineLayout = FunPtr HS_vkCreatePipelineLayout++foreign import ccall "dynamic" unwrapVkCreatePipelineLayout ::+ PFN_vkCreatePipelineLayout -> HS_vkCreatePipelineLayout++instance VulkanProc "vkCreatePipelineLayout" where+ type VkProcType "vkCreatePipelineLayout" =+ HS_vkCreatePipelineLayout+ vkProcSymbol = _VkCreatePipelineLayout++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreatePipelineLayout++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyPipelineLayout :: CString++pattern VkDestroyPipelineLayout <-+ (is_VkDestroyPipelineLayout -> True)+ where VkDestroyPipelineLayout = _VkDestroyPipelineLayout++{-# INLINE _VkDestroyPipelineLayout #-}++_VkDestroyPipelineLayout :: CString+_VkDestroyPipelineLayout = Ptr "vkDestroyPipelineLayout\NUL"##++{-# INLINE is_VkDestroyPipelineLayout #-}++is_VkDestroyPipelineLayout :: CString -> Bool+is_VkDestroyPipelineLayout+ = (EQ ==) . cmpCStrings _VkDestroyPipelineLayout++type VkDestroyPipelineLayout = "vkDestroyPipelineLayout"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyPipelineLayout+-- > ( VkDevice device+-- > , VkPipelineLayout pipelineLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyPipelineLayout"+ vkDestroyPipelineLayout ::+ VkDevice -- ^ device+ -> VkPipelineLayout -- ^ pipelineLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyPipelineLayout+-- > ( VkDevice device+-- > , VkPipelineLayout pipelineLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyPipelineLayoutSafe@ and @vkDestroyPipelineLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout+--+vkDestroyPipelineLayout ::+ VkDevice -- ^ device+ -> VkPipelineLayout -- ^ pipelineLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyPipelineLayout+ = unsafeDupablePerformIO (vkGetProc @VkDestroyPipelineLayout)++{-# NOINLINE vkDestroyPipelineLayout #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyPipelineLayout+-- > ( VkDevice device+-- > , VkPipelineLayout pipelineLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyPipelineLayout"+ vkDestroyPipelineLayoutSafe ::+ VkDevice -- ^ device+ -> VkPipelineLayout -- ^ pipelineLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyPipelineLayout+-- > ( VkDevice device+-- > , VkPipelineLayout pipelineLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyPipelineLayoutSafe@ and @vkDestroyPipelineLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyPipelineLayout <- vkGetDeviceProc @VkDestroyPipelineLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyPipelineLayout <- vkGetProc @VkDestroyPipelineLayout+--+vkDestroyPipelineLayoutSafe ::+ VkDevice -- ^ device+ -> VkPipelineLayout -- ^ pipelineLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyPipelineLayoutSafe = vkDestroyPipelineLayout++{-# INLINE vkDestroyPipelineLayoutSafe #-}+##endif++-- | > void vkDestroyPipelineLayout+-- > ( VkDevice device+-- > , VkPipelineLayout pipelineLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyPipelineLayout vkDestroyPipelineLayout registry at www.khronos.org>+type HS_vkDestroyPipelineLayout =+ VkDevice -- ^ device+ -> VkPipelineLayout -- ^ pipelineLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyPipelineLayout =+ FunPtr HS_vkDestroyPipelineLayout++foreign import ccall "dynamic" unwrapVkDestroyPipelineLayout ::+ PFN_vkDestroyPipelineLayout -> HS_vkDestroyPipelineLayout++instance VulkanProc "vkDestroyPipelineLayout" where+ type VkProcType "vkDestroyPipelineLayout" =+ HS_vkDestroyPipelineLayout+ vkProcSymbol = _VkDestroyPipelineLayout++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyPipelineLayout++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateSampler :: CString++pattern VkCreateSampler <- (is_VkCreateSampler -> True)+ where VkCreateSampler = _VkCreateSampler++{-# INLINE _VkCreateSampler #-}++_VkCreateSampler :: CString+_VkCreateSampler = Ptr "vkCreateSampler\NUL"##++{-# INLINE is_VkCreateSampler #-}++is_VkCreateSampler :: CString -> Bool+is_VkCreateSampler = (EQ ==) . cmpCStrings _VkCreateSampler++type VkCreateSampler = "vkCreateSampler"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- > ( VkDevice device+-- > , const VkSamplerCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSampler* pSampler+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateSampler" vkCreateSampler ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSampler -- ^ pSampler+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- > ( VkDevice device+-- > , const VkSamplerCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSampler* pSampler+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSamplerSafe@ and @vkCreateSampler@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice+--+-- or less efficient:+--+-- > myCreateSampler <- vkGetProc @VkCreateSampler+--+vkCreateSampler ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSampler -- ^ pSampler+ -> IO VkResult+vkCreateSampler+ = unsafeDupablePerformIO (vkGetProc @VkCreateSampler)++{-# NOINLINE vkCreateSampler #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- > ( VkDevice device+-- > , const VkSamplerCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSampler* pSampler+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateSampler" vkCreateSamplerSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSampler -- ^ pSampler+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- > ( VkDevice device+-- > , const VkSamplerCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSampler* pSampler+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSamplerSafe@ and @vkCreateSampler@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSampler <- vkGetDeviceProc @VkCreateSampler vkDevice+--+-- or less efficient:+--+-- > myCreateSampler <- vkGetProc @VkCreateSampler+--+vkCreateSamplerSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSampler -- ^ pSampler+ -> IO VkResult+vkCreateSamplerSafe = vkCreateSampler++{-# INLINE vkCreateSamplerSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_TOO_MANY_OBJECTS'.+--+-- > VkResult vkCreateSampler+-- > ( VkDevice device+-- > , const VkSamplerCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSampler* pSampler+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSampler vkCreateSampler registry at www.khronos.org>+type HS_vkCreateSampler =+ VkDevice -- ^ device+ ->+ Ptr VkSamplerCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSampler -- ^ pSampler+ -> IO VkResult++type PFN_vkCreateSampler = FunPtr HS_vkCreateSampler++foreign import ccall "dynamic" unwrapVkCreateSampler ::+ PFN_vkCreateSampler -> HS_vkCreateSampler++instance VulkanProc "vkCreateSampler" where+ type VkProcType "vkCreateSampler" = HS_vkCreateSampler+ vkProcSymbol = _VkCreateSampler++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateSampler++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroySampler :: CString++pattern VkDestroySampler <- (is_VkDestroySampler -> True)+ where VkDestroySampler = _VkDestroySampler++{-# INLINE _VkDestroySampler #-}++_VkDestroySampler :: CString+_VkDestroySampler = Ptr "vkDestroySampler\NUL"##++{-# INLINE is_VkDestroySampler #-}++is_VkDestroySampler :: CString -> Bool+is_VkDestroySampler = (EQ ==) . cmpCStrings _VkDestroySampler++type VkDestroySampler = "vkDestroySampler"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySampler+-- > ( VkDevice device+-- > , VkSampler sampler+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroySampler" vkDestroySampler ::+ VkDevice -- ^ device+ -> VkSampler -- ^ sampler+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroySampler+-- > ( VkDevice device+-- > , VkSampler sampler+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySamplerSafe@ and @vkDestroySampler@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice+--+-- or less efficient:+--+-- > myDestroySampler <- vkGetProc @VkDestroySampler+--+vkDestroySampler ::+ VkDevice -- ^ device+ -> VkSampler -- ^ sampler+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySampler+ = unsafeDupablePerformIO (vkGetProc @VkDestroySampler)++{-# NOINLINE vkDestroySampler #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySampler+-- > ( VkDevice device+-- > , VkSampler sampler+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroySampler" vkDestroySamplerSafe+ :: VkDevice -- ^ device+ -> VkSampler -- ^ sampler+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroySampler+-- > ( VkDevice device+-- > , VkSampler sampler+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySamplerSafe@ and @vkDestroySampler@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySampler <- vkGetDeviceProc @VkDestroySampler vkDevice+--+-- or less efficient:+--+-- > myDestroySampler <- vkGetProc @VkDestroySampler+--+vkDestroySamplerSafe ::+ VkDevice -- ^ device+ -> VkSampler -- ^ sampler+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySamplerSafe = vkDestroySampler++{-# INLINE vkDestroySamplerSafe #-}+##endif++-- | > void vkDestroySampler+-- > ( VkDevice device+-- > , VkSampler sampler+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySampler vkDestroySampler registry at www.khronos.org>+type HS_vkDestroySampler =+ VkDevice -- ^ device+ -> VkSampler -- ^ sampler+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroySampler = FunPtr HS_vkDestroySampler++foreign import ccall "dynamic" unwrapVkDestroySampler ::+ PFN_vkDestroySampler -> HS_vkDestroySampler++instance VulkanProc "vkDestroySampler" where+ type VkProcType "vkDestroySampler" = HS_vkDestroySampler+ vkProcSymbol = _VkDestroySampler++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroySampler++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateDescriptorSetLayout :: CString++pattern VkCreateDescriptorSetLayout <-+ (is_VkCreateDescriptorSetLayout -> True)+ where VkCreateDescriptorSetLayout = _VkCreateDescriptorSetLayout++{-# INLINE _VkCreateDescriptorSetLayout #-}++_VkCreateDescriptorSetLayout :: CString+_VkCreateDescriptorSetLayout+ = Ptr "vkCreateDescriptorSetLayout\NUL"##++{-# INLINE is_VkCreateDescriptorSetLayout #-}++is_VkCreateDescriptorSetLayout :: CString -> Bool+is_VkCreateDescriptorSetLayout+ = (EQ ==) . cmpCStrings _VkCreateDescriptorSetLayout++type VkCreateDescriptorSetLayout = "vkCreateDescriptorSetLayout"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorSetLayout* pSetLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateDescriptorSetLayout"+ vkCreateDescriptorSetLayout ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorSetLayout -- ^ pSetLayout+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorSetLayout* pSetLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDescriptorSetLayoutSafe@ and @vkCreateDescriptorSetLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout+--+vkCreateDescriptorSetLayout ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorSetLayout -- ^ pSetLayout+ -> IO VkResult+vkCreateDescriptorSetLayout+ = unsafeDupablePerformIO (vkGetProc @VkCreateDescriptorSetLayout)++{-# NOINLINE vkCreateDescriptorSetLayout #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorSetLayout* pSetLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateDescriptorSetLayout"+ vkCreateDescriptorSetLayoutSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorSetLayout -- ^ pSetLayout+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorSetLayout* pSetLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDescriptorSetLayoutSafe@ and @vkCreateDescriptorSetLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorSetLayout <- vkGetDeviceProc @VkCreateDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorSetLayout <- vkGetProc @VkCreateDescriptorSetLayout+--+vkCreateDescriptorSetLayoutSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorSetLayout -- ^ pSetLayout+ -> IO VkResult+vkCreateDescriptorSetLayoutSafe = vkCreateDescriptorSetLayout++{-# INLINE vkCreateDescriptorSetLayoutSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorSetLayout+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorSetLayout* pSetLayout+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout registry at www.khronos.org>+type HS_vkCreateDescriptorSetLayout =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorSetLayout -- ^ pSetLayout+ -> IO VkResult++type PFN_vkCreateDescriptorSetLayout =+ FunPtr HS_vkCreateDescriptorSetLayout++foreign import ccall "dynamic" unwrapVkCreateDescriptorSetLayout ::+ PFN_vkCreateDescriptorSetLayout -> HS_vkCreateDescriptorSetLayout++instance VulkanProc "vkCreateDescriptorSetLayout" where+ type VkProcType "vkCreateDescriptorSetLayout" =+ HS_vkCreateDescriptorSetLayout+ vkProcSymbol = _VkCreateDescriptorSetLayout++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDescriptorSetLayout++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDescriptorSetLayout :: CString++pattern VkDestroyDescriptorSetLayout <-+ (is_VkDestroyDescriptorSetLayout -> True)+ where VkDestroyDescriptorSetLayout = _VkDestroyDescriptorSetLayout++{-# INLINE _VkDestroyDescriptorSetLayout #-}++_VkDestroyDescriptorSetLayout :: CString+_VkDestroyDescriptorSetLayout+ = Ptr "vkDestroyDescriptorSetLayout\NUL"##++{-# INLINE is_VkDestroyDescriptorSetLayout #-}++is_VkDestroyDescriptorSetLayout :: CString -> Bool+is_VkDestroyDescriptorSetLayout+ = (EQ ==) . cmpCStrings _VkDestroyDescriptorSetLayout++type VkDestroyDescriptorSetLayout = "vkDestroyDescriptorSetLayout"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyDescriptorSetLayout+-- > ( VkDevice device+-- > , VkDescriptorSetLayout descriptorSetLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyDescriptorSetLayout"+ vkDestroyDescriptorSetLayout ::+ VkDevice -- ^ device+ ->+ VkDescriptorSetLayout -- ^ descriptorSetLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyDescriptorSetLayout+-- > ( VkDevice device+-- > , VkDescriptorSetLayout descriptorSetLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDescriptorSetLayoutSafe@ and @vkDestroyDescriptorSetLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout+--+vkDestroyDescriptorSetLayout ::+ VkDevice -- ^ device+ ->+ VkDescriptorSetLayout -- ^ descriptorSetLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDescriptorSetLayout+ = unsafeDupablePerformIO (vkGetProc @VkDestroyDescriptorSetLayout)++{-# NOINLINE vkDestroyDescriptorSetLayout #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyDescriptorSetLayout+-- > ( VkDevice device+-- > , VkDescriptorSetLayout descriptorSetLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyDescriptorSetLayout"+ vkDestroyDescriptorSetLayoutSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorSetLayout -- ^ descriptorSetLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyDescriptorSetLayout+-- > ( VkDevice device+-- > , VkDescriptorSetLayout descriptorSetLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDescriptorSetLayoutSafe@ and @vkDestroyDescriptorSetLayout@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorSetLayout <- vkGetDeviceProc @VkDestroyDescriptorSetLayout vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorSetLayout <- vkGetProc @VkDestroyDescriptorSetLayout+--+vkDestroyDescriptorSetLayoutSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorSetLayout -- ^ descriptorSetLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDescriptorSetLayoutSafe = vkDestroyDescriptorSetLayout++{-# INLINE vkDestroyDescriptorSetLayoutSafe #-}+##endif++-- | > void vkDestroyDescriptorSetLayout+-- > ( VkDevice device+-- > , VkDescriptorSetLayout descriptorSetLayout+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout registry at www.khronos.org>+type HS_vkDestroyDescriptorSetLayout =+ VkDevice -- ^ device+ ->+ VkDescriptorSetLayout -- ^ descriptorSetLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyDescriptorSetLayout =+ FunPtr HS_vkDestroyDescriptorSetLayout++foreign import ccall "dynamic" unwrapVkDestroyDescriptorSetLayout+ ::+ PFN_vkDestroyDescriptorSetLayout -> HS_vkDestroyDescriptorSetLayout++instance VulkanProc "vkDestroyDescriptorSetLayout" where+ type VkProcType "vkDestroyDescriptorSetLayout" =+ HS_vkDestroyDescriptorSetLayout+ vkProcSymbol = _VkDestroyDescriptorSetLayout++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDescriptorSetLayout++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateDescriptorPool :: CString++pattern VkCreateDescriptorPool <-+ (is_VkCreateDescriptorPool -> True)+ where VkCreateDescriptorPool = _VkCreateDescriptorPool++{-# INLINE _VkCreateDescriptorPool #-}++_VkCreateDescriptorPool :: CString+_VkCreateDescriptorPool = Ptr "vkCreateDescriptorPool\NUL"##++{-# INLINE is_VkCreateDescriptorPool #-}++is_VkCreateDescriptorPool :: CString -> Bool+is_VkCreateDescriptorPool+ = (EQ ==) . cmpCStrings _VkCreateDescriptorPool++type VkCreateDescriptorPool = "vkCreateDescriptorPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- > ( VkDevice device+-- > , const VkDescriptorPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorPool* pDescriptorPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateDescriptorPool"+ vkCreateDescriptorPool ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDescriptorPool -- ^ pDescriptorPool+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- > ( VkDevice device+-- > , const VkDescriptorPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorPool* pDescriptorPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDescriptorPoolSafe@ and @vkCreateDescriptorPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool+--+vkCreateDescriptorPool ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDescriptorPool -- ^ pDescriptorPool+ -> IO VkResult+vkCreateDescriptorPool+ = unsafeDupablePerformIO (vkGetProc @VkCreateDescriptorPool)++{-# NOINLINE vkCreateDescriptorPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- > ( VkDevice device+-- > , const VkDescriptorPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorPool* pDescriptorPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateDescriptorPool"+ vkCreateDescriptorPoolSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDescriptorPool -- ^ pDescriptorPool+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- > ( VkDevice device+-- > , const VkDescriptorPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorPool* pDescriptorPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDescriptorPoolSafe@ and @vkCreateDescriptorPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorPool <- vkGetDeviceProc @VkCreateDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorPool <- vkGetProc @VkCreateDescriptorPool+--+vkCreateDescriptorPoolSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDescriptorPool -- ^ pDescriptorPool+ -> IO VkResult+vkCreateDescriptorPoolSafe = vkCreateDescriptorPool++{-# INLINE vkCreateDescriptorPoolSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTATION_EXT'.+--+-- > VkResult vkCreateDescriptorPool+-- > ( VkDevice device+-- > , const VkDescriptorPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorPool* pDescriptorPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorPool vkCreateDescriptorPool registry at www.khronos.org>+type HS_vkCreateDescriptorPool =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDescriptorPool -- ^ pDescriptorPool+ -> IO VkResult++type PFN_vkCreateDescriptorPool = FunPtr HS_vkCreateDescriptorPool++foreign import ccall "dynamic" unwrapVkCreateDescriptorPool ::+ PFN_vkCreateDescriptorPool -> HS_vkCreateDescriptorPool++instance VulkanProc "vkCreateDescriptorPool" where+ type VkProcType "vkCreateDescriptorPool" =+ HS_vkCreateDescriptorPool+ vkProcSymbol = _VkCreateDescriptorPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDescriptorPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDescriptorPool :: CString++pattern VkDestroyDescriptorPool <-+ (is_VkDestroyDescriptorPool -> True)+ where VkDestroyDescriptorPool = _VkDestroyDescriptorPool++{-# INLINE _VkDestroyDescriptorPool #-}++_VkDestroyDescriptorPool :: CString+_VkDestroyDescriptorPool = Ptr "vkDestroyDescriptorPool\NUL"##++{-# INLINE is_VkDestroyDescriptorPool #-}++is_VkDestroyDescriptorPool :: CString -> Bool+is_VkDestroyDescriptorPool+ = (EQ ==) . cmpCStrings _VkDestroyDescriptorPool++type VkDestroyDescriptorPool = "vkDestroyDescriptorPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyDescriptorPool"+ vkDestroyDescriptorPool ::+ VkDevice -- ^ device+ -> VkDescriptorPool -- ^ descriptorPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDescriptorPoolSafe@ and @vkDestroyDescriptorPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool+--+vkDestroyDescriptorPool ::+ VkDevice -- ^ device+ -> VkDescriptorPool -- ^ descriptorPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDescriptorPool+ = unsafeDupablePerformIO (vkGetProc @VkDestroyDescriptorPool)++{-# NOINLINE vkDestroyDescriptorPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyDescriptorPool"+ vkDestroyDescriptorPoolSafe ::+ VkDevice -- ^ device+ -> VkDescriptorPool -- ^ descriptorPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDescriptorPoolSafe@ and @vkDestroyDescriptorPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorPool <- vkGetDeviceProc @VkDestroyDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorPool <- vkGetProc @VkDestroyDescriptorPool+--+vkDestroyDescriptorPoolSafe ::+ VkDevice -- ^ device+ -> VkDescriptorPool -- ^ descriptorPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDescriptorPoolSafe = vkDestroyDescriptorPool++{-# INLINE vkDestroyDescriptorPoolSafe #-}+##endif++-- | > void vkDestroyDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorPool vkDestroyDescriptorPool registry at www.khronos.org>+type HS_vkDestroyDescriptorPool =+ VkDevice -- ^ device+ -> VkDescriptorPool -- ^ descriptorPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyDescriptorPool =+ FunPtr HS_vkDestroyDescriptorPool++foreign import ccall "dynamic" unwrapVkDestroyDescriptorPool ::+ PFN_vkDestroyDescriptorPool -> HS_vkDestroyDescriptorPool++instance VulkanProc "vkDestroyDescriptorPool" where+ type VkProcType "vkDestroyDescriptorPool" =+ HS_vkDestroyDescriptorPool+ vkProcSymbol = _VkDestroyDescriptorPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDescriptorPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkResetDescriptorPool :: CString++pattern VkResetDescriptorPool <- (is_VkResetDescriptorPool -> True)+ where VkResetDescriptorPool = _VkResetDescriptorPool++{-# INLINE _VkResetDescriptorPool #-}++_VkResetDescriptorPool :: CString+_VkResetDescriptorPool = Ptr "vkResetDescriptorPool\NUL"##++{-# INLINE is_VkResetDescriptorPool #-}++is_VkResetDescriptorPool :: CString -> Bool+is_VkResetDescriptorPool+ = (EQ ==) . cmpCStrings _VkResetDescriptorPool++type VkResetDescriptorPool = "vkResetDescriptorPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , VkDescriptorPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkResetDescriptorPool"+ vkResetDescriptorPool ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> VkDescriptorPoolResetFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , VkDescriptorPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetDescriptorPoolSafe@ and @vkResetDescriptorPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool+--+vkResetDescriptorPool ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> VkDescriptorPoolResetFlags -- ^ flags+ -> IO VkResult+vkResetDescriptorPool+ = unsafeDupablePerformIO (vkGetProc @VkResetDescriptorPool)++{-# NOINLINE vkResetDescriptorPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , VkDescriptorPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkResetDescriptorPool"+ vkResetDescriptorPoolSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> VkDescriptorPoolResetFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , VkDescriptorPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetDescriptorPoolSafe@ and @vkResetDescriptorPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetDescriptorPool <- vkGetDeviceProc @VkResetDescriptorPool vkDevice+--+-- or less efficient:+--+-- > myResetDescriptorPool <- vkGetProc @VkResetDescriptorPool+--+vkResetDescriptorPoolSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> VkDescriptorPoolResetFlags -- ^ flags+ -> IO VkResult+vkResetDescriptorPoolSafe = vkResetDescriptorPool++{-# INLINE vkResetDescriptorPoolSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetDescriptorPool+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , VkDescriptorPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetDescriptorPool vkResetDescriptorPool registry at www.khronos.org>+type HS_vkResetDescriptorPool =+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> VkDescriptorPoolResetFlags -- ^ flags+ -> IO VkResult++type PFN_vkResetDescriptorPool = FunPtr HS_vkResetDescriptorPool++foreign import ccall "dynamic" unwrapVkResetDescriptorPool ::+ PFN_vkResetDescriptorPool -> HS_vkResetDescriptorPool++instance VulkanProc "vkResetDescriptorPool" where+ type VkProcType "vkResetDescriptorPool" = HS_vkResetDescriptorPool+ vkProcSymbol = _VkResetDescriptorPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkResetDescriptorPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkAllocateDescriptorSets :: CString++pattern VkAllocateDescriptorSets <-+ (is_VkAllocateDescriptorSets -> True)+ where VkAllocateDescriptorSets = _VkAllocateDescriptorSets++{-# INLINE _VkAllocateDescriptorSets #-}++_VkAllocateDescriptorSets :: CString+_VkAllocateDescriptorSets = Ptr "vkAllocateDescriptorSets\NUL"##++{-# INLINE is_VkAllocateDescriptorSets #-}++is_VkAllocateDescriptorSets :: CString -> Bool+is_VkAllocateDescriptorSets+ = (EQ ==) . cmpCStrings _VkAllocateDescriptorSets++type VkAllocateDescriptorSets = "vkAllocateDescriptorSets"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- > ( VkDevice device+-- > , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- > , VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkAllocateDescriptorSets"+ vkAllocateDescriptorSets ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- > ( VkDevice device+-- > , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- > , VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAllocateDescriptorSetsSafe@ and @vkAllocateDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets+--+vkAllocateDescriptorSets ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult+vkAllocateDescriptorSets+ = unsafeDupablePerformIO (vkGetProc @VkAllocateDescriptorSets)++{-# NOINLINE vkAllocateDescriptorSets #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- > ( VkDevice device+-- > , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- > , VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkAllocateDescriptorSets"+ vkAllocateDescriptorSetsSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- > ( VkDevice device+-- > , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- > , VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAllocateDescriptorSetsSafe@ and @vkAllocateDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateDescriptorSets <- vkGetDeviceProc @VkAllocateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myAllocateDescriptorSets <- vkGetProc @VkAllocateDescriptorSets+--+vkAllocateDescriptorSetsSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult+vkAllocateDescriptorSetsSafe = vkAllocateDescriptorSets++{-# INLINE vkAllocateDescriptorSetsSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FRAGMENTED_POOL', 'VK_ERROR_OUT_OF_POOL_MEMORY'.+--+-- > VkResult vkAllocateDescriptorSets+-- > ( VkDevice device+-- > , const VkDescriptorSetAllocateInfo* pAllocateInfo+-- > , VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateDescriptorSets vkAllocateDescriptorSets registry at www.khronos.org>+type HS_vkAllocateDescriptorSets =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult++type PFN_vkAllocateDescriptorSets =+ FunPtr HS_vkAllocateDescriptorSets++foreign import ccall "dynamic" unwrapVkAllocateDescriptorSets ::+ PFN_vkAllocateDescriptorSets -> HS_vkAllocateDescriptorSets++instance VulkanProc "vkAllocateDescriptorSets" where+ type VkProcType "vkAllocateDescriptorSets" =+ HS_vkAllocateDescriptorSets+ vkProcSymbol = _VkAllocateDescriptorSets++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkAllocateDescriptorSets++ {-# INLINE unwrapVkProcPtr #-}++pattern VkFreeDescriptorSets :: CString++pattern VkFreeDescriptorSets <- (is_VkFreeDescriptorSets -> True)+ where VkFreeDescriptorSets = _VkFreeDescriptorSets++{-# INLINE _VkFreeDescriptorSets #-}++_VkFreeDescriptorSets :: CString+_VkFreeDescriptorSets = Ptr "vkFreeDescriptorSets\NUL"##++{-# INLINE is_VkFreeDescriptorSets #-}++is_VkFreeDescriptorSets :: CString -> Bool+is_VkFreeDescriptorSets+ = (EQ ==) . cmpCStrings _VkFreeDescriptorSets++type VkFreeDescriptorSets = "vkFreeDescriptorSets"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkFreeDescriptorSets"+ vkFreeDescriptorSets ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFreeDescriptorSetsSafe@ and @vkFreeDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets+--+vkFreeDescriptorSets ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult+vkFreeDescriptorSets+ = unsafeDupablePerformIO (vkGetProc @VkFreeDescriptorSets)++{-# NOINLINE vkFreeDescriptorSets #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkFreeDescriptorSets"+ vkFreeDescriptorSetsSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFreeDescriptorSetsSafe@ and @vkFreeDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeDescriptorSets <- vkGetDeviceProc @VkFreeDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myFreeDescriptorSets <- vkGetProc @VkFreeDescriptorSets+--+vkFreeDescriptorSetsSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult+vkFreeDescriptorSetsSafe = vkFreeDescriptorSets++{-# INLINE vkFreeDescriptorSetsSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkFreeDescriptorSets+-- > ( VkDevice device+-- > , VkDescriptorPool descriptorPool+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeDescriptorSets vkFreeDescriptorSets registry at www.khronos.org>+type HS_vkFreeDescriptorSets =+ VkDevice -- ^ device+ ->+ VkDescriptorPool -- ^ descriptorPool+ -> Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> IO VkResult++type PFN_vkFreeDescriptorSets = FunPtr HS_vkFreeDescriptorSets++foreign import ccall "dynamic" unwrapVkFreeDescriptorSets ::+ PFN_vkFreeDescriptorSets -> HS_vkFreeDescriptorSets++instance VulkanProc "vkFreeDescriptorSets" where+ type VkProcType "vkFreeDescriptorSets" = HS_vkFreeDescriptorSets+ vkProcSymbol = _VkFreeDescriptorSets++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkFreeDescriptorSets++ {-# INLINE unwrapVkProcPtr #-}++pattern VkUpdateDescriptorSets :: CString++pattern VkUpdateDescriptorSets <-+ (is_VkUpdateDescriptorSets -> True)+ where VkUpdateDescriptorSets = _VkUpdateDescriptorSets++{-# INLINE _VkUpdateDescriptorSets #-}++_VkUpdateDescriptorSets :: CString+_VkUpdateDescriptorSets = Ptr "vkUpdateDescriptorSets\NUL"##++{-# INLINE is_VkUpdateDescriptorSets #-}++is_VkUpdateDescriptorSets :: CString -> Bool+is_VkUpdateDescriptorSets+ = (EQ ==) . cmpCStrings _VkUpdateDescriptorSets++type VkUpdateDescriptorSets = "vkUpdateDescriptorSets"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkUpdateDescriptorSets+-- > ( VkDevice device+-- > , uint32_t descriptorWriteCount+-- > , const VkWriteDescriptorSet* pDescriptorWrites+-- > , uint32_t descriptorCopyCount+-- > , const VkCopyDescriptorSet* pDescriptorCopies+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkUpdateDescriptorSets"+ vkUpdateDescriptorSets ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ descriptorWriteCount+ ->+ Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+ ->+ Word32 -- ^ descriptorCopyCount+ -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+ -> IO ()++##else+-- |+-- > void vkUpdateDescriptorSets+-- > ( VkDevice device+-- > , uint32_t descriptorWriteCount+-- > , const VkWriteDescriptorSet* pDescriptorWrites+-- > , uint32_t descriptorCopyCount+-- > , const VkCopyDescriptorSet* pDescriptorCopies+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkUpdateDescriptorSetsSafe@ and @vkUpdateDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets+--+vkUpdateDescriptorSets ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ descriptorWriteCount+ ->+ Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+ ->+ Word32 -- ^ descriptorCopyCount+ -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+ -> IO ()+vkUpdateDescriptorSets+ = unsafeDupablePerformIO (vkGetProc @VkUpdateDescriptorSets)++{-# NOINLINE vkUpdateDescriptorSets #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkUpdateDescriptorSets+-- > ( VkDevice device+-- > , uint32_t descriptorWriteCount+-- > , const VkWriteDescriptorSet* pDescriptorWrites+-- > , uint32_t descriptorCopyCount+-- > , const VkCopyDescriptorSet* pDescriptorCopies+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkUpdateDescriptorSets"+ vkUpdateDescriptorSetsSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ descriptorWriteCount+ ->+ Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+ ->+ Word32 -- ^ descriptorCopyCount+ -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+ -> IO ()++##else+-- |+-- > void vkUpdateDescriptorSets+-- > ( VkDevice device+-- > , uint32_t descriptorWriteCount+-- > , const VkWriteDescriptorSet* pDescriptorWrites+-- > , uint32_t descriptorCopyCount+-- > , const VkCopyDescriptorSet* pDescriptorCopies+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkUpdateDescriptorSetsSafe@ and @vkUpdateDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSets <- vkGetDeviceProc @VkUpdateDescriptorSets vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSets <- vkGetProc @VkUpdateDescriptorSets+--+vkUpdateDescriptorSetsSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ descriptorWriteCount+ ->+ Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+ ->+ Word32 -- ^ descriptorCopyCount+ -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+ -> IO ()+vkUpdateDescriptorSetsSafe = vkUpdateDescriptorSets++{-# INLINE vkUpdateDescriptorSetsSafe #-}+##endif++-- | > void vkUpdateDescriptorSets+-- > ( VkDevice device+-- > , uint32_t descriptorWriteCount+-- > , const VkWriteDescriptorSet* pDescriptorWrites+-- > , uint32_t descriptorCopyCount+-- > , const VkCopyDescriptorSet* pDescriptorCopies+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSets vkUpdateDescriptorSets registry at www.khronos.org>+type HS_vkUpdateDescriptorSets =+ VkDevice -- ^ device+ ->+ Word32 -- ^ descriptorWriteCount+ ->+ Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+ ->+ Word32 -- ^ descriptorCopyCount+ -> Ptr VkCopyDescriptorSet -- ^ pDescriptorCopies+ -> IO ()++type PFN_vkUpdateDescriptorSets = FunPtr HS_vkUpdateDescriptorSets++foreign import ccall "dynamic" unwrapVkUpdateDescriptorSets ::+ PFN_vkUpdateDescriptorSets -> HS_vkUpdateDescriptorSets++instance VulkanProc "vkUpdateDescriptorSets" where+ type VkProcType "vkUpdateDescriptorSets" =+ HS_vkUpdateDescriptorSets+ vkProcSymbol = _VkUpdateDescriptorSets++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkUpdateDescriptorSets++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateFramebuffer :: CString++pattern VkCreateFramebuffer <- (is_VkCreateFramebuffer -> True)+ where VkCreateFramebuffer = _VkCreateFramebuffer++{-# INLINE _VkCreateFramebuffer #-}++_VkCreateFramebuffer :: CString+_VkCreateFramebuffer = Ptr "vkCreateFramebuffer\NUL"##++{-# INLINE is_VkCreateFramebuffer #-}++is_VkCreateFramebuffer :: CString -> Bool+is_VkCreateFramebuffer = (EQ ==) . cmpCStrings _VkCreateFramebuffer++type VkCreateFramebuffer = "vkCreateFramebuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- > ( VkDevice device+-- > , const VkFramebufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFramebuffer* pFramebuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateFramebuffer"+ vkCreateFramebuffer ::+ VkDevice -- ^ device+ ->+ Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFramebuffer -- ^ pFramebuffer+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- > ( VkDevice device+-- > , const VkFramebufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFramebuffer* pFramebuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateFramebufferSafe@ and @vkCreateFramebuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice+--+-- or less efficient:+--+-- > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer+--+vkCreateFramebuffer ::+ VkDevice -- ^ device+ ->+ Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFramebuffer -- ^ pFramebuffer+ -> IO VkResult+vkCreateFramebuffer+ = unsafeDupablePerformIO (vkGetProc @VkCreateFramebuffer)++{-# NOINLINE vkCreateFramebuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- > ( VkDevice device+-- > , const VkFramebufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFramebuffer* pFramebuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateFramebuffer"+ vkCreateFramebufferSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFramebuffer -- ^ pFramebuffer+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- > ( VkDevice device+-- > , const VkFramebufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFramebuffer* pFramebuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateFramebufferSafe@ and @vkCreateFramebuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateFramebuffer <- vkGetDeviceProc @VkCreateFramebuffer vkDevice+--+-- or less efficient:+--+-- > myCreateFramebuffer <- vkGetProc @VkCreateFramebuffer+--+vkCreateFramebufferSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFramebuffer -- ^ pFramebuffer+ -> IO VkResult+vkCreateFramebufferSafe = vkCreateFramebuffer++{-# INLINE vkCreateFramebufferSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateFramebuffer+-- > ( VkDevice device+-- > , const VkFramebufferCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkFramebuffer* pFramebuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateFramebuffer vkCreateFramebuffer registry at www.khronos.org>+type HS_vkCreateFramebuffer =+ VkDevice -- ^ device+ ->+ Ptr VkFramebufferCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFramebuffer -- ^ pFramebuffer+ -> IO VkResult++type PFN_vkCreateFramebuffer = FunPtr HS_vkCreateFramebuffer++foreign import ccall "dynamic" unwrapVkCreateFramebuffer ::+ PFN_vkCreateFramebuffer -> HS_vkCreateFramebuffer++instance VulkanProc "vkCreateFramebuffer" where+ type VkProcType "vkCreateFramebuffer" = HS_vkCreateFramebuffer+ vkProcSymbol = _VkCreateFramebuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateFramebuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyFramebuffer :: CString++pattern VkDestroyFramebuffer <- (is_VkDestroyFramebuffer -> True)+ where VkDestroyFramebuffer = _VkDestroyFramebuffer++{-# INLINE _VkDestroyFramebuffer #-}++_VkDestroyFramebuffer :: CString+_VkDestroyFramebuffer = Ptr "vkDestroyFramebuffer\NUL"##++{-# INLINE is_VkDestroyFramebuffer #-}++is_VkDestroyFramebuffer :: CString -> Bool+is_VkDestroyFramebuffer+ = (EQ ==) . cmpCStrings _VkDestroyFramebuffer++type VkDestroyFramebuffer = "vkDestroyFramebuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyFramebuffer+-- > ( VkDevice device+-- > , VkFramebuffer framebuffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyFramebuffer"+ vkDestroyFramebuffer ::+ VkDevice -- ^ device+ -> VkFramebuffer -- ^ framebuffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyFramebuffer+-- > ( VkDevice device+-- > , VkFramebuffer framebuffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyFramebufferSafe@ and @vkDestroyFramebuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer+--+vkDestroyFramebuffer ::+ VkDevice -- ^ device+ -> VkFramebuffer -- ^ framebuffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyFramebuffer+ = unsafeDupablePerformIO (vkGetProc @VkDestroyFramebuffer)++{-# NOINLINE vkDestroyFramebuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyFramebuffer+-- > ( VkDevice device+-- > , VkFramebuffer framebuffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyFramebuffer"+ vkDestroyFramebufferSafe ::+ VkDevice -- ^ device+ -> VkFramebuffer -- ^ framebuffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyFramebuffer+-- > ( VkDevice device+-- > , VkFramebuffer framebuffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyFramebufferSafe@ and @vkDestroyFramebuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyFramebuffer <- vkGetDeviceProc @VkDestroyFramebuffer vkDevice+--+-- or less efficient:+--+-- > myDestroyFramebuffer <- vkGetProc @VkDestroyFramebuffer+--+vkDestroyFramebufferSafe ::+ VkDevice -- ^ device+ -> VkFramebuffer -- ^ framebuffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyFramebufferSafe = vkDestroyFramebuffer++{-# INLINE vkDestroyFramebufferSafe #-}+##endif++-- | > void vkDestroyFramebuffer+-- > ( VkDevice device+-- > , VkFramebuffer framebuffer+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyFramebuffer vkDestroyFramebuffer registry at www.khronos.org>+type HS_vkDestroyFramebuffer =+ VkDevice -- ^ device+ -> VkFramebuffer -- ^ framebuffer+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyFramebuffer = FunPtr HS_vkDestroyFramebuffer++foreign import ccall "dynamic" unwrapVkDestroyFramebuffer ::+ PFN_vkDestroyFramebuffer -> HS_vkDestroyFramebuffer++instance VulkanProc "vkDestroyFramebuffer" where+ type VkProcType "vkDestroyFramebuffer" = HS_vkDestroyFramebuffer+ vkProcSymbol = _VkDestroyFramebuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyFramebuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateRenderPass :: CString++pattern VkCreateRenderPass <- (is_VkCreateRenderPass -> True)+ where VkCreateRenderPass = _VkCreateRenderPass++{-# INLINE _VkCreateRenderPass #-}++_VkCreateRenderPass :: CString+_VkCreateRenderPass = Ptr "vkCreateRenderPass\NUL"##++{-# INLINE is_VkCreateRenderPass #-}++is_VkCreateRenderPass :: CString -> Bool+is_VkCreateRenderPass = (EQ ==) . cmpCStrings _VkCreateRenderPass++type VkCreateRenderPass = "vkCreateRenderPass"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- > ( VkDevice device+-- > , const VkRenderPassCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkRenderPass* pRenderPass+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateRenderPass" vkCreateRenderPass+ ::+ VkDevice -- ^ device+ ->+ Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkRenderPass -- ^ pRenderPass+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- > ( VkDevice device+-- > , const VkRenderPassCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkRenderPass* pRenderPass+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateRenderPassSafe@ and @vkCreateRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice+--+-- or less efficient:+--+-- > myCreateRenderPass <- vkGetProc @VkCreateRenderPass+--+vkCreateRenderPass ::+ VkDevice -- ^ device+ ->+ Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkRenderPass -- ^ pRenderPass+ -> IO VkResult+vkCreateRenderPass+ = unsafeDupablePerformIO (vkGetProc @VkCreateRenderPass)++{-# NOINLINE vkCreateRenderPass #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- > ( VkDevice device+-- > , const VkRenderPassCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkRenderPass* pRenderPass+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateRenderPass"+ vkCreateRenderPassSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkRenderPass -- ^ pRenderPass+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- > ( VkDevice device+-- > , const VkRenderPassCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkRenderPass* pRenderPass+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateRenderPassSafe@ and @vkCreateRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateRenderPass <- vkGetDeviceProc @VkCreateRenderPass vkDevice+--+-- or less efficient:+--+-- > myCreateRenderPass <- vkGetProc @VkCreateRenderPass+--+vkCreateRenderPassSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkRenderPass -- ^ pRenderPass+ -> IO VkResult+vkCreateRenderPassSafe = vkCreateRenderPass++{-# INLINE vkCreateRenderPassSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateRenderPass+-- > ( VkDevice device+-- > , const VkRenderPassCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkRenderPass* pRenderPass+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateRenderPass vkCreateRenderPass registry at www.khronos.org>+type HS_vkCreateRenderPass =+ VkDevice -- ^ device+ ->+ Ptr VkRenderPassCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkRenderPass -- ^ pRenderPass+ -> IO VkResult++type PFN_vkCreateRenderPass = FunPtr HS_vkCreateRenderPass++foreign import ccall "dynamic" unwrapVkCreateRenderPass ::+ PFN_vkCreateRenderPass -> HS_vkCreateRenderPass++instance VulkanProc "vkCreateRenderPass" where+ type VkProcType "vkCreateRenderPass" = HS_vkCreateRenderPass+ vkProcSymbol = _VkCreateRenderPass++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateRenderPass++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyRenderPass :: CString++pattern VkDestroyRenderPass <- (is_VkDestroyRenderPass -> True)+ where VkDestroyRenderPass = _VkDestroyRenderPass++{-# INLINE _VkDestroyRenderPass #-}++_VkDestroyRenderPass :: CString+_VkDestroyRenderPass = Ptr "vkDestroyRenderPass\NUL"##++{-# INLINE is_VkDestroyRenderPass #-}++is_VkDestroyRenderPass :: CString -> Bool+is_VkDestroyRenderPass = (EQ ==) . cmpCStrings _VkDestroyRenderPass++type VkDestroyRenderPass = "vkDestroyRenderPass"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyRenderPass+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyRenderPass"+ vkDestroyRenderPass ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyRenderPass+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyRenderPassSafe@ and @vkDestroyRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice+--+-- or less efficient:+--+-- > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass+--+vkDestroyRenderPass ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyRenderPass+ = unsafeDupablePerformIO (vkGetProc @VkDestroyRenderPass)++{-# NOINLINE vkDestroyRenderPass #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyRenderPass+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyRenderPass"+ vkDestroyRenderPassSafe ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyRenderPass+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyRenderPassSafe@ and @vkDestroyRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyRenderPass <- vkGetDeviceProc @VkDestroyRenderPass vkDevice+--+-- or less efficient:+--+-- > myDestroyRenderPass <- vkGetProc @VkDestroyRenderPass+--+vkDestroyRenderPassSafe ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyRenderPassSafe = vkDestroyRenderPass++{-# INLINE vkDestroyRenderPassSafe #-}+##endif++-- | > void vkDestroyRenderPass+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyRenderPass vkDestroyRenderPass registry at www.khronos.org>+type HS_vkDestroyRenderPass =+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyRenderPass = FunPtr HS_vkDestroyRenderPass++foreign import ccall "dynamic" unwrapVkDestroyRenderPass ::+ PFN_vkDestroyRenderPass -> HS_vkDestroyRenderPass++instance VulkanProc "vkDestroyRenderPass" where+ type VkProcType "vkDestroyRenderPass" = HS_vkDestroyRenderPass+ vkProcSymbol = _VkDestroyRenderPass++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyRenderPass++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetRenderAreaGranularity :: CString++pattern VkGetRenderAreaGranularity <-+ (is_VkGetRenderAreaGranularity -> True)+ where VkGetRenderAreaGranularity = _VkGetRenderAreaGranularity++{-# INLINE _VkGetRenderAreaGranularity #-}++_VkGetRenderAreaGranularity :: CString+_VkGetRenderAreaGranularity = Ptr "vkGetRenderAreaGranularity\NUL"##++{-# INLINE is_VkGetRenderAreaGranularity #-}++is_VkGetRenderAreaGranularity :: CString -> Bool+is_VkGetRenderAreaGranularity+ = (EQ ==) . cmpCStrings _VkGetRenderAreaGranularity++type VkGetRenderAreaGranularity = "vkGetRenderAreaGranularity"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetRenderAreaGranularity+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , VkExtent2D* pGranularity+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetRenderAreaGranularity"+ vkGetRenderAreaGranularity ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkExtent2D -- ^ pGranularity+ -> IO ()++##else+-- |+-- > void vkGetRenderAreaGranularity+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , VkExtent2D* pGranularity+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetRenderAreaGranularitySafe@ and @vkGetRenderAreaGranularity@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice+--+-- or less efficient:+--+-- > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity+--+vkGetRenderAreaGranularity ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkExtent2D -- ^ pGranularity+ -> IO ()+vkGetRenderAreaGranularity+ = unsafeDupablePerformIO (vkGetProc @VkGetRenderAreaGranularity)++{-# NOINLINE vkGetRenderAreaGranularity #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkGetRenderAreaGranularity+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , VkExtent2D* pGranularity+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetRenderAreaGranularity"+ vkGetRenderAreaGranularitySafe ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkExtent2D -- ^ pGranularity+ -> IO ()++##else+-- |+-- > void vkGetRenderAreaGranularity+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , VkExtent2D* pGranularity+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetRenderAreaGranularitySafe@ and @vkGetRenderAreaGranularity@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetRenderAreaGranularity <- vkGetDeviceProc @VkGetRenderAreaGranularity vkDevice+--+-- or less efficient:+--+-- > myGetRenderAreaGranularity <- vkGetProc @VkGetRenderAreaGranularity+--+vkGetRenderAreaGranularitySafe ::+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkExtent2D -- ^ pGranularity+ -> IO ()+vkGetRenderAreaGranularitySafe = vkGetRenderAreaGranularity++{-# INLINE vkGetRenderAreaGranularitySafe #-}+##endif++-- | > void vkGetRenderAreaGranularity+-- > ( VkDevice device+-- > , VkRenderPass renderPass+-- > , VkExtent2D* pGranularity+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRenderAreaGranularity vkGetRenderAreaGranularity registry at www.khronos.org>+type HS_vkGetRenderAreaGranularity =+ VkDevice -- ^ device+ -> VkRenderPass -- ^ renderPass+ -> Ptr VkExtent2D -- ^ pGranularity+ -> IO ()++type PFN_vkGetRenderAreaGranularity =+ FunPtr HS_vkGetRenderAreaGranularity++foreign import ccall "dynamic" unwrapVkGetRenderAreaGranularity ::+ PFN_vkGetRenderAreaGranularity -> HS_vkGetRenderAreaGranularity++instance VulkanProc "vkGetRenderAreaGranularity" where+ type VkProcType "vkGetRenderAreaGranularity" =+ HS_vkGetRenderAreaGranularity+ vkProcSymbol = _VkGetRenderAreaGranularity++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetRenderAreaGranularity++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateCommandPool :: CString++pattern VkCreateCommandPool <- (is_VkCreateCommandPool -> True)+ where VkCreateCommandPool = _VkCreateCommandPool++{-# INLINE _VkCreateCommandPool #-}++_VkCreateCommandPool :: CString+_VkCreateCommandPool = Ptr "vkCreateCommandPool\NUL"##++{-# INLINE is_VkCreateCommandPool #-}++is_VkCreateCommandPool :: CString -> Bool+is_VkCreateCommandPool = (EQ ==) . cmpCStrings _VkCreateCommandPool++type VkCreateCommandPool = "vkCreateCommandPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- > ( VkDevice device+-- > , const VkCommandPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkCommandPool* pCommandPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateCommandPool"+ vkCreateCommandPool ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkCommandPool -- ^ pCommandPool+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- > ( VkDevice device+-- > , const VkCommandPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkCommandPool* pCommandPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateCommandPoolSafe@ and @vkCreateCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice+--+-- or less efficient:+--+-- > myCreateCommandPool <- vkGetProc @VkCreateCommandPool+--+vkCreateCommandPool ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkCommandPool -- ^ pCommandPool+ -> IO VkResult+vkCreateCommandPool+ = unsafeDupablePerformIO (vkGetProc @VkCreateCommandPool)++{-# NOINLINE vkCreateCommandPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- > ( VkDevice device+-- > , const VkCommandPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkCommandPool* pCommandPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateCommandPool"+ vkCreateCommandPoolSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkCommandPool -- ^ pCommandPool+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- > ( VkDevice device+-- > , const VkCommandPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkCommandPool* pCommandPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateCommandPoolSafe@ and @vkCreateCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateCommandPool <- vkGetDeviceProc @VkCreateCommandPool vkDevice+--+-- or less efficient:+--+-- > myCreateCommandPool <- vkGetProc @VkCreateCommandPool+--+vkCreateCommandPoolSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkCommandPool -- ^ pCommandPool+ -> IO VkResult+vkCreateCommandPoolSafe = vkCreateCommandPool++{-# INLINE vkCreateCommandPoolSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateCommandPool+-- > ( VkDevice device+-- > , const VkCommandPoolCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkCommandPool* pCommandPool+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateCommandPool vkCreateCommandPool registry at www.khronos.org>+type HS_vkCreateCommandPool =+ VkDevice -- ^ device+ ->+ Ptr VkCommandPoolCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkCommandPool -- ^ pCommandPool+ -> IO VkResult++type PFN_vkCreateCommandPool = FunPtr HS_vkCreateCommandPool++foreign import ccall "dynamic" unwrapVkCreateCommandPool ::+ PFN_vkCreateCommandPool -> HS_vkCreateCommandPool++instance VulkanProc "vkCreateCommandPool" where+ type VkProcType "vkCreateCommandPool" = HS_vkCreateCommandPool+ vkProcSymbol = _VkCreateCommandPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateCommandPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyCommandPool :: CString++pattern VkDestroyCommandPool <- (is_VkDestroyCommandPool -> True)+ where VkDestroyCommandPool = _VkDestroyCommandPool++{-# INLINE _VkDestroyCommandPool #-}++_VkDestroyCommandPool :: CString+_VkDestroyCommandPool = Ptr "vkDestroyCommandPool\NUL"##++{-# INLINE is_VkDestroyCommandPool #-}++is_VkDestroyCommandPool :: CString -> Bool+is_VkDestroyCommandPool+ = (EQ ==) . cmpCStrings _VkDestroyCommandPool++type VkDestroyCommandPool = "vkDestroyCommandPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyCommandPool"+ vkDestroyCommandPool ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyCommandPoolSafe@ and @vkDestroyCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice+--+-- or less efficient:+--+-- > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool+--+vkDestroyCommandPool ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyCommandPool+ = unsafeDupablePerformIO (vkGetProc @VkDestroyCommandPool)++{-# NOINLINE vkDestroyCommandPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroyCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyCommandPool"+ vkDestroyCommandPoolSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++##else+-- |+-- > void vkDestroyCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyCommandPoolSafe@ and @vkDestroyCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyCommandPool <- vkGetDeviceProc @VkDestroyCommandPool vkDevice+--+-- or less efficient:+--+-- > myDestroyCommandPool <- vkGetProc @VkDestroyCommandPool+--+vkDestroyCommandPoolSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyCommandPoolSafe = vkDestroyCommandPool++{-# INLINE vkDestroyCommandPoolSafe #-}+##endif++-- | > void vkDestroyCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyCommandPool vkDestroyCommandPool registry at www.khronos.org>+type HS_vkDestroyCommandPool =+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyCommandPool = FunPtr HS_vkDestroyCommandPool++foreign import ccall "dynamic" unwrapVkDestroyCommandPool ::+ PFN_vkDestroyCommandPool -> HS_vkDestroyCommandPool++instance VulkanProc "vkDestroyCommandPool" where+ type VkProcType "vkDestroyCommandPool" = HS_vkDestroyCommandPool+ vkProcSymbol = _VkDestroyCommandPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyCommandPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkResetCommandPool :: CString++pattern VkResetCommandPool <- (is_VkResetCommandPool -> True)+ where VkResetCommandPool = _VkResetCommandPool++{-# INLINE _VkResetCommandPool #-}++_VkResetCommandPool :: CString+_VkResetCommandPool = Ptr "vkResetCommandPool\NUL"##++{-# INLINE is_VkResetCommandPool #-}++is_VkResetCommandPool :: CString -> Bool+is_VkResetCommandPool = (EQ ==) . cmpCStrings _VkResetCommandPool++type VkResetCommandPool = "vkResetCommandPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkResetCommandPool" vkResetCommandPool+ ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolResetFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetCommandPoolSafe@ and @vkResetCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice+--+-- or less efficient:+--+-- > myResetCommandPool <- vkGetProc @VkResetCommandPool+--+vkResetCommandPool ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolResetFlags -- ^ flags+ -> IO VkResult+vkResetCommandPool+ = unsafeDupablePerformIO (vkGetProc @VkResetCommandPool)++{-# NOINLINE vkResetCommandPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkResetCommandPool"+ vkResetCommandPoolSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolResetFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetCommandPoolSafe@ and @vkResetCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandPool <- vkGetDeviceProc @VkResetCommandPool vkDevice+--+-- or less efficient:+--+-- > myResetCommandPool <- vkGetProc @VkResetCommandPool+--+vkResetCommandPoolSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolResetFlags -- ^ flags+ -> IO VkResult+vkResetCommandPoolSafe = vkResetCommandPool++{-# INLINE vkResetCommandPoolSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandPool vkResetCommandPool registry at www.khronos.org>+type HS_vkResetCommandPool =+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolResetFlags -- ^ flags+ -> IO VkResult++type PFN_vkResetCommandPool = FunPtr HS_vkResetCommandPool++foreign import ccall "dynamic" unwrapVkResetCommandPool ::+ PFN_vkResetCommandPool -> HS_vkResetCommandPool++instance VulkanProc "vkResetCommandPool" where+ type VkProcType "vkResetCommandPool" = HS_vkResetCommandPool+ vkProcSymbol = _VkResetCommandPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkResetCommandPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkAllocateCommandBuffers :: CString++pattern VkAllocateCommandBuffers <-+ (is_VkAllocateCommandBuffers -> True)+ where VkAllocateCommandBuffers = _VkAllocateCommandBuffers++{-# INLINE _VkAllocateCommandBuffers #-}++_VkAllocateCommandBuffers :: CString+_VkAllocateCommandBuffers = Ptr "vkAllocateCommandBuffers\NUL"##++{-# INLINE is_VkAllocateCommandBuffers #-}++is_VkAllocateCommandBuffers :: CString -> Bool+is_VkAllocateCommandBuffers+ = (EQ ==) . cmpCStrings _VkAllocateCommandBuffers++type VkAllocateCommandBuffers = "vkAllocateCommandBuffers"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- > ( VkDevice device+-- > , const VkCommandBufferAllocateInfo* pAllocateInfo+-- > , VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkAllocateCommandBuffers"+ vkAllocateCommandBuffers ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- > ( VkDevice device+-- > , const VkCommandBufferAllocateInfo* pAllocateInfo+-- > , VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAllocateCommandBuffersSafe@ and @vkAllocateCommandBuffers@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers+--+vkAllocateCommandBuffers ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO VkResult+vkAllocateCommandBuffers+ = unsafeDupablePerformIO (vkGetProc @VkAllocateCommandBuffers)++{-# NOINLINE vkAllocateCommandBuffers #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- > ( VkDevice device+-- > , const VkCommandBufferAllocateInfo* pAllocateInfo+-- > , VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkAllocateCommandBuffers"+ vkAllocateCommandBuffersSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- > ( VkDevice device+-- > , const VkCommandBufferAllocateInfo* pAllocateInfo+-- > , VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAllocateCommandBuffersSafe@ and @vkAllocateCommandBuffers@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAllocateCommandBuffers <- vkGetDeviceProc @VkAllocateCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myAllocateCommandBuffers <- vkGetProc @VkAllocateCommandBuffers+--+vkAllocateCommandBuffersSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO VkResult+vkAllocateCommandBuffersSafe = vkAllocateCommandBuffers++{-# INLINE vkAllocateCommandBuffersSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkAllocateCommandBuffers+-- > ( VkDevice device+-- > , const VkCommandBufferAllocateInfo* pAllocateInfo+-- > , VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAllocateCommandBuffers vkAllocateCommandBuffers registry at www.khronos.org>+type HS_vkAllocateCommandBuffers =+ VkDevice -- ^ device+ ->+ Ptr VkCommandBufferAllocateInfo -- ^ pAllocateInfo+ ->+ Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO VkResult++type PFN_vkAllocateCommandBuffers =+ FunPtr HS_vkAllocateCommandBuffers++foreign import ccall "dynamic" unwrapVkAllocateCommandBuffers ::+ PFN_vkAllocateCommandBuffers -> HS_vkAllocateCommandBuffers++instance VulkanProc "vkAllocateCommandBuffers" where+ type VkProcType "vkAllocateCommandBuffers" =+ HS_vkAllocateCommandBuffers+ vkProcSymbol = _VkAllocateCommandBuffers++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkAllocateCommandBuffers++ {-# INLINE unwrapVkProcPtr #-}++pattern VkFreeCommandBuffers :: CString++pattern VkFreeCommandBuffers <- (is_VkFreeCommandBuffers -> True)+ where VkFreeCommandBuffers = _VkFreeCommandBuffers++{-# INLINE _VkFreeCommandBuffers #-}++_VkFreeCommandBuffers :: CString+_VkFreeCommandBuffers = Ptr "vkFreeCommandBuffers\NUL"##++{-# INLINE is_VkFreeCommandBuffers #-}++is_VkFreeCommandBuffers :: CString -> Bool+is_VkFreeCommandBuffers+ = (EQ ==) . cmpCStrings _VkFreeCommandBuffers++type VkFreeCommandBuffers = "vkFreeCommandBuffers"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkFreeCommandBuffers+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkFreeCommandBuffers"+ vkFreeCommandBuffers ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()++##else+-- |+-- > void vkFreeCommandBuffers+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFreeCommandBuffersSafe@ and @vkFreeCommandBuffers@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers+--+vkFreeCommandBuffers ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()+vkFreeCommandBuffers+ = unsafeDupablePerformIO (vkGetProc @VkFreeCommandBuffers)++{-# NOINLINE vkFreeCommandBuffers #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkFreeCommandBuffers+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkFreeCommandBuffers"+ vkFreeCommandBuffersSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()++##else+-- |+-- > void vkFreeCommandBuffers+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkFreeCommandBuffersSafe@ and @vkFreeCommandBuffers@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myFreeCommandBuffers <- vkGetDeviceProc @VkFreeCommandBuffers vkDevice+--+-- or less efficient:+--+-- > myFreeCommandBuffers <- vkGetProc @VkFreeCommandBuffers+--+vkFreeCommandBuffersSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()+vkFreeCommandBuffersSafe = vkFreeCommandBuffers++{-# INLINE vkFreeCommandBuffersSafe #-}+##endif++-- | > void vkFreeCommandBuffers+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkFreeCommandBuffers vkFreeCommandBuffers registry at www.khronos.org>+type HS_vkFreeCommandBuffers =+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()++type PFN_vkFreeCommandBuffers = FunPtr HS_vkFreeCommandBuffers++foreign import ccall "dynamic" unwrapVkFreeCommandBuffers ::+ PFN_vkFreeCommandBuffers -> HS_vkFreeCommandBuffers++instance VulkanProc "vkFreeCommandBuffers" where+ type VkProcType "vkFreeCommandBuffers" = HS_vkFreeCommandBuffers+ vkProcSymbol = _VkFreeCommandBuffers++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkFreeCommandBuffers++ {-# INLINE unwrapVkProcPtr #-}++pattern VkBeginCommandBuffer :: CString++pattern VkBeginCommandBuffer <- (is_VkBeginCommandBuffer -> True)+ where VkBeginCommandBuffer = _VkBeginCommandBuffer++{-# INLINE _VkBeginCommandBuffer #-}++_VkBeginCommandBuffer :: CString+_VkBeginCommandBuffer = Ptr "vkBeginCommandBuffer\NUL"##++{-# INLINE is_VkBeginCommandBuffer #-}++is_VkBeginCommandBuffer :: CString -> Bool+is_VkBeginCommandBuffer+ = (EQ ==) . cmpCStrings _VkBeginCommandBuffer++type VkBeginCommandBuffer = "vkBeginCommandBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , const VkCommandBufferBeginInfo* pBeginInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkBeginCommandBuffer"+ vkBeginCommandBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , const VkCommandBufferBeginInfo* pBeginInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBeginCommandBufferSafe@ and @vkBeginCommandBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer+--+vkBeginCommandBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+ -> IO VkResult+vkBeginCommandBuffer+ = unsafeDupablePerformIO (vkGetProc @VkBeginCommandBuffer)++{-# NOINLINE vkBeginCommandBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , const VkCommandBufferBeginInfo* pBeginInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkBeginCommandBuffer"+ vkBeginCommandBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , const VkCommandBufferBeginInfo* pBeginInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBeginCommandBufferSafe@ and @vkBeginCommandBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBeginCommandBuffer <- vkGetInstanceProc @VkBeginCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myBeginCommandBuffer <- vkGetProc @VkBeginCommandBuffer+--+vkBeginCommandBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+ -> IO VkResult+vkBeginCommandBufferSafe = vkBeginCommandBuffer++{-# INLINE vkBeginCommandBufferSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBeginCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , const VkCommandBufferBeginInfo* pBeginInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBeginCommandBuffer vkBeginCommandBuffer registry at www.khronos.org>+type HS_vkBeginCommandBuffer =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCommandBufferBeginInfo -- ^ pBeginInfo+ -> IO VkResult++type PFN_vkBeginCommandBuffer = FunPtr HS_vkBeginCommandBuffer++foreign import ccall "dynamic" unwrapVkBeginCommandBuffer ::+ PFN_vkBeginCommandBuffer -> HS_vkBeginCommandBuffer++instance VulkanProc "vkBeginCommandBuffer" where+ type VkProcType "vkBeginCommandBuffer" = HS_vkBeginCommandBuffer+ vkProcSymbol = _VkBeginCommandBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBeginCommandBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkEndCommandBuffer :: CString++pattern VkEndCommandBuffer <- (is_VkEndCommandBuffer -> True)+ where VkEndCommandBuffer = _VkEndCommandBuffer++{-# INLINE _VkEndCommandBuffer #-}++_VkEndCommandBuffer :: CString+_VkEndCommandBuffer = Ptr "vkEndCommandBuffer\NUL"##++{-# INLINE is_VkEndCommandBuffer #-}++is_VkEndCommandBuffer :: CString -> Bool+is_VkEndCommandBuffer = (EQ ==) . cmpCStrings _VkEndCommandBuffer++type VkEndCommandBuffer = "vkEndCommandBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEndCommandBuffer" vkEndCommandBuffer+ :: VkCommandBuffer -- ^ commandBuffer+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEndCommandBufferSafe@ and @vkEndCommandBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer+--+vkEndCommandBuffer :: VkCommandBuffer -- ^ commandBuffer+ -> IO VkResult+vkEndCommandBuffer+ = unsafeDupablePerformIO (vkGetProc @VkEndCommandBuffer)++{-# NOINLINE vkEndCommandBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEndCommandBuffer"+ vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEndCommandBufferSafe@ and @vkEndCommandBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEndCommandBuffer <- vkGetInstanceProc @VkEndCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myEndCommandBuffer <- vkGetProc @VkEndCommandBuffer+--+vkEndCommandBufferSafe :: VkCommandBuffer -- ^ commandBuffer+ -> IO VkResult+vkEndCommandBufferSafe = vkEndCommandBuffer++{-# INLINE vkEndCommandBufferSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkEndCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEndCommandBuffer vkEndCommandBuffer registry at www.khronos.org>+type HS_vkEndCommandBuffer = VkCommandBuffer -- ^ commandBuffer+ -> IO VkResult++type PFN_vkEndCommandBuffer = FunPtr HS_vkEndCommandBuffer++foreign import ccall "dynamic" unwrapVkEndCommandBuffer ::+ PFN_vkEndCommandBuffer -> HS_vkEndCommandBuffer++instance VulkanProc "vkEndCommandBuffer" where+ type VkProcType "vkEndCommandBuffer" = HS_vkEndCommandBuffer+ vkProcSymbol = _VkEndCommandBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEndCommandBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkResetCommandBuffer :: CString++pattern VkResetCommandBuffer <- (is_VkResetCommandBuffer -> True)+ where VkResetCommandBuffer = _VkResetCommandBuffer++{-# INLINE _VkResetCommandBuffer #-}++_VkResetCommandBuffer :: CString+_VkResetCommandBuffer = Ptr "vkResetCommandBuffer\NUL"##++{-# INLINE is_VkResetCommandBuffer #-}++is_VkResetCommandBuffer :: CString -> Bool+is_VkResetCommandBuffer+ = (EQ ==) . cmpCStrings _VkResetCommandBuffer++type VkResetCommandBuffer = "vkResetCommandBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkCommandBufferResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkResetCommandBuffer"+ vkResetCommandBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkCommandBufferResetFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkCommandBufferResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetCommandBufferSafe@ and @vkResetCommandBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer+--+vkResetCommandBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkCommandBufferResetFlags -- ^ flags+ -> IO VkResult+vkResetCommandBuffer+ = unsafeDupablePerformIO (vkGetProc @VkResetCommandBuffer)++{-# NOINLINE vkResetCommandBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkCommandBufferResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkResetCommandBuffer"+ vkResetCommandBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkCommandBufferResetFlags -- ^ flags+ -> IO VkResult++##else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkCommandBufferResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkResetCommandBufferSafe@ and @vkResetCommandBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myResetCommandBuffer <- vkGetInstanceProc @VkResetCommandBuffer vkInstance+--+-- or less efficient:+--+-- > myResetCommandBuffer <- vkGetProc @VkResetCommandBuffer+--+vkResetCommandBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkCommandBufferResetFlags -- ^ flags+ -> IO VkResult+vkResetCommandBufferSafe = vkResetCommandBuffer++{-# INLINE vkResetCommandBufferSafe #-}+##endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkResetCommandBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkCommandBufferResetFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkResetCommandBuffer vkResetCommandBuffer registry at www.khronos.org>+type HS_vkResetCommandBuffer =+ VkCommandBuffer -- ^ commandBuffer+ -> VkCommandBufferResetFlags -- ^ flags+ -> IO VkResult++type PFN_vkResetCommandBuffer = FunPtr HS_vkResetCommandBuffer++foreign import ccall "dynamic" unwrapVkResetCommandBuffer ::+ PFN_vkResetCommandBuffer -> HS_vkResetCommandBuffer++instance VulkanProc "vkResetCommandBuffer" where+ type VkProcType "vkResetCommandBuffer" = HS_vkResetCommandBuffer+ vkProcSymbol = _VkResetCommandBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkResetCommandBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBindPipeline :: CString++pattern VkCmdBindPipeline <- (is_VkCmdBindPipeline -> True)+ where VkCmdBindPipeline = _VkCmdBindPipeline++{-# INLINE _VkCmdBindPipeline #-}++_VkCmdBindPipeline :: CString+_VkCmdBindPipeline = Ptr "vkCmdBindPipeline\NUL"##++{-# INLINE is_VkCmdBindPipeline #-}++is_VkCmdBindPipeline :: CString -> Bool+is_VkCmdBindPipeline = (EQ ==) . cmpCStrings _VkCmdBindPipeline++type VkCmdBindPipeline = "vkCmdBindPipeline"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipeline pipeline+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBindPipeline" vkCmdBindPipeline+ :: VkCommandBuffer -- ^ commandBuffer+ -> VkPipelineBindPoint -- ^ pipelineBindPoint+ -> VkPipeline -- ^ pipeline+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipeline pipeline+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindPipelineSafe@ and @vkCmdBindPipeline@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance+--+-- or less efficient:+--+-- > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline+--+vkCmdBindPipeline ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkPipelineBindPoint -- ^ pipelineBindPoint+ -> VkPipeline -- ^ pipeline+ -> IO ()+vkCmdBindPipeline+ = unsafeDupablePerformIO (vkGetProc @VkCmdBindPipeline)++{-# NOINLINE vkCmdBindPipeline #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipeline pipeline+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBindPipeline" vkCmdBindPipelineSafe+ :: VkCommandBuffer -- ^ commandBuffer+ -> VkPipelineBindPoint -- ^ pipelineBindPoint+ -> VkPipeline -- ^ pipeline+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipeline pipeline+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindPipelineSafe@ and @vkCmdBindPipeline@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindPipeline <- vkGetInstanceProc @VkCmdBindPipeline vkInstance+--+-- or less efficient:+--+-- > myCmdBindPipeline <- vkGetProc @VkCmdBindPipeline+--+vkCmdBindPipelineSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkPipelineBindPoint -- ^ pipelineBindPoint+ -> VkPipeline -- ^ pipeline+ -> IO ()+vkCmdBindPipelineSafe = vkCmdBindPipeline++{-# INLINE vkCmdBindPipelineSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindPipeline+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipeline pipeline+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindPipeline vkCmdBindPipeline registry at www.khronos.org>+type HS_vkCmdBindPipeline =+ VkCommandBuffer -- ^ commandBuffer+ -> VkPipelineBindPoint -- ^ pipelineBindPoint+ -> VkPipeline -- ^ pipeline+ -> IO ()++type PFN_vkCmdBindPipeline = FunPtr HS_vkCmdBindPipeline++foreign import ccall "dynamic" unwrapVkCmdBindPipeline ::+ PFN_vkCmdBindPipeline -> HS_vkCmdBindPipeline++instance VulkanProc "vkCmdBindPipeline" where+ type VkProcType "vkCmdBindPipeline" = HS_vkCmdBindPipeline+ vkProcSymbol = _VkCmdBindPipeline++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBindPipeline++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetViewport :: CString++pattern VkCmdSetViewport <- (is_VkCmdSetViewport -> True)+ where VkCmdSetViewport = _VkCmdSetViewport++{-# INLINE _VkCmdSetViewport #-}++_VkCmdSetViewport :: CString+_VkCmdSetViewport = Ptr "vkCmdSetViewport\NUL"##++{-# INLINE is_VkCmdSetViewport #-}++is_VkCmdSetViewport :: CString -> Bool+is_VkCmdSetViewport = (EQ ==) . cmpCStrings _VkCmdSetViewport++type VkCmdSetViewport = "vkCmdSetViewport"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstViewport+-- > , uint32_t viewportCount+-- > , const VkViewport* pViewports+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetViewport" vkCmdSetViewport ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstViewport+ -> Word32 -- ^ viewportCount+ -> Ptr VkViewport -- ^ pViewports+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstViewport+-- > , uint32_t viewportCount+-- > , const VkViewport* pViewports+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetViewportSafe@ and @vkCmdSetViewport@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance+--+-- or less efficient:+--+-- > myCmdSetViewport <- vkGetProc @VkCmdSetViewport+--+vkCmdSetViewport ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstViewport+ -> Word32 -- ^ viewportCount+ -> Ptr VkViewport -- ^ pViewports+ -> IO ()+vkCmdSetViewport+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetViewport)++{-# NOINLINE vkCmdSetViewport #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstViewport+-- > , uint32_t viewportCount+-- > , const VkViewport* pViewports+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetViewport" vkCmdSetViewportSafe+ :: VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstViewport+ -> Word32 -- ^ viewportCount+ -> Ptr VkViewport -- ^ pViewports+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstViewport+-- > , uint32_t viewportCount+-- > , const VkViewport* pViewports+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetViewportSafe@ and @vkCmdSetViewport@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetViewport <- vkGetInstanceProc @VkCmdSetViewport vkInstance+--+-- or less efficient:+--+-- > myCmdSetViewport <- vkGetProc @VkCmdSetViewport+--+vkCmdSetViewportSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstViewport+ -> Word32 -- ^ viewportCount+ -> Ptr VkViewport -- ^ pViewports+ -> IO ()+vkCmdSetViewportSafe = vkCmdSetViewport++{-# INLINE vkCmdSetViewportSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetViewport+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstViewport+-- > , uint32_t viewportCount+-- > , const VkViewport* pViewports+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewport vkCmdSetViewport registry at www.khronos.org>+type HS_vkCmdSetViewport =+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstViewport+ -> Word32 -- ^ viewportCount+ -> Ptr VkViewport -- ^ pViewports+ -> IO ()++type PFN_vkCmdSetViewport = FunPtr HS_vkCmdSetViewport++foreign import ccall "dynamic" unwrapVkCmdSetViewport ::+ PFN_vkCmdSetViewport -> HS_vkCmdSetViewport++instance VulkanProc "vkCmdSetViewport" where+ type VkProcType "vkCmdSetViewport" = HS_vkCmdSetViewport+ vkProcSymbol = _VkCmdSetViewport++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetViewport++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetScissor :: CString++pattern VkCmdSetScissor <- (is_VkCmdSetScissor -> True)+ where VkCmdSetScissor = _VkCmdSetScissor++{-# INLINE _VkCmdSetScissor #-}++_VkCmdSetScissor :: CString+_VkCmdSetScissor = Ptr "vkCmdSetScissor\NUL"##++{-# INLINE is_VkCmdSetScissor #-}++is_VkCmdSetScissor :: CString -> Bool+is_VkCmdSetScissor = (EQ ==) . cmpCStrings _VkCmdSetScissor++type VkCmdSetScissor = "vkCmdSetScissor"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstScissor+-- > , uint32_t scissorCount+-- > , const VkRect2D* pScissors+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetScissor" vkCmdSetScissor ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstScissor+ -> Word32 -- ^ scissorCount+ -> Ptr VkRect2D -- ^ pScissors+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstScissor+-- > , uint32_t scissorCount+-- > , const VkRect2D* pScissors+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetScissorSafe@ and @vkCmdSetScissor@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance+--+-- or less efficient:+--+-- > myCmdSetScissor <- vkGetProc @VkCmdSetScissor+--+vkCmdSetScissor ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstScissor+ -> Word32 -- ^ scissorCount+ -> Ptr VkRect2D -- ^ pScissors+ -> IO ()+vkCmdSetScissor+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetScissor)++{-# NOINLINE vkCmdSetScissor #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstScissor+-- > , uint32_t scissorCount+-- > , const VkRect2D* pScissors+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetScissor" vkCmdSetScissorSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstScissor+ -> Word32 -- ^ scissorCount+ -> Ptr VkRect2D -- ^ pScissors+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstScissor+-- > , uint32_t scissorCount+-- > , const VkRect2D* pScissors+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetScissorSafe@ and @vkCmdSetScissor@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetScissor <- vkGetInstanceProc @VkCmdSetScissor vkInstance+--+-- or less efficient:+--+-- > myCmdSetScissor <- vkGetProc @VkCmdSetScissor+--+vkCmdSetScissorSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstScissor+ -> Word32 -- ^ scissorCount+ -> Ptr VkRect2D -- ^ pScissors+ -> IO ()+vkCmdSetScissorSafe = vkCmdSetScissor++{-# INLINE vkCmdSetScissorSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetScissor+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstScissor+-- > , uint32_t scissorCount+-- > , const VkRect2D* pScissors+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetScissor vkCmdSetScissor registry at www.khronos.org>+type HS_vkCmdSetScissor =+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstScissor+ -> Word32 -- ^ scissorCount+ -> Ptr VkRect2D -- ^ pScissors+ -> IO ()++type PFN_vkCmdSetScissor = FunPtr HS_vkCmdSetScissor++foreign import ccall "dynamic" unwrapVkCmdSetScissor ::+ PFN_vkCmdSetScissor -> HS_vkCmdSetScissor++instance VulkanProc "vkCmdSetScissor" where+ type VkProcType "vkCmdSetScissor" = HS_vkCmdSetScissor+ vkProcSymbol = _VkCmdSetScissor++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetScissor++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetLineWidth :: CString++pattern VkCmdSetLineWidth <- (is_VkCmdSetLineWidth -> True)+ where VkCmdSetLineWidth = _VkCmdSetLineWidth++{-# INLINE _VkCmdSetLineWidth #-}++_VkCmdSetLineWidth :: CString+_VkCmdSetLineWidth = Ptr "vkCmdSetLineWidth\NUL"##++{-# INLINE is_VkCmdSetLineWidth #-}++is_VkCmdSetLineWidth :: CString -> Bool+is_VkCmdSetLineWidth = (EQ ==) . cmpCStrings _VkCmdSetLineWidth++type VkCmdSetLineWidth = "vkCmdSetLineWidth"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- > ( VkCommandBuffer commandBuffer+-- > , float lineWidth+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetLineWidth" vkCmdSetLineWidth+ :: VkCommandBuffer -- ^ commandBuffer+ -> #{type float} -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- > ( VkCommandBuffer commandBuffer+-- > , float lineWidth+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetLineWidthSafe@ and @vkCmdSetLineWidth@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance+--+-- or less efficient:+--+-- > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth+--+vkCmdSetLineWidth ::+ VkCommandBuffer -- ^ commandBuffer+ -> #{type float} -> IO ()+vkCmdSetLineWidth+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetLineWidth)++{-# NOINLINE vkCmdSetLineWidth #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- > ( VkCommandBuffer commandBuffer+-- > , float lineWidth+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetLineWidth" vkCmdSetLineWidthSafe+ :: VkCommandBuffer -- ^ commandBuffer+ -> #{type float} -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- > ( VkCommandBuffer commandBuffer+-- > , float lineWidth+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetLineWidthSafe@ and @vkCmdSetLineWidth@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetLineWidth <- vkGetInstanceProc @VkCmdSetLineWidth vkInstance+--+-- or less efficient:+--+-- > myCmdSetLineWidth <- vkGetProc @VkCmdSetLineWidth+--+vkCmdSetLineWidthSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> #{type float} -> IO ()+vkCmdSetLineWidthSafe = vkCmdSetLineWidth++{-# INLINE vkCmdSetLineWidthSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetLineWidth+-- > ( VkCommandBuffer commandBuffer+-- > , float lineWidth+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetLineWidth vkCmdSetLineWidth registry at www.khronos.org>+type HS_vkCmdSetLineWidth =+ VkCommandBuffer -- ^ commandBuffer+ -> #{type float} -> IO ()++type PFN_vkCmdSetLineWidth = FunPtr HS_vkCmdSetLineWidth++foreign import ccall "dynamic" unwrapVkCmdSetLineWidth ::+ PFN_vkCmdSetLineWidth -> HS_vkCmdSetLineWidth++instance VulkanProc "vkCmdSetLineWidth" where+ type VkProcType "vkCmdSetLineWidth" = HS_vkCmdSetLineWidth+ vkProcSymbol = _VkCmdSetLineWidth++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetLineWidth++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetDepthBias :: CString++pattern VkCmdSetDepthBias <- (is_VkCmdSetDepthBias -> True)+ where VkCmdSetDepthBias = _VkCmdSetDepthBias++{-# INLINE _VkCmdSetDepthBias #-}++_VkCmdSetDepthBias :: CString+_VkCmdSetDepthBias = Ptr "vkCmdSetDepthBias\NUL"##++{-# INLINE is_VkCmdSetDepthBias #-}++is_VkCmdSetDepthBias :: CString -> Bool+is_VkCmdSetDepthBias = (EQ ==) . cmpCStrings _VkCmdSetDepthBias++type VkCmdSetDepthBias = "vkCmdSetDepthBias"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- > ( VkCommandBuffer commandBuffer+-- > , float depthBiasConstantFactor+-- > , float depthBiasClamp+-- > , float depthBiasSlopeFactor+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetDepthBias" vkCmdSetDepthBias+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} ->+ #{type float} -> #{type float} -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- > ( VkCommandBuffer commandBuffer+-- > , float depthBiasConstantFactor+-- > , float depthBiasClamp+-- > , float depthBiasSlopeFactor+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetDepthBiasSafe@ and @vkCmdSetDepthBias@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias+--+vkCmdSetDepthBias ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} ->+ #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBias+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetDepthBias)++{-# NOINLINE vkCmdSetDepthBias #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- > ( VkCommandBuffer commandBuffer+-- > , float depthBiasConstantFactor+-- > , float depthBiasClamp+-- > , float depthBiasSlopeFactor+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetDepthBias" vkCmdSetDepthBiasSafe+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} ->+ #{type float} -> #{type float} -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- > ( VkCommandBuffer commandBuffer+-- > , float depthBiasConstantFactor+-- > , float depthBiasClamp+-- > , float depthBiasSlopeFactor+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetDepthBiasSafe@ and @vkCmdSetDepthBias@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBias <- vkGetInstanceProc @VkCmdSetDepthBias vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBias <- vkGetProc @VkCmdSetDepthBias+--+vkCmdSetDepthBiasSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} ->+ #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBiasSafe = vkCmdSetDepthBias++{-# INLINE vkCmdSetDepthBiasSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBias+-- > ( VkCommandBuffer commandBuffer+-- > , float depthBiasConstantFactor+-- > , float depthBiasClamp+-- > , float depthBiasSlopeFactor+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBias vkCmdSetDepthBias registry at www.khronos.org>+type HS_vkCmdSetDepthBias =+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} ->+ #{type float} -> #{type float} -> IO ()++type PFN_vkCmdSetDepthBias = FunPtr HS_vkCmdSetDepthBias++foreign import ccall "dynamic" unwrapVkCmdSetDepthBias ::+ PFN_vkCmdSetDepthBias -> HS_vkCmdSetDepthBias++instance VulkanProc "vkCmdSetDepthBias" where+ type VkProcType "vkCmdSetDepthBias" = HS_vkCmdSetDepthBias+ vkProcSymbol = _VkCmdSetDepthBias++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetDepthBias++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetBlendConstants :: CString++pattern VkCmdSetBlendConstants <-+ (is_VkCmdSetBlendConstants -> True)+ where VkCmdSetBlendConstants = _VkCmdSetBlendConstants++{-# INLINE _VkCmdSetBlendConstants #-}++_VkCmdSetBlendConstants :: CString+_VkCmdSetBlendConstants = Ptr "vkCmdSetBlendConstants\NUL"##++{-# INLINE is_VkCmdSetBlendConstants #-}++is_VkCmdSetBlendConstants :: CString -> Bool+is_VkCmdSetBlendConstants+ = (EQ ==) . cmpCStrings _VkCmdSetBlendConstants++type VkCmdSetBlendConstants = "vkCmdSetBlendConstants"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- > ( VkCommandBuffer commandBuffer+-- > , const float blendConstants[4]+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetBlendConstants"+ vkCmdSetBlendConstants ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr #{type float} -- ^ blendConstants+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- > ( VkCommandBuffer commandBuffer+-- > , const float blendConstants[4]+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetBlendConstantsSafe@ and @vkCmdSetBlendConstants@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance+--+-- or less efficient:+--+-- > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants+--+vkCmdSetBlendConstants ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr #{type float} -- ^ blendConstants+ -> IO ()+vkCmdSetBlendConstants+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetBlendConstants)++{-# NOINLINE vkCmdSetBlendConstants #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- > ( VkCommandBuffer commandBuffer+-- > , const float blendConstants[4]+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetBlendConstants"+ vkCmdSetBlendConstantsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr #{type float} -- ^ blendConstants+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- > ( VkCommandBuffer commandBuffer+-- > , const float blendConstants[4]+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetBlendConstantsSafe@ and @vkCmdSetBlendConstants@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetBlendConstants <- vkGetInstanceProc @VkCmdSetBlendConstants vkInstance+--+-- or less efficient:+--+-- > myCmdSetBlendConstants <- vkGetProc @VkCmdSetBlendConstants+--+vkCmdSetBlendConstantsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr #{type float} -- ^ blendConstants+ -> IO ()+vkCmdSetBlendConstantsSafe = vkCmdSetBlendConstants++{-# INLINE vkCmdSetBlendConstantsSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetBlendConstants+-- > ( VkCommandBuffer commandBuffer+-- > , const float blendConstants[4]+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetBlendConstants vkCmdSetBlendConstants registry at www.khronos.org>+type HS_vkCmdSetBlendConstants =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr #{type float} -- ^ blendConstants+ -> IO ()++type PFN_vkCmdSetBlendConstants = FunPtr HS_vkCmdSetBlendConstants++foreign import ccall "dynamic" unwrapVkCmdSetBlendConstants ::+ PFN_vkCmdSetBlendConstants -> HS_vkCmdSetBlendConstants++instance VulkanProc "vkCmdSetBlendConstants" where+ type VkProcType "vkCmdSetBlendConstants" =+ HS_vkCmdSetBlendConstants+ vkProcSymbol = _VkCmdSetBlendConstants++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetBlendConstants++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetDepthBounds :: CString++pattern VkCmdSetDepthBounds <- (is_VkCmdSetDepthBounds -> True)+ where VkCmdSetDepthBounds = _VkCmdSetDepthBounds++{-# INLINE _VkCmdSetDepthBounds #-}++_VkCmdSetDepthBounds :: CString+_VkCmdSetDepthBounds = Ptr "vkCmdSetDepthBounds\NUL"##++{-# INLINE is_VkCmdSetDepthBounds #-}++is_VkCmdSetDepthBounds :: CString -> Bool+is_VkCmdSetDepthBounds = (EQ ==) . cmpCStrings _VkCmdSetDepthBounds++type VkCmdSetDepthBounds = "vkCmdSetDepthBounds"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- > ( VkCommandBuffer commandBuffer+-- > , float minDepthBounds+-- > , float maxDepthBounds+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetDepthBounds"+ vkCmdSetDepthBounds ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} -> #{type float} -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- > ( VkCommandBuffer commandBuffer+-- > , float minDepthBounds+-- > , float maxDepthBounds+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetDepthBoundsSafe@ and @vkCmdSetDepthBounds@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds+--+vkCmdSetDepthBounds ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBounds+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetDepthBounds)++{-# NOINLINE vkCmdSetDepthBounds #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- > ( VkCommandBuffer commandBuffer+-- > , float minDepthBounds+-- > , float maxDepthBounds+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetDepthBounds"+ vkCmdSetDepthBoundsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} -> #{type float} -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- > ( VkCommandBuffer commandBuffer+-- > , float minDepthBounds+-- > , float maxDepthBounds+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetDepthBoundsSafe@ and @vkCmdSetDepthBounds@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDepthBounds <- vkGetInstanceProc @VkCmdSetDepthBounds vkInstance+--+-- or less efficient:+--+-- > myCmdSetDepthBounds <- vkGetProc @VkCmdSetDepthBounds+--+vkCmdSetDepthBoundsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} -> #{type float} -> IO ()+vkCmdSetDepthBoundsSafe = vkCmdSetDepthBounds++{-# INLINE vkCmdSetDepthBoundsSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDepthBounds+-- > ( VkCommandBuffer commandBuffer+-- > , float minDepthBounds+-- > , float maxDepthBounds+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDepthBounds vkCmdSetDepthBounds registry at www.khronos.org>+type HS_vkCmdSetDepthBounds =+ VkCommandBuffer -- ^ commandBuffer+ ->+ #{type float} -> #{type float} -> IO ()++type PFN_vkCmdSetDepthBounds = FunPtr HS_vkCmdSetDepthBounds++foreign import ccall "dynamic" unwrapVkCmdSetDepthBounds ::+ PFN_vkCmdSetDepthBounds -> HS_vkCmdSetDepthBounds++instance VulkanProc "vkCmdSetDepthBounds" where+ type VkProcType "vkCmdSetDepthBounds" = HS_vkCmdSetDepthBounds+ vkProcSymbol = _VkCmdSetDepthBounds++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetDepthBounds++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetStencilCompareMask :: CString++pattern VkCmdSetStencilCompareMask <-+ (is_VkCmdSetStencilCompareMask -> True)+ where VkCmdSetStencilCompareMask = _VkCmdSetStencilCompareMask++{-# INLINE _VkCmdSetStencilCompareMask #-}++_VkCmdSetStencilCompareMask :: CString+_VkCmdSetStencilCompareMask = Ptr "vkCmdSetStencilCompareMask\NUL"##++{-# INLINE is_VkCmdSetStencilCompareMask #-}++is_VkCmdSetStencilCompareMask :: CString -> Bool+is_VkCmdSetStencilCompareMask+ = (EQ ==) . cmpCStrings _VkCmdSetStencilCompareMask++type VkCmdSetStencilCompareMask = "vkCmdSetStencilCompareMask"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t compareMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetStencilCompareMask"+ vkCmdSetStencilCompareMask ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ compareMask+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t compareMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetStencilCompareMaskSafe@ and @vkCmdSetStencilCompareMask@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask+--+vkCmdSetStencilCompareMask ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ compareMask+ -> IO ()+vkCmdSetStencilCompareMask+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetStencilCompareMask)++{-# NOINLINE vkCmdSetStencilCompareMask #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t compareMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetStencilCompareMask"+ vkCmdSetStencilCompareMaskSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ compareMask+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t compareMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetStencilCompareMaskSafe@ and @vkCmdSetStencilCompareMask@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilCompareMask <- vkGetInstanceProc @VkCmdSetStencilCompareMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilCompareMask <- vkGetProc @VkCmdSetStencilCompareMask+--+vkCmdSetStencilCompareMaskSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ compareMask+ -> IO ()+vkCmdSetStencilCompareMaskSafe = vkCmdSetStencilCompareMask++{-# INLINE vkCmdSetStencilCompareMaskSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilCompareMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t compareMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask registry at www.khronos.org>+type HS_vkCmdSetStencilCompareMask =+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ compareMask+ -> IO ()++type PFN_vkCmdSetStencilCompareMask =+ FunPtr HS_vkCmdSetStencilCompareMask++foreign import ccall "dynamic" unwrapVkCmdSetStencilCompareMask ::+ PFN_vkCmdSetStencilCompareMask -> HS_vkCmdSetStencilCompareMask++instance VulkanProc "vkCmdSetStencilCompareMask" where+ type VkProcType "vkCmdSetStencilCompareMask" =+ HS_vkCmdSetStencilCompareMask+ vkProcSymbol = _VkCmdSetStencilCompareMask++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetStencilCompareMask++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetStencilWriteMask :: CString++pattern VkCmdSetStencilWriteMask <-+ (is_VkCmdSetStencilWriteMask -> True)+ where VkCmdSetStencilWriteMask = _VkCmdSetStencilWriteMask++{-# INLINE _VkCmdSetStencilWriteMask #-}++_VkCmdSetStencilWriteMask :: CString+_VkCmdSetStencilWriteMask = Ptr "vkCmdSetStencilWriteMask\NUL"##++{-# INLINE is_VkCmdSetStencilWriteMask #-}++is_VkCmdSetStencilWriteMask :: CString -> Bool+is_VkCmdSetStencilWriteMask+ = (EQ ==) . cmpCStrings _VkCmdSetStencilWriteMask++type VkCmdSetStencilWriteMask = "vkCmdSetStencilWriteMask"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t writeMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetStencilWriteMask"+ vkCmdSetStencilWriteMask ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ writeMask+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t writeMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetStencilWriteMaskSafe@ and @vkCmdSetStencilWriteMask@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask+--+vkCmdSetStencilWriteMask ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ writeMask+ -> IO ()+vkCmdSetStencilWriteMask+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetStencilWriteMask)++{-# NOINLINE vkCmdSetStencilWriteMask #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t writeMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetStencilWriteMask"+ vkCmdSetStencilWriteMaskSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ writeMask+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t writeMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetStencilWriteMaskSafe@ and @vkCmdSetStencilWriteMask@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilWriteMask <- vkGetInstanceProc @VkCmdSetStencilWriteMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilWriteMask <- vkGetProc @VkCmdSetStencilWriteMask+--+vkCmdSetStencilWriteMaskSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ writeMask+ -> IO ()+vkCmdSetStencilWriteMaskSafe = vkCmdSetStencilWriteMask++{-# INLINE vkCmdSetStencilWriteMaskSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilWriteMask+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t writeMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask registry at www.khronos.org>+type HS_vkCmdSetStencilWriteMask =+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ writeMask+ -> IO ()++type PFN_vkCmdSetStencilWriteMask =+ FunPtr HS_vkCmdSetStencilWriteMask++foreign import ccall "dynamic" unwrapVkCmdSetStencilWriteMask ::+ PFN_vkCmdSetStencilWriteMask -> HS_vkCmdSetStencilWriteMask++instance VulkanProc "vkCmdSetStencilWriteMask" where+ type VkProcType "vkCmdSetStencilWriteMask" =+ HS_vkCmdSetStencilWriteMask+ vkProcSymbol = _VkCmdSetStencilWriteMask++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetStencilWriteMask++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetStencilReference :: CString++pattern VkCmdSetStencilReference <-+ (is_VkCmdSetStencilReference -> True)+ where VkCmdSetStencilReference = _VkCmdSetStencilReference++{-# INLINE _VkCmdSetStencilReference #-}++_VkCmdSetStencilReference :: CString+_VkCmdSetStencilReference = Ptr "vkCmdSetStencilReference\NUL"##++{-# INLINE is_VkCmdSetStencilReference #-}++is_VkCmdSetStencilReference :: CString -> Bool+is_VkCmdSetStencilReference+ = (EQ ==) . cmpCStrings _VkCmdSetStencilReference++type VkCmdSetStencilReference = "vkCmdSetStencilReference"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t reference+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetStencilReference"+ vkCmdSetStencilReference ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ reference+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t reference+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetStencilReferenceSafe@ and @vkCmdSetStencilReference@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference+--+vkCmdSetStencilReference ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ reference+ -> IO ()+vkCmdSetStencilReference+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetStencilReference)++{-# NOINLINE vkCmdSetStencilReference #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t reference+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetStencilReference"+ vkCmdSetStencilReferenceSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ reference+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t reference+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetStencilReferenceSafe@ and @vkCmdSetStencilReference@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetStencilReference <- vkGetInstanceProc @VkCmdSetStencilReference vkInstance+--+-- or less efficient:+--+-- > myCmdSetStencilReference <- vkGetProc @VkCmdSetStencilReference+--+vkCmdSetStencilReferenceSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ reference+ -> IO ()+vkCmdSetStencilReferenceSafe = vkCmdSetStencilReference++{-# INLINE vkCmdSetStencilReferenceSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetStencilReference+-- > ( VkCommandBuffer commandBuffer+-- > , VkStencilFaceFlags faceMask+-- > , uint32_t reference+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetStencilReference vkCmdSetStencilReference registry at www.khronos.org>+type HS_vkCmdSetStencilReference =+ VkCommandBuffer -- ^ commandBuffer+ -> VkStencilFaceFlags -- ^ faceMask+ -> Word32 -- ^ reference+ -> IO ()++type PFN_vkCmdSetStencilReference =+ FunPtr HS_vkCmdSetStencilReference++foreign import ccall "dynamic" unwrapVkCmdSetStencilReference ::+ PFN_vkCmdSetStencilReference -> HS_vkCmdSetStencilReference++instance VulkanProc "vkCmdSetStencilReference" where+ type VkProcType "vkCmdSetStencilReference" =+ HS_vkCmdSetStencilReference+ vkProcSymbol = _VkCmdSetStencilReference++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetStencilReference++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBindDescriptorSets :: CString++pattern VkCmdBindDescriptorSets <-+ (is_VkCmdBindDescriptorSets -> True)+ where VkCmdBindDescriptorSets = _VkCmdBindDescriptorSets++{-# INLINE _VkCmdBindDescriptorSets #-}++_VkCmdBindDescriptorSets :: CString+_VkCmdBindDescriptorSets = Ptr "vkCmdBindDescriptorSets\NUL"##++{-# INLINE is_VkCmdBindDescriptorSets #-}++is_VkCmdBindDescriptorSets :: CString -> Bool+is_VkCmdBindDescriptorSets+ = (EQ ==) . cmpCStrings _VkCmdBindDescriptorSets++type VkCmdBindDescriptorSets = "vkCmdBindDescriptorSets"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipelineLayout layout+-- > , uint32_t firstSet+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > , uint32_t dynamicOffsetCount+-- > , const uint32_t* pDynamicOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBindDescriptorSets"+ vkCmdBindDescriptorSets ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineBindPoint -- ^ pipelineBindPoint+ ->+ VkPipelineLayout -- ^ layout+ ->+ Word32 -- ^ firstSet+ ->+ Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> Word32 -- ^ dynamicOffsetCount+ -> Ptr Word32 -- ^ pDynamicOffsets+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipelineLayout layout+-- > , uint32_t firstSet+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > , uint32_t dynamicOffsetCount+-- > , const uint32_t* pDynamicOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindDescriptorSetsSafe@ and @vkCmdBindDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance+--+-- or less efficient:+--+-- > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets+--+vkCmdBindDescriptorSets ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineBindPoint -- ^ pipelineBindPoint+ ->+ VkPipelineLayout -- ^ layout+ ->+ Word32 -- ^ firstSet+ ->+ Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> Word32 -- ^ dynamicOffsetCount+ -> Ptr Word32 -- ^ pDynamicOffsets+ -> IO ()+vkCmdBindDescriptorSets+ = unsafeDupablePerformIO (vkGetProc @VkCmdBindDescriptorSets)++{-# NOINLINE vkCmdBindDescriptorSets #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipelineLayout layout+-- > , uint32_t firstSet+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > , uint32_t dynamicOffsetCount+-- > , const uint32_t* pDynamicOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBindDescriptorSets"+ vkCmdBindDescriptorSetsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineBindPoint -- ^ pipelineBindPoint+ ->+ VkPipelineLayout -- ^ layout+ ->+ Word32 -- ^ firstSet+ ->+ Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> Word32 -- ^ dynamicOffsetCount+ -> Ptr Word32 -- ^ pDynamicOffsets+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipelineLayout layout+-- > , uint32_t firstSet+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > , uint32_t dynamicOffsetCount+-- > , const uint32_t* pDynamicOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindDescriptorSetsSafe@ and @vkCmdBindDescriptorSets@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindDescriptorSets <- vkGetInstanceProc @VkCmdBindDescriptorSets vkInstance+--+-- or less efficient:+--+-- > myCmdBindDescriptorSets <- vkGetProc @VkCmdBindDescriptorSets+--+vkCmdBindDescriptorSetsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineBindPoint -- ^ pipelineBindPoint+ ->+ VkPipelineLayout -- ^ layout+ ->+ Word32 -- ^ firstSet+ ->+ Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> Word32 -- ^ dynamicOffsetCount+ -> Ptr Word32 -- ^ pDynamicOffsets+ -> IO ()+vkCmdBindDescriptorSetsSafe = vkCmdBindDescriptorSets++{-# INLINE vkCmdBindDescriptorSetsSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindDescriptorSets+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineBindPoint pipelineBindPoint+-- > , VkPipelineLayout layout+-- > , uint32_t firstSet+-- > , uint32_t descriptorSetCount+-- > , const VkDescriptorSet* pDescriptorSets+-- > , uint32_t dynamicOffsetCount+-- > , const uint32_t* pDynamicOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindDescriptorSets vkCmdBindDescriptorSets registry at www.khronos.org>+type HS_vkCmdBindDescriptorSets =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineBindPoint -- ^ pipelineBindPoint+ ->+ VkPipelineLayout -- ^ layout+ ->+ Word32 -- ^ firstSet+ ->+ Word32 -- ^ descriptorSetCount+ -> Ptr VkDescriptorSet -- ^ pDescriptorSets+ -> Word32 -- ^ dynamicOffsetCount+ -> Ptr Word32 -- ^ pDynamicOffsets+ -> IO ()++type PFN_vkCmdBindDescriptorSets =+ FunPtr HS_vkCmdBindDescriptorSets++foreign import ccall "dynamic" unwrapVkCmdBindDescriptorSets ::+ PFN_vkCmdBindDescriptorSets -> HS_vkCmdBindDescriptorSets++instance VulkanProc "vkCmdBindDescriptorSets" where+ type VkProcType "vkCmdBindDescriptorSets" =+ HS_vkCmdBindDescriptorSets+ vkProcSymbol = _VkCmdBindDescriptorSets++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBindDescriptorSets++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBindIndexBuffer :: CString++pattern VkCmdBindIndexBuffer <- (is_VkCmdBindIndexBuffer -> True)+ where VkCmdBindIndexBuffer = _VkCmdBindIndexBuffer++{-# INLINE _VkCmdBindIndexBuffer #-}++_VkCmdBindIndexBuffer :: CString+_VkCmdBindIndexBuffer = Ptr "vkCmdBindIndexBuffer\NUL"##++{-# INLINE is_VkCmdBindIndexBuffer #-}++is_VkCmdBindIndexBuffer :: CString -> Bool+is_VkCmdBindIndexBuffer+ = (EQ ==) . cmpCStrings _VkCmdBindIndexBuffer++type VkCmdBindIndexBuffer = "vkCmdBindIndexBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , VkIndexType indexType+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBindIndexBuffer"+ vkCmdBindIndexBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> VkIndexType -- ^ indexType+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , VkIndexType indexType+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindIndexBufferSafe@ and @vkCmdBindIndexBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer+--+vkCmdBindIndexBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> VkIndexType -- ^ indexType+ -> IO ()+vkCmdBindIndexBuffer+ = unsafeDupablePerformIO (vkGetProc @VkCmdBindIndexBuffer)++{-# NOINLINE vkCmdBindIndexBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , VkIndexType indexType+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBindIndexBuffer"+ vkCmdBindIndexBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> VkIndexType -- ^ indexType+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , VkIndexType indexType+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindIndexBufferSafe@ and @vkCmdBindIndexBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindIndexBuffer <- vkGetInstanceProc @VkCmdBindIndexBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdBindIndexBuffer <- vkGetProc @VkCmdBindIndexBuffer+--+vkCmdBindIndexBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> VkIndexType -- ^ indexType+ -> IO ()+vkCmdBindIndexBufferSafe = vkCmdBindIndexBuffer++{-# INLINE vkCmdBindIndexBufferSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindIndexBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , VkIndexType indexType+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindIndexBuffer vkCmdBindIndexBuffer registry at www.khronos.org>+type HS_vkCmdBindIndexBuffer =+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> VkIndexType -- ^ indexType+ -> IO ()++type PFN_vkCmdBindIndexBuffer = FunPtr HS_vkCmdBindIndexBuffer++foreign import ccall "dynamic" unwrapVkCmdBindIndexBuffer ::+ PFN_vkCmdBindIndexBuffer -> HS_vkCmdBindIndexBuffer++instance VulkanProc "vkCmdBindIndexBuffer" where+ type VkProcType "vkCmdBindIndexBuffer" = HS_vkCmdBindIndexBuffer+ vkProcSymbol = _VkCmdBindIndexBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBindIndexBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBindVertexBuffers :: CString++pattern VkCmdBindVertexBuffers <-+ (is_VkCmdBindVertexBuffers -> True)+ where VkCmdBindVertexBuffers = _VkCmdBindVertexBuffers++{-# INLINE _VkCmdBindVertexBuffers #-}++_VkCmdBindVertexBuffers :: CString+_VkCmdBindVertexBuffers = Ptr "vkCmdBindVertexBuffers\NUL"##++{-# INLINE is_VkCmdBindVertexBuffers #-}++is_VkCmdBindVertexBuffers :: CString -> Bool+is_VkCmdBindVertexBuffers+ = (EQ ==) . cmpCStrings _VkCmdBindVertexBuffers++type VkCmdBindVertexBuffers = "vkCmdBindVertexBuffers"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstBinding+-- > , uint32_t bindingCount+-- > , const VkBuffer* pBuffers+-- > , const VkDeviceSize* pOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBindVertexBuffers"+ vkCmdBindVertexBuffers ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ firstBinding+ -> Word32 -- ^ bindingCount+ -> Ptr VkBuffer -- ^ pBuffers+ -> Ptr VkDeviceSize -- ^ pOffsets+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstBinding+-- > , uint32_t bindingCount+-- > , const VkBuffer* pBuffers+-- > , const VkDeviceSize* pOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindVertexBuffersSafe@ and @vkCmdBindVertexBuffers@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance+--+-- or less efficient:+--+-- > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers+--+vkCmdBindVertexBuffers ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ firstBinding+ -> Word32 -- ^ bindingCount+ -> Ptr VkBuffer -- ^ pBuffers+ -> Ptr VkDeviceSize -- ^ pOffsets+ -> IO ()+vkCmdBindVertexBuffers+ = unsafeDupablePerformIO (vkGetProc @VkCmdBindVertexBuffers)++{-# NOINLINE vkCmdBindVertexBuffers #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstBinding+-- > , uint32_t bindingCount+-- > , const VkBuffer* pBuffers+-- > , const VkDeviceSize* pOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBindVertexBuffers"+ vkCmdBindVertexBuffersSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ firstBinding+ -> Word32 -- ^ bindingCount+ -> Ptr VkBuffer -- ^ pBuffers+ -> Ptr VkDeviceSize -- ^ pOffsets+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstBinding+-- > , uint32_t bindingCount+-- > , const VkBuffer* pBuffers+-- > , const VkDeviceSize* pOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBindVertexBuffersSafe@ and @vkCmdBindVertexBuffers@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBindVertexBuffers <- vkGetInstanceProc @VkCmdBindVertexBuffers vkInstance+--+-- or less efficient:+--+-- > myCmdBindVertexBuffers <- vkGetProc @VkCmdBindVertexBuffers+--+vkCmdBindVertexBuffersSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ firstBinding+ -> Word32 -- ^ bindingCount+ -> Ptr VkBuffer -- ^ pBuffers+ -> Ptr VkDeviceSize -- ^ pOffsets+ -> IO ()+vkCmdBindVertexBuffersSafe = vkCmdBindVertexBuffers++{-# INLINE vkCmdBindVertexBuffersSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @both@+--+-- > void vkCmdBindVertexBuffers+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t firstBinding+-- > , uint32_t bindingCount+-- > , const VkBuffer* pBuffers+-- > , const VkDeviceSize* pOffsets+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBindVertexBuffers vkCmdBindVertexBuffers registry at www.khronos.org>+type HS_vkCmdBindVertexBuffers =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ firstBinding+ -> Word32 -- ^ bindingCount+ -> Ptr VkBuffer -- ^ pBuffers+ -> Ptr VkDeviceSize -- ^ pOffsets+ -> IO ()++type PFN_vkCmdBindVertexBuffers = FunPtr HS_vkCmdBindVertexBuffers++foreign import ccall "dynamic" unwrapVkCmdBindVertexBuffers ::+ PFN_vkCmdBindVertexBuffers -> HS_vkCmdBindVertexBuffers++instance VulkanProc "vkCmdBindVertexBuffers" where+ type VkProcType "vkCmdBindVertexBuffers" =+ HS_vkCmdBindVertexBuffers+ vkProcSymbol = _VkCmdBindVertexBuffers++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBindVertexBuffers++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDraw :: CString++pattern VkCmdDraw <- (is_VkCmdDraw -> True)+ where VkCmdDraw = _VkCmdDraw++{-# INLINE _VkCmdDraw #-}++_VkCmdDraw :: CString+_VkCmdDraw = Ptr "vkCmdDraw\NUL"##++{-# INLINE is_VkCmdDraw #-}++is_VkCmdDraw :: CString -> Bool+is_VkCmdDraw = (EQ ==) . cmpCStrings _VkCmdDraw++type VkCmdDraw = "vkCmdDraw"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t vertexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstVertex+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDraw" vkCmdDraw ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ vertexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstVertex+ -> Word32 -- ^ firstInstance+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t vertexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstVertex+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawSafe@ and @vkCmdDraw@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance+--+-- or less efficient:+--+-- > myCmdDraw <- vkGetProc @VkCmdDraw+--+vkCmdDraw ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ vertexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstVertex+ -> Word32 -- ^ firstInstance+ -> IO ()+vkCmdDraw = unsafeDupablePerformIO (vkGetProc @VkCmdDraw)++{-# NOINLINE vkCmdDraw #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t vertexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstVertex+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDraw" vkCmdDrawSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ vertexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstVertex+ -> Word32 -- ^ firstInstance+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t vertexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstVertex+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawSafe@ and @vkCmdDraw@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDraw <- vkGetInstanceProc @VkCmdDraw vkInstance+--+-- or less efficient:+--+-- > myCmdDraw <- vkGetProc @VkCmdDraw+--+vkCmdDrawSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ vertexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstVertex+ -> Word32 -- ^ firstInstance+ -> IO ()+vkCmdDrawSafe = vkCmdDraw++{-# INLINE vkCmdDrawSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDraw+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t vertexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstVertex+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDraw vkCmdDraw registry at www.khronos.org>+type HS_vkCmdDraw =+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ vertexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstVertex+ -> Word32 -- ^ firstInstance+ -> IO ()++type PFN_vkCmdDraw = FunPtr HS_vkCmdDraw++foreign import ccall "dynamic" unwrapVkCmdDraw ::+ PFN_vkCmdDraw -> HS_vkCmdDraw++instance VulkanProc "vkCmdDraw" where+ type VkProcType "vkCmdDraw" = HS_vkCmdDraw+ vkProcSymbol = _VkCmdDraw++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDraw++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDrawIndexed :: CString++pattern VkCmdDrawIndexed <- (is_VkCmdDrawIndexed -> True)+ where VkCmdDrawIndexed = _VkCmdDrawIndexed++{-# INLINE _VkCmdDrawIndexed #-}++_VkCmdDrawIndexed :: CString+_VkCmdDrawIndexed = Ptr "vkCmdDrawIndexed\NUL"##++{-# INLINE is_VkCmdDrawIndexed #-}++is_VkCmdDrawIndexed :: CString -> Bool+is_VkCmdDrawIndexed = (EQ ==) . cmpCStrings _VkCmdDrawIndexed++type VkCmdDrawIndexed = "vkCmdDrawIndexed"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t indexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstIndex+-- > , int32_t vertexOffset+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDrawIndexed" vkCmdDrawIndexed ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ indexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstIndex+ -> Int32 -- ^ vertexOffset+ -> Word32 -- ^ firstInstance+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t indexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstIndex+-- > , int32_t vertexOffset+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawIndexedSafe@ and @vkCmdDrawIndexed@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed+--+vkCmdDrawIndexed ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ indexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstIndex+ -> Int32 -- ^ vertexOffset+ -> Word32 -- ^ firstInstance+ -> IO ()+vkCmdDrawIndexed+ = unsafeDupablePerformIO (vkGetProc @VkCmdDrawIndexed)++{-# NOINLINE vkCmdDrawIndexed #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t indexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstIndex+-- > , int32_t vertexOffset+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDrawIndexed" vkCmdDrawIndexedSafe+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ indexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstIndex+ -> Int32 -- ^ vertexOffset+ -> Word32 -- ^ firstInstance+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t indexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstIndex+-- > , int32_t vertexOffset+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawIndexedSafe@ and @vkCmdDrawIndexed@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexed <- vkGetInstanceProc @VkCmdDrawIndexed vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexed <- vkGetProc @VkCmdDrawIndexed+--+vkCmdDrawIndexedSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ indexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstIndex+ -> Int32 -- ^ vertexOffset+ -> Word32 -- ^ firstInstance+ -> IO ()+vkCmdDrawIndexedSafe = vkCmdDrawIndexed++{-# INLINE vkCmdDrawIndexedSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexed+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t indexCount+-- > , uint32_t instanceCount+-- > , uint32_t firstIndex+-- > , int32_t vertexOffset+-- > , uint32_t firstInstance+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexed vkCmdDrawIndexed registry at www.khronos.org>+type HS_vkCmdDrawIndexed =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ indexCount+ -> Word32 -- ^ instanceCount+ -> Word32 -- ^ firstIndex+ -> Int32 -- ^ vertexOffset+ -> Word32 -- ^ firstInstance+ -> IO ()++type PFN_vkCmdDrawIndexed = FunPtr HS_vkCmdDrawIndexed++foreign import ccall "dynamic" unwrapVkCmdDrawIndexed ::+ PFN_vkCmdDrawIndexed -> HS_vkCmdDrawIndexed++instance VulkanProc "vkCmdDrawIndexed" where+ type VkProcType "vkCmdDrawIndexed" = HS_vkCmdDrawIndexed+ vkProcSymbol = _VkCmdDrawIndexed++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDrawIndexed++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDrawIndirect :: CString++pattern VkCmdDrawIndirect <- (is_VkCmdDrawIndirect -> True)+ where VkCmdDrawIndirect = _VkCmdDrawIndirect++{-# INLINE _VkCmdDrawIndirect #-}++_VkCmdDrawIndirect :: CString+_VkCmdDrawIndirect = Ptr "vkCmdDrawIndirect\NUL"##++{-# INLINE is_VkCmdDrawIndirect #-}++is_VkCmdDrawIndirect :: CString -> Bool+is_VkCmdDrawIndirect = (EQ ==) . cmpCStrings _VkCmdDrawIndirect++type VkCmdDrawIndirect = "vkCmdDrawIndirect"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDrawIndirect" vkCmdDrawIndirect+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawIndirectSafe@ and @vkCmdDrawIndirect@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect+--+vkCmdDrawIndirect ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()+vkCmdDrawIndirect+ = unsafeDupablePerformIO (vkGetProc @VkCmdDrawIndirect)++{-# NOINLINE vkCmdDrawIndirect #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDrawIndirect" vkCmdDrawIndirectSafe+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawIndirectSafe@ and @vkCmdDrawIndirect@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndirect <- vkGetInstanceProc @VkCmdDrawIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndirect <- vkGetProc @VkCmdDrawIndirect+--+vkCmdDrawIndirectSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()+vkCmdDrawIndirectSafe = vkCmdDrawIndirect++{-# INLINE vkCmdDrawIndirectSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirect vkCmdDrawIndirect registry at www.khronos.org>+type HS_vkCmdDrawIndirect =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()++type PFN_vkCmdDrawIndirect = FunPtr HS_vkCmdDrawIndirect++foreign import ccall "dynamic" unwrapVkCmdDrawIndirect ::+ PFN_vkCmdDrawIndirect -> HS_vkCmdDrawIndirect++instance VulkanProc "vkCmdDrawIndirect" where+ type VkProcType "vkCmdDrawIndirect" = HS_vkCmdDrawIndirect+ vkProcSymbol = _VkCmdDrawIndirect++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDrawIndirect++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDrawIndexedIndirect :: CString++pattern VkCmdDrawIndexedIndirect <-+ (is_VkCmdDrawIndexedIndirect -> True)+ where VkCmdDrawIndexedIndirect = _VkCmdDrawIndexedIndirect++{-# INLINE _VkCmdDrawIndexedIndirect #-}++_VkCmdDrawIndexedIndirect :: CString+_VkCmdDrawIndexedIndirect = Ptr "vkCmdDrawIndexedIndirect\NUL"##++{-# INLINE is_VkCmdDrawIndexedIndirect #-}++is_VkCmdDrawIndexedIndirect :: CString -> Bool+is_VkCmdDrawIndexedIndirect+ = (EQ ==) . cmpCStrings _VkCmdDrawIndexedIndirect++type VkCmdDrawIndexedIndirect = "vkCmdDrawIndexedIndirect"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDrawIndexedIndirect"+ vkCmdDrawIndexedIndirect ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawIndexedIndirectSafe@ and @vkCmdDrawIndexedIndirect@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect+--+vkCmdDrawIndexedIndirect ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()+vkCmdDrawIndexedIndirect+ = unsafeDupablePerformIO (vkGetProc @VkCmdDrawIndexedIndirect)++{-# NOINLINE vkCmdDrawIndexedIndirect #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDrawIndexedIndirect"+ vkCmdDrawIndexedIndirectSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDrawIndexedIndirectSafe@ and @vkCmdDrawIndexedIndirect@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDrawIndexedIndirect <- vkGetInstanceProc @VkCmdDrawIndexedIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDrawIndexedIndirect <- vkGetProc @VkCmdDrawIndexedIndirect+--+vkCmdDrawIndexedIndirectSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()+vkCmdDrawIndexedIndirectSafe = vkCmdDrawIndexedIndirect++{-# INLINE vkCmdDrawIndexedIndirectSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdDrawIndexedIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > , uint32_t drawCount+-- > , uint32_t stride+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect registry at www.khronos.org>+type HS_vkCmdDrawIndexedIndirect =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> Word32 -- ^ drawCount+ -> Word32 -- ^ stride+ -> IO ()++type PFN_vkCmdDrawIndexedIndirect =+ FunPtr HS_vkCmdDrawIndexedIndirect++foreign import ccall "dynamic" unwrapVkCmdDrawIndexedIndirect ::+ PFN_vkCmdDrawIndexedIndirect -> HS_vkCmdDrawIndexedIndirect++instance VulkanProc "vkCmdDrawIndexedIndirect" where+ type VkProcType "vkCmdDrawIndexedIndirect" =+ HS_vkCmdDrawIndexedIndirect+ vkProcSymbol = _VkCmdDrawIndexedIndirect++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDrawIndexedIndirect++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDispatch :: CString++pattern VkCmdDispatch <- (is_VkCmdDispatch -> True)+ where VkCmdDispatch = _VkCmdDispatch++{-# INLINE _VkCmdDispatch #-}++_VkCmdDispatch :: CString+_VkCmdDispatch = Ptr "vkCmdDispatch\NUL"##++{-# INLINE is_VkCmdDispatch #-}++is_VkCmdDispatch :: CString -> Bool+is_VkCmdDispatch = (EQ ==) . cmpCStrings _VkCmdDispatch++type VkCmdDispatch = "vkCmdDispatch"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDispatch" vkCmdDispatch ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++##else+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDispatchSafe@ and @vkCmdDispatch@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance+--+-- or less efficient:+--+-- > myCmdDispatch <- vkGetProc @VkCmdDispatch+--+vkCmdDispatch ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()+vkCmdDispatch = unsafeDupablePerformIO (vkGetProc @VkCmdDispatch)++{-# NOINLINE vkCmdDispatch #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDispatch" vkCmdDispatchSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++##else+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDispatchSafe@ and @vkCmdDispatch@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatch <- vkGetInstanceProc @VkCmdDispatch vkInstance+--+-- or less efficient:+--+-- > myCmdDispatch <- vkGetProc @VkCmdDispatch+--+vkCmdDispatchSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()+vkCmdDispatchSafe = vkCmdDispatch++{-# INLINE vkCmdDispatchSafe #-}+##endif++-- | Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatch+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatch vkCmdDispatch registry at www.khronos.org>+type HS_vkCmdDispatch =+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++type PFN_vkCmdDispatch = FunPtr HS_vkCmdDispatch++foreign import ccall "dynamic" unwrapVkCmdDispatch ::+ PFN_vkCmdDispatch -> HS_vkCmdDispatch++instance VulkanProc "vkCmdDispatch" where+ type VkProcType "vkCmdDispatch" = HS_vkCmdDispatch+ vkProcSymbol = _VkCmdDispatch++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDispatch++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDispatchIndirect :: CString++pattern VkCmdDispatchIndirect <- (is_VkCmdDispatchIndirect -> True)+ where VkCmdDispatchIndirect = _VkCmdDispatchIndirect++{-# INLINE _VkCmdDispatchIndirect #-}++_VkCmdDispatchIndirect :: CString+_VkCmdDispatchIndirect = Ptr "vkCmdDispatchIndirect\NUL"##++{-# INLINE is_VkCmdDispatchIndirect #-}++is_VkCmdDispatchIndirect :: CString -> Bool+is_VkCmdDispatchIndirect+ = (EQ ==) . cmpCStrings _VkCmdDispatchIndirect++type VkCmdDispatchIndirect = "vkCmdDispatchIndirect"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDispatchIndirect"+ vkCmdDispatchIndirect ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> IO ()++##else+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDispatchIndirectSafe@ and @vkCmdDispatchIndirect@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect+--+vkCmdDispatchIndirect ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> IO ()+vkCmdDispatchIndirect+ = unsafeDupablePerformIO (vkGetProc @VkCmdDispatchIndirect)++{-# NOINLINE vkCmdDispatchIndirect #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDispatchIndirect"+ vkCmdDispatchIndirectSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> IO ()++##else+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDispatchIndirectSafe@ and @vkCmdDispatchIndirect@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchIndirect <- vkGetInstanceProc @VkCmdDispatchIndirect vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchIndirect <- vkGetProc @VkCmdDispatchIndirect+--+vkCmdDispatchIndirectSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> IO ()+vkCmdDispatchIndirectSafe = vkCmdDispatchIndirect++{-# INLINE vkCmdDispatchIndirectSafe #-}+##endif++-- | Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @compute@+--+-- > void vkCmdDispatchIndirect+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer buffer+-- > , VkDeviceSize offset+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchIndirect vkCmdDispatchIndirect registry at www.khronos.org>+type HS_vkCmdDispatchIndirect =+ VkCommandBuffer -- ^ commandBuffer+ -> VkBuffer -- ^ buffer+ -> VkDeviceSize -- ^ offset+ -> IO ()++type PFN_vkCmdDispatchIndirect = FunPtr HS_vkCmdDispatchIndirect++foreign import ccall "dynamic" unwrapVkCmdDispatchIndirect ::+ PFN_vkCmdDispatchIndirect -> HS_vkCmdDispatchIndirect++instance VulkanProc "vkCmdDispatchIndirect" where+ type VkProcType "vkCmdDispatchIndirect" = HS_vkCmdDispatchIndirect+ vkProcSymbol = _VkCmdDispatchIndirect++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDispatchIndirect++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdCopyBuffer :: CString++pattern VkCmdCopyBuffer <- (is_VkCmdCopyBuffer -> True)+ where VkCmdCopyBuffer = _VkCmdCopyBuffer++{-# INLINE _VkCmdCopyBuffer #-}++_VkCmdCopyBuffer :: CString+_VkCmdCopyBuffer = Ptr "vkCmdCopyBuffer\NUL"##++{-# INLINE is_VkCmdCopyBuffer #-}++is_VkCmdCopyBuffer :: CString -> Bool+is_VkCmdCopyBuffer = (EQ ==) . cmpCStrings _VkCmdCopyBuffer++type VkCmdCopyBuffer = "vkCmdCopyBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdCopyBuffer" vkCmdCopyBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ -> VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyBufferSafe@ and @vkCmdCopyBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer+--+vkCmdCopyBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ -> VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferCopy -- ^ pRegions+ -> IO ()+vkCmdCopyBuffer+ = unsafeDupablePerformIO (vkGetProc @VkCmdCopyBuffer)++{-# NOINLINE vkCmdCopyBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdCopyBuffer" vkCmdCopyBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ -> VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyBufferSafe@ and @vkCmdCopyBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBuffer <- vkGetInstanceProc @VkCmdCopyBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBuffer <- vkGetProc @VkCmdCopyBuffer+--+vkCmdCopyBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ -> VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferCopy -- ^ pRegions+ -> IO ()+vkCmdCopyBufferSafe = vkCmdCopyBuffer++{-# INLINE vkCmdCopyBufferSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBuffer vkCmdCopyBuffer registry at www.khronos.org>+type HS_vkCmdCopyBuffer =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ -> VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferCopy -- ^ pRegions+ -> IO ()++type PFN_vkCmdCopyBuffer = FunPtr HS_vkCmdCopyBuffer++foreign import ccall "dynamic" unwrapVkCmdCopyBuffer ::+ PFN_vkCmdCopyBuffer -> HS_vkCmdCopyBuffer++instance VulkanProc "vkCmdCopyBuffer" where+ type VkProcType "vkCmdCopyBuffer" = HS_vkCmdCopyBuffer+ vkProcSymbol = _VkCmdCopyBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdCopyBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdCopyImage :: CString++pattern VkCmdCopyImage <- (is_VkCmdCopyImage -> True)+ where VkCmdCopyImage = _VkCmdCopyImage++{-# INLINE _VkCmdCopyImage #-}++_VkCmdCopyImage :: CString+_VkCmdCopyImage = Ptr "vkCmdCopyImage\NUL"##++{-# INLINE is_VkCmdCopyImage #-}++is_VkCmdCopyImage :: CString -> Bool+is_VkCmdCopyImage = (EQ ==) . cmpCStrings _VkCmdCopyImage++type VkCmdCopyImage = "vkCmdCopyImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdCopyImage" vkCmdCopyImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyImageSafe@ and @vkCmdCopyImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImage <- vkGetProc @VkCmdCopyImage+--+vkCmdCopyImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageCopy -- ^ pRegions+ -> IO ()+vkCmdCopyImage = unsafeDupablePerformIO (vkGetProc @VkCmdCopyImage)++{-# NOINLINE vkCmdCopyImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdCopyImage" vkCmdCopyImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyImageSafe@ and @vkCmdCopyImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImage <- vkGetInstanceProc @VkCmdCopyImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImage <- vkGetProc @VkCmdCopyImage+--+vkCmdCopyImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageCopy -- ^ pRegions+ -> IO ()+vkCmdCopyImageSafe = vkCmdCopyImage++{-# INLINE vkCmdCopyImageSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImage vkCmdCopyImage registry at www.khronos.org>+type HS_vkCmdCopyImage =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageCopy -- ^ pRegions+ -> IO ()++type PFN_vkCmdCopyImage = FunPtr HS_vkCmdCopyImage++foreign import ccall "dynamic" unwrapVkCmdCopyImage ::+ PFN_vkCmdCopyImage -> HS_vkCmdCopyImage++instance VulkanProc "vkCmdCopyImage" where+ type VkProcType "vkCmdCopyImage" = HS_vkCmdCopyImage+ vkProcSymbol = _VkCmdCopyImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdCopyImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBlitImage :: CString++pattern VkCmdBlitImage <- (is_VkCmdBlitImage -> True)+ where VkCmdBlitImage = _VkCmdBlitImage++{-# INLINE _VkCmdBlitImage #-}++_VkCmdBlitImage :: CString+_VkCmdBlitImage = Ptr "vkCmdBlitImage\NUL"##++{-# INLINE is_VkCmdBlitImage #-}++is_VkCmdBlitImage :: CString -> Bool+is_VkCmdBlitImage = (EQ ==) . cmpCStrings _VkCmdBlitImage++type VkCmdBlitImage = "vkCmdBlitImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageBlit* pRegions+-- > , VkFilter filter+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBlitImage" vkCmdBlitImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageBlit -- ^ pRegions+ -> VkFilter -- ^ filter+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageBlit* pRegions+-- > , VkFilter filter+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBlitImageSafe@ and @vkCmdBlitImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance+--+-- or less efficient:+--+-- > myCmdBlitImage <- vkGetProc @VkCmdBlitImage+--+vkCmdBlitImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageBlit -- ^ pRegions+ -> VkFilter -- ^ filter+ -> IO ()+vkCmdBlitImage = unsafeDupablePerformIO (vkGetProc @VkCmdBlitImage)++{-# NOINLINE vkCmdBlitImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageBlit* pRegions+-- > , VkFilter filter+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBlitImage" vkCmdBlitImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageBlit -- ^ pRegions+ -> VkFilter -- ^ filter+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageBlit* pRegions+-- > , VkFilter filter+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBlitImageSafe@ and @vkCmdBlitImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBlitImage <- vkGetInstanceProc @VkCmdBlitImage vkInstance+--+-- or less efficient:+--+-- > myCmdBlitImage <- vkGetProc @VkCmdBlitImage+--+vkCmdBlitImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageBlit -- ^ pRegions+ -> VkFilter -- ^ filter+ -> IO ()+vkCmdBlitImageSafe = vkCmdBlitImage++{-# INLINE vkCmdBlitImageSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdBlitImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageBlit* pRegions+-- > , VkFilter filter+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBlitImage vkCmdBlitImage registry at www.khronos.org>+type HS_vkCmdBlitImage =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageBlit -- ^ pRegions+ -> VkFilter -- ^ filter+ -> IO ()++type PFN_vkCmdBlitImage = FunPtr HS_vkCmdBlitImage++foreign import ccall "dynamic" unwrapVkCmdBlitImage ::+ PFN_vkCmdBlitImage -> HS_vkCmdBlitImage++instance VulkanProc "vkCmdBlitImage" where+ type VkProcType "vkCmdBlitImage" = HS_vkCmdBlitImage+ vkProcSymbol = _VkCmdBlitImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBlitImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdCopyBufferToImage :: CString++pattern VkCmdCopyBufferToImage <-+ (is_VkCmdCopyBufferToImage -> True)+ where VkCmdCopyBufferToImage = _VkCmdCopyBufferToImage++{-# INLINE _VkCmdCopyBufferToImage #-}++_VkCmdCopyBufferToImage :: CString+_VkCmdCopyBufferToImage = Ptr "vkCmdCopyBufferToImage\NUL"##++{-# INLINE is_VkCmdCopyBufferToImage #-}++is_VkCmdCopyBufferToImage :: CString -> Bool+is_VkCmdCopyBufferToImage+ = (EQ ==) . cmpCStrings _VkCmdCopyBufferToImage++type VkCmdCopyBufferToImage = "vkCmdCopyBufferToImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdCopyBufferToImage"+ vkCmdCopyBufferToImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyBufferToImageSafe@ and @vkCmdCopyBufferToImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage+--+vkCmdCopyBufferToImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()+vkCmdCopyBufferToImage+ = unsafeDupablePerformIO (vkGetProc @VkCmdCopyBufferToImage)++{-# NOINLINE vkCmdCopyBufferToImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdCopyBufferToImage"+ vkCmdCopyBufferToImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyBufferToImageSafe@ and @vkCmdCopyBufferToImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyBufferToImage <- vkGetInstanceProc @VkCmdCopyBufferToImage vkInstance+--+-- or less efficient:+--+-- > myCmdCopyBufferToImage <- vkGetProc @VkCmdCopyBufferToImage+--+vkCmdCopyBufferToImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()+vkCmdCopyBufferToImageSafe = vkCmdCopyBufferToImage++{-# INLINE vkCmdCopyBufferToImageSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyBufferToImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer srcBuffer+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyBufferToImage vkCmdCopyBufferToImage registry at www.khronos.org>+type HS_vkCmdCopyBufferToImage =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ srcBuffer+ ->+ VkImage -- ^ dstImage+ ->+ VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()++type PFN_vkCmdCopyBufferToImage = FunPtr HS_vkCmdCopyBufferToImage++foreign import ccall "dynamic" unwrapVkCmdCopyBufferToImage ::+ PFN_vkCmdCopyBufferToImage -> HS_vkCmdCopyBufferToImage++instance VulkanProc "vkCmdCopyBufferToImage" where+ type VkProcType "vkCmdCopyBufferToImage" =+ HS_vkCmdCopyBufferToImage+ vkProcSymbol = _VkCmdCopyBufferToImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdCopyBufferToImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdCopyImageToBuffer :: CString++pattern VkCmdCopyImageToBuffer <-+ (is_VkCmdCopyImageToBuffer -> True)+ where VkCmdCopyImageToBuffer = _VkCmdCopyImageToBuffer++{-# INLINE _VkCmdCopyImageToBuffer #-}++_VkCmdCopyImageToBuffer :: CString+_VkCmdCopyImageToBuffer = Ptr "vkCmdCopyImageToBuffer\NUL"##++{-# INLINE is_VkCmdCopyImageToBuffer #-}++is_VkCmdCopyImageToBuffer :: CString -> Bool+is_VkCmdCopyImageToBuffer+ = (EQ ==) . cmpCStrings _VkCmdCopyImageToBuffer++type VkCmdCopyImageToBuffer = "vkCmdCopyImageToBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdCopyImageToBuffer"+ vkCmdCopyImageToBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyImageToBufferSafe@ and @vkCmdCopyImageToBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer+--+vkCmdCopyImageToBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()+vkCmdCopyImageToBuffer+ = unsafeDupablePerformIO (vkGetProc @VkCmdCopyImageToBuffer)++{-# NOINLINE vkCmdCopyImageToBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdCopyImageToBuffer"+ vkCmdCopyImageToBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyImageToBufferSafe@ and @vkCmdCopyImageToBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyImageToBuffer <- vkGetInstanceProc @VkCmdCopyImageToBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdCopyImageToBuffer <- vkGetProc @VkCmdCopyImageToBuffer+--+vkCmdCopyImageToBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()+vkCmdCopyImageToBufferSafe = vkCmdCopyImageToBuffer++{-# INLINE vkCmdCopyImageToBufferSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyImageToBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkBuffer dstBuffer+-- > , uint32_t regionCount+-- > , const VkBufferImageCopy* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer registry at www.khronos.org>+type HS_vkCmdCopyImageToBuffer =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkBuffer -- ^ dstBuffer+ -> Word32 -- ^ regionCount+ -> Ptr VkBufferImageCopy -- ^ pRegions+ -> IO ()++type PFN_vkCmdCopyImageToBuffer = FunPtr HS_vkCmdCopyImageToBuffer++foreign import ccall "dynamic" unwrapVkCmdCopyImageToBuffer ::+ PFN_vkCmdCopyImageToBuffer -> HS_vkCmdCopyImageToBuffer++instance VulkanProc "vkCmdCopyImageToBuffer" where+ type VkProcType "vkCmdCopyImageToBuffer" =+ HS_vkCmdCopyImageToBuffer+ vkProcSymbol = _VkCmdCopyImageToBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdCopyImageToBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdUpdateBuffer :: CString++pattern VkCmdUpdateBuffer <- (is_VkCmdUpdateBuffer -> True)+ where VkCmdUpdateBuffer = _VkCmdUpdateBuffer++{-# INLINE _VkCmdUpdateBuffer #-}++_VkCmdUpdateBuffer :: CString+_VkCmdUpdateBuffer = Ptr "vkCmdUpdateBuffer\NUL"##++{-# INLINE is_VkCmdUpdateBuffer #-}++is_VkCmdUpdateBuffer :: CString -> Bool+is_VkCmdUpdateBuffer = (EQ ==) . cmpCStrings _VkCmdUpdateBuffer++type VkCmdUpdateBuffer = "vkCmdUpdateBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize dataSize+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdUpdateBuffer" vkCmdUpdateBuffer+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ dataSize+ -> Ptr Void -- ^ pData+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize dataSize+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdUpdateBufferSafe@ and @vkCmdUpdateBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer+--+vkCmdUpdateBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ dataSize+ -> Ptr Void -- ^ pData+ -> IO ()+vkCmdUpdateBuffer+ = unsafeDupablePerformIO (vkGetProc @VkCmdUpdateBuffer)++{-# NOINLINE vkCmdUpdateBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize dataSize+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdUpdateBuffer" vkCmdUpdateBufferSafe+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ dataSize+ -> Ptr Void -- ^ pData+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize dataSize+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdUpdateBufferSafe@ and @vkCmdUpdateBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdUpdateBuffer <- vkGetInstanceProc @VkCmdUpdateBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdUpdateBuffer <- vkGetProc @VkCmdUpdateBuffer+--+vkCmdUpdateBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ dataSize+ -> Ptr Void -- ^ pData+ -> IO ()+vkCmdUpdateBufferSafe = vkCmdUpdateBuffer++{-# INLINE vkCmdUpdateBufferSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdUpdateBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize dataSize+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdUpdateBuffer vkCmdUpdateBuffer registry at www.khronos.org>+type HS_vkCmdUpdateBuffer =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ dataSize+ -> Ptr Void -- ^ pData+ -> IO ()++type PFN_vkCmdUpdateBuffer = FunPtr HS_vkCmdUpdateBuffer++foreign import ccall "dynamic" unwrapVkCmdUpdateBuffer ::+ PFN_vkCmdUpdateBuffer -> HS_vkCmdUpdateBuffer++instance VulkanProc "vkCmdUpdateBuffer" where+ type VkProcType "vkCmdUpdateBuffer" = HS_vkCmdUpdateBuffer+ vkProcSymbol = _VkCmdUpdateBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdUpdateBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdFillBuffer :: CString++pattern VkCmdFillBuffer <- (is_VkCmdFillBuffer -> True)+ where VkCmdFillBuffer = _VkCmdFillBuffer++{-# INLINE _VkCmdFillBuffer #-}++_VkCmdFillBuffer :: CString+_VkCmdFillBuffer = Ptr "vkCmdFillBuffer\NUL"##++{-# INLINE is_VkCmdFillBuffer #-}++is_VkCmdFillBuffer :: CString -> Bool+is_VkCmdFillBuffer = (EQ ==) . cmpCStrings _VkCmdFillBuffer++type VkCmdFillBuffer = "vkCmdFillBuffer"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize size+-- > , uint32_t data+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdFillBuffer" vkCmdFillBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ size+ -> Word32 -- ^ data+ -> IO ()++##else+-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize size+-- > , uint32_t data+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdFillBufferSafe@ and @vkCmdFillBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer+--+vkCmdFillBuffer ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ size+ -> Word32 -- ^ data+ -> IO ()+vkCmdFillBuffer+ = unsafeDupablePerformIO (vkGetProc @VkCmdFillBuffer)++{-# NOINLINE vkCmdFillBuffer #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize size+-- > , uint32_t data+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdFillBuffer" vkCmdFillBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ size+ -> Word32 -- ^ data+ -> IO ()++##else+-- |+-- transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize size+-- > , uint32_t data+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdFillBufferSafe@ and @vkCmdFillBuffer@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdFillBuffer <- vkGetInstanceProc @VkCmdFillBuffer vkInstance+--+-- or less efficient:+--+-- > myCmdFillBuffer <- vkGetProc @VkCmdFillBuffer+--+vkCmdFillBufferSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ size+ -> Word32 -- ^ data+ -> IO ()+vkCmdFillBufferSafe = vkCmdFillBuffer++{-# INLINE vkCmdFillBufferSafe #-}+##endif++-- | transfer support is only available when VK_KHR_maintenance1 is enabled, as documented in valid usage language in the specification+--+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdFillBuffer+-- > ( VkCommandBuffer commandBuffer+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize size+-- > , uint32_t data+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdFillBuffer vkCmdFillBuffer registry at www.khronos.org>+type HS_vkCmdFillBuffer =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ size+ -> Word32 -- ^ data+ -> IO ()++type PFN_vkCmdFillBuffer = FunPtr HS_vkCmdFillBuffer++foreign import ccall "dynamic" unwrapVkCmdFillBuffer ::+ PFN_vkCmdFillBuffer -> HS_vkCmdFillBuffer++instance VulkanProc "vkCmdFillBuffer" where+ type VkProcType "vkCmdFillBuffer" = HS_vkCmdFillBuffer+ vkProcSymbol = _VkCmdFillBuffer++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdFillBuffer++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdClearColorImage :: CString++pattern VkCmdClearColorImage <- (is_VkCmdClearColorImage -> True)+ where VkCmdClearColorImage = _VkCmdClearColorImage++{-# INLINE _VkCmdClearColorImage #-}++_VkCmdClearColorImage :: CString+_VkCmdClearColorImage = Ptr "vkCmdClearColorImage\NUL"##++{-# INLINE is_VkCmdClearColorImage #-}++is_VkCmdClearColorImage :: CString -> Bool+is_VkCmdClearColorImage+ = (EQ ==) . cmpCStrings _VkCmdClearColorImage++type VkCmdClearColorImage = "vkCmdClearColorImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearColorValue* pColor+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdClearColorImage"+ vkCmdClearColorImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearColorValue -- ^ pColor+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearColorValue* pColor+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdClearColorImageSafe@ and @vkCmdClearColorImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage+--+vkCmdClearColorImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearColorValue -- ^ pColor+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()+vkCmdClearColorImage+ = unsafeDupablePerformIO (vkGetProc @VkCmdClearColorImage)++{-# NOINLINE vkCmdClearColorImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearColorValue* pColor+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdClearColorImage"+ vkCmdClearColorImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearColorValue -- ^ pColor+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearColorValue* pColor+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdClearColorImageSafe@ and @vkCmdClearColorImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearColorImage <- vkGetInstanceProc @VkCmdClearColorImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearColorImage <- vkGetProc @VkCmdClearColorImage+--+vkCmdClearColorImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearColorValue -- ^ pColor+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()+vkCmdClearColorImageSafe = vkCmdClearColorImage++{-# INLINE vkCmdClearColorImageSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearColorImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearColorValue* pColor+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearColorImage vkCmdClearColorImage registry at www.khronos.org>+type HS_vkCmdClearColorImage =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearColorValue -- ^ pColor+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()++type PFN_vkCmdClearColorImage = FunPtr HS_vkCmdClearColorImage++foreign import ccall "dynamic" unwrapVkCmdClearColorImage ::+ PFN_vkCmdClearColorImage -> HS_vkCmdClearColorImage++instance VulkanProc "vkCmdClearColorImage" where+ type VkProcType "vkCmdClearColorImage" = HS_vkCmdClearColorImage+ vkProcSymbol = _VkCmdClearColorImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdClearColorImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdClearDepthStencilImage :: CString++pattern VkCmdClearDepthStencilImage <-+ (is_VkCmdClearDepthStencilImage -> True)+ where VkCmdClearDepthStencilImage = _VkCmdClearDepthStencilImage++{-# INLINE _VkCmdClearDepthStencilImage #-}++_VkCmdClearDepthStencilImage :: CString+_VkCmdClearDepthStencilImage+ = Ptr "vkCmdClearDepthStencilImage\NUL"##++{-# INLINE is_VkCmdClearDepthStencilImage #-}++is_VkCmdClearDepthStencilImage :: CString -> Bool+is_VkCmdClearDepthStencilImage+ = (EQ ==) . cmpCStrings _VkCmdClearDepthStencilImage++type VkCmdClearDepthStencilImage = "vkCmdClearDepthStencilImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearDepthStencilValue* pDepthStencil+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdClearDepthStencilImage"+ vkCmdClearDepthStencilImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearDepthStencilValue -- ^ pDepthStencil+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearDepthStencilValue* pDepthStencil+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdClearDepthStencilImageSafe@ and @vkCmdClearDepthStencilImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage+--+vkCmdClearDepthStencilImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearDepthStencilValue -- ^ pDepthStencil+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()+vkCmdClearDepthStencilImage+ = unsafeDupablePerformIO (vkGetProc @VkCmdClearDepthStencilImage)++{-# NOINLINE vkCmdClearDepthStencilImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearDepthStencilValue* pDepthStencil+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdClearDepthStencilImage"+ vkCmdClearDepthStencilImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearDepthStencilValue -- ^ pDepthStencil+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearDepthStencilValue* pDepthStencil+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdClearDepthStencilImageSafe@ and @vkCmdClearDepthStencilImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearDepthStencilImage <- vkGetInstanceProc @VkCmdClearDepthStencilImage vkInstance+--+-- or less efficient:+--+-- > myCmdClearDepthStencilImage <- vkGetProc @VkCmdClearDepthStencilImage+--+vkCmdClearDepthStencilImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearDepthStencilValue -- ^ pDepthStencil+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()+vkCmdClearDepthStencilImageSafe = vkCmdClearDepthStencilImage++{-# INLINE vkCmdClearDepthStencilImageSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdClearDepthStencilImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage image+-- > , VkImageLayout imageLayout+-- > , const VkClearDepthStencilValue* pDepthStencil+-- > , uint32_t rangeCount+-- > , const VkImageSubresourceRange* pRanges+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage registry at www.khronos.org>+type HS_vkCmdClearDepthStencilImage =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ image+ ->+ VkImageLayout -- ^ imageLayout+ ->+ Ptr VkClearDepthStencilValue -- ^ pDepthStencil+ ->+ Word32 -- ^ rangeCount+ -> Ptr VkImageSubresourceRange -- ^ pRanges+ -> IO ()++type PFN_vkCmdClearDepthStencilImage =+ FunPtr HS_vkCmdClearDepthStencilImage++foreign import ccall "dynamic" unwrapVkCmdClearDepthStencilImage ::+ PFN_vkCmdClearDepthStencilImage -> HS_vkCmdClearDepthStencilImage++instance VulkanProc "vkCmdClearDepthStencilImage" where+ type VkProcType "vkCmdClearDepthStencilImage" =+ HS_vkCmdClearDepthStencilImage+ vkProcSymbol = _VkCmdClearDepthStencilImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdClearDepthStencilImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdClearAttachments :: CString++pattern VkCmdClearAttachments <- (is_VkCmdClearAttachments -> True)+ where VkCmdClearAttachments = _VkCmdClearAttachments++{-# INLINE _VkCmdClearAttachments #-}++_VkCmdClearAttachments :: CString+_VkCmdClearAttachments = Ptr "vkCmdClearAttachments\NUL"##++{-# INLINE is_VkCmdClearAttachments #-}++is_VkCmdClearAttachments :: CString -> Bool+is_VkCmdClearAttachments+ = (EQ ==) . cmpCStrings _VkCmdClearAttachments++type VkCmdClearAttachments = "vkCmdClearAttachments"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t attachmentCount+-- > , const VkClearAttachment* pAttachments+-- > , uint32_t rectCount+-- > , const VkClearRect* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdClearAttachments"+ vkCmdClearAttachments ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ attachmentCount+ ->+ Ptr VkClearAttachment -- ^ pAttachments+ -> Word32 -- ^ rectCount+ -> Ptr VkClearRect -- ^ pRects+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t attachmentCount+-- > , const VkClearAttachment* pAttachments+-- > , uint32_t rectCount+-- > , const VkClearRect* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdClearAttachmentsSafe@ and @vkCmdClearAttachments@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance+--+-- or less efficient:+--+-- > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments+--+vkCmdClearAttachments ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ attachmentCount+ ->+ Ptr VkClearAttachment -- ^ pAttachments+ -> Word32 -- ^ rectCount+ -> Ptr VkClearRect -- ^ pRects+ -> IO ()+vkCmdClearAttachments+ = unsafeDupablePerformIO (vkGetProc @VkCmdClearAttachments)++{-# NOINLINE vkCmdClearAttachments #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t attachmentCount+-- > , const VkClearAttachment* pAttachments+-- > , uint32_t rectCount+-- > , const VkClearRect* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdClearAttachments"+ vkCmdClearAttachmentsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ attachmentCount+ ->+ Ptr VkClearAttachment -- ^ pAttachments+ -> Word32 -- ^ rectCount+ -> Ptr VkClearRect -- ^ pRects+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t attachmentCount+-- > , const VkClearAttachment* pAttachments+-- > , uint32_t rectCount+-- > , const VkClearRect* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdClearAttachmentsSafe@ and @vkCmdClearAttachments@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdClearAttachments <- vkGetInstanceProc @VkCmdClearAttachments vkInstance+--+-- or less efficient:+--+-- > myCmdClearAttachments <- vkGetProc @VkCmdClearAttachments+--+vkCmdClearAttachmentsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ attachmentCount+ ->+ Ptr VkClearAttachment -- ^ pAttachments+ -> Word32 -- ^ rectCount+ -> Ptr VkClearRect -- ^ pRects+ -> IO ()+vkCmdClearAttachmentsSafe = vkCmdClearAttachments++{-# INLINE vkCmdClearAttachmentsSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdClearAttachments+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t attachmentCount+-- > , const VkClearAttachment* pAttachments+-- > , uint32_t rectCount+-- > , const VkClearRect* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdClearAttachments vkCmdClearAttachments registry at www.khronos.org>+type HS_vkCmdClearAttachments =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ attachmentCount+ ->+ Ptr VkClearAttachment -- ^ pAttachments+ -> Word32 -- ^ rectCount+ -> Ptr VkClearRect -- ^ pRects+ -> IO ()++type PFN_vkCmdClearAttachments = FunPtr HS_vkCmdClearAttachments++foreign import ccall "dynamic" unwrapVkCmdClearAttachments ::+ PFN_vkCmdClearAttachments -> HS_vkCmdClearAttachments++instance VulkanProc "vkCmdClearAttachments" where+ type VkProcType "vkCmdClearAttachments" = HS_vkCmdClearAttachments+ vkProcSymbol = _VkCmdClearAttachments++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdClearAttachments++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdResolveImage :: CString++pattern VkCmdResolveImage <- (is_VkCmdResolveImage -> True)+ where VkCmdResolveImage = _VkCmdResolveImage++{-# INLINE _VkCmdResolveImage #-}++_VkCmdResolveImage :: CString+_VkCmdResolveImage = Ptr "vkCmdResolveImage\NUL"##++{-# INLINE is_VkCmdResolveImage #-}++is_VkCmdResolveImage :: CString -> Bool+is_VkCmdResolveImage = (EQ ==) . cmpCStrings _VkCmdResolveImage++type VkCmdResolveImage = "vkCmdResolveImage"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageResolve* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdResolveImage" vkCmdResolveImage+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageResolve -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageResolve* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdResolveImageSafe@ and @vkCmdResolveImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance+--+-- or less efficient:+--+-- > myCmdResolveImage <- vkGetProc @VkCmdResolveImage+--+vkCmdResolveImage ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageResolve -- ^ pRegions+ -> IO ()+vkCmdResolveImage+ = unsafeDupablePerformIO (vkGetProc @VkCmdResolveImage)++{-# NOINLINE vkCmdResolveImage #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageResolve* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdResolveImage" vkCmdResolveImageSafe+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageResolve -- ^ pRegions+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageResolve* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdResolveImageSafe@ and @vkCmdResolveImage@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResolveImage <- vkGetInstanceProc @VkCmdResolveImage vkInstance+--+-- or less efficient:+--+-- > myCmdResolveImage <- vkGetProc @VkCmdResolveImage+--+vkCmdResolveImageSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageResolve -- ^ pRegions+ -> IO ()+vkCmdResolveImageSafe = vkCmdResolveImage++{-# INLINE vkCmdResolveImageSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdResolveImage+-- > ( VkCommandBuffer commandBuffer+-- > , VkImage srcImage+-- > , VkImageLayout srcImageLayout+-- > , VkImage dstImage+-- > , VkImageLayout dstImageLayout+-- > , uint32_t regionCount+-- > , const VkImageResolve* pRegions+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResolveImage vkCmdResolveImage registry at www.khronos.org>+type HS_vkCmdResolveImage =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkImage -- ^ srcImage+ ->+ VkImageLayout -- ^ srcImageLayout+ ->+ VkImage -- ^ dstImage+ -> VkImageLayout -- ^ dstImageLayout+ -> Word32 -- ^ regionCount+ -> Ptr VkImageResolve -- ^ pRegions+ -> IO ()++type PFN_vkCmdResolveImage = FunPtr HS_vkCmdResolveImage++foreign import ccall "dynamic" unwrapVkCmdResolveImage ::+ PFN_vkCmdResolveImage -> HS_vkCmdResolveImage++instance VulkanProc "vkCmdResolveImage" where+ type VkProcType "vkCmdResolveImage" = HS_vkCmdResolveImage+ vkProcSymbol = _VkCmdResolveImage++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdResolveImage++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetEvent :: CString++pattern VkCmdSetEvent <- (is_VkCmdSetEvent -> True)+ where VkCmdSetEvent = _VkCmdSetEvent++{-# INLINE _VkCmdSetEvent #-}++_VkCmdSetEvent :: CString+_VkCmdSetEvent = Ptr "vkCmdSetEvent\NUL"##++{-# INLINE is_VkCmdSetEvent #-}++is_VkCmdSetEvent :: CString -> Bool+is_VkCmdSetEvent = (EQ ==) . cmpCStrings _VkCmdSetEvent++type VkCmdSetEvent = "vkCmdSetEvent"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetEvent" vkCmdSetEvent ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetEventSafe@ and @vkCmdSetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdSetEvent <- vkGetProc @VkCmdSetEvent+--+vkCmdSetEvent ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()+vkCmdSetEvent = unsafeDupablePerformIO (vkGetProc @VkCmdSetEvent)++{-# NOINLINE vkCmdSetEvent #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetEvent" vkCmdSetEventSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetEventSafe@ and @vkCmdSetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetEvent <- vkGetInstanceProc @VkCmdSetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdSetEvent <- vkGetProc @VkCmdSetEvent+--+vkCmdSetEventSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()+vkCmdSetEventSafe = vkCmdSetEvent++{-# INLINE vkCmdSetEventSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdSetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetEvent vkCmdSetEvent registry at www.khronos.org>+type HS_vkCmdSetEvent =+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()++type PFN_vkCmdSetEvent = FunPtr HS_vkCmdSetEvent++foreign import ccall "dynamic" unwrapVkCmdSetEvent ::+ PFN_vkCmdSetEvent -> HS_vkCmdSetEvent++instance VulkanProc "vkCmdSetEvent" where+ type VkProcType "vkCmdSetEvent" = HS_vkCmdSetEvent+ vkProcSymbol = _VkCmdSetEvent++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetEvent++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdResetEvent :: CString++pattern VkCmdResetEvent <- (is_VkCmdResetEvent -> True)+ where VkCmdResetEvent = _VkCmdResetEvent++{-# INLINE _VkCmdResetEvent #-}++_VkCmdResetEvent :: CString+_VkCmdResetEvent = Ptr "vkCmdResetEvent\NUL"##++{-# INLINE is_VkCmdResetEvent #-}++is_VkCmdResetEvent :: CString -> Bool+is_VkCmdResetEvent = (EQ ==) . cmpCStrings _VkCmdResetEvent++type VkCmdResetEvent = "vkCmdResetEvent"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdResetEvent" vkCmdResetEvent ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdResetEventSafe@ and @vkCmdResetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdResetEvent <- vkGetProc @VkCmdResetEvent+--+vkCmdResetEvent ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()+vkCmdResetEvent+ = unsafeDupablePerformIO (vkGetProc @VkCmdResetEvent)++{-# NOINLINE vkCmdResetEvent #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdResetEvent" vkCmdResetEventSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdResetEventSafe@ and @vkCmdResetEvent@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetEvent <- vkGetInstanceProc @VkCmdResetEvent vkInstance+--+-- or less efficient:+--+-- > myCmdResetEvent <- vkGetProc @VkCmdResetEvent+--+vkCmdResetEventSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()+vkCmdResetEventSafe = vkCmdResetEvent++{-# INLINE vkCmdResetEventSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetEvent+-- > ( VkCommandBuffer commandBuffer+-- > , VkEvent event+-- > , VkPipelineStageFlags stageMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetEvent vkCmdResetEvent registry at www.khronos.org>+type HS_vkCmdResetEvent =+ VkCommandBuffer -- ^ commandBuffer+ -> VkEvent -- ^ event+ -> VkPipelineStageFlags -- ^ stageMask+ -> IO ()++type PFN_vkCmdResetEvent = FunPtr HS_vkCmdResetEvent++foreign import ccall "dynamic" unwrapVkCmdResetEvent ::+ PFN_vkCmdResetEvent -> HS_vkCmdResetEvent++instance VulkanProc "vkCmdResetEvent" where+ type VkProcType "vkCmdResetEvent" = HS_vkCmdResetEvent+ vkProcSymbol = _VkCmdResetEvent++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdResetEvent++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdWaitEvents :: CString++pattern VkCmdWaitEvents <- (is_VkCmdWaitEvents -> True)+ where VkCmdWaitEvents = _VkCmdWaitEvents++{-# INLINE _VkCmdWaitEvents #-}++_VkCmdWaitEvents :: CString+_VkCmdWaitEvents = Ptr "vkCmdWaitEvents\NUL"##++{-# INLINE is_VkCmdWaitEvents #-}++is_VkCmdWaitEvents :: CString -> Bool+is_VkCmdWaitEvents = (EQ ==) . cmpCStrings _VkCmdWaitEvents++type VkCmdWaitEvents = "vkCmdWaitEvents"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t eventCount+-- > , const VkEvent* pEvents+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdWaitEvents" vkCmdWaitEvents ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ eventCount+ ->+ Ptr VkEvent -- ^ pEvents+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t eventCount+-- > , const VkEvent* pEvents+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdWaitEventsSafe@ and @vkCmdWaitEvents@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance+--+-- or less efficient:+--+-- > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents+--+vkCmdWaitEvents ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ eventCount+ ->+ Ptr VkEvent -- ^ pEvents+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()+vkCmdWaitEvents+ = unsafeDupablePerformIO (vkGetProc @VkCmdWaitEvents)++{-# NOINLINE vkCmdWaitEvents #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t eventCount+-- > , const VkEvent* pEvents+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdWaitEvents" vkCmdWaitEventsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ eventCount+ ->+ Ptr VkEvent -- ^ pEvents+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t eventCount+-- > , const VkEvent* pEvents+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdWaitEventsSafe@ and @vkCmdWaitEvents@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWaitEvents <- vkGetInstanceProc @VkCmdWaitEvents vkInstance+--+-- or less efficient:+--+-- > myCmdWaitEvents <- vkGetProc @VkCmdWaitEvents+--+vkCmdWaitEventsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ eventCount+ ->+ Ptr VkEvent -- ^ pEvents+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()+vkCmdWaitEventsSafe = vkCmdWaitEvents++{-# INLINE vkCmdWaitEventsSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdWaitEvents+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t eventCount+-- > , const VkEvent* pEvents+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWaitEvents vkCmdWaitEvents registry at www.khronos.org>+type HS_vkCmdWaitEvents =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ eventCount+ ->+ Ptr VkEvent -- ^ pEvents+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()++type PFN_vkCmdWaitEvents = FunPtr HS_vkCmdWaitEvents++foreign import ccall "dynamic" unwrapVkCmdWaitEvents ::+ PFN_vkCmdWaitEvents -> HS_vkCmdWaitEvents++instance VulkanProc "vkCmdWaitEvents" where+ type VkProcType "vkCmdWaitEvents" = HS_vkCmdWaitEvents+ vkProcSymbol = _VkCmdWaitEvents++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdWaitEvents++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdPipelineBarrier :: CString++pattern VkCmdPipelineBarrier <- (is_VkCmdPipelineBarrier -> True)+ where VkCmdPipelineBarrier = _VkCmdPipelineBarrier++{-# INLINE _VkCmdPipelineBarrier #-}++_VkCmdPipelineBarrier :: CString+_VkCmdPipelineBarrier = Ptr "vkCmdPipelineBarrier\NUL"##++{-# INLINE is_VkCmdPipelineBarrier #-}++is_VkCmdPipelineBarrier :: CString -> Bool+is_VkCmdPipelineBarrier+ = (EQ ==) . cmpCStrings _VkCmdPipelineBarrier++type VkCmdPipelineBarrier = "vkCmdPipelineBarrier"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , VkDependencyFlags dependencyFlags+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdPipelineBarrier"+ vkCmdPipelineBarrier ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ VkDependencyFlags -- ^ dependencyFlags+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , VkDependencyFlags dependencyFlags+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdPipelineBarrierSafe@ and @vkCmdPipelineBarrier@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance+--+-- or less efficient:+--+-- > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier+--+vkCmdPipelineBarrier ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ VkDependencyFlags -- ^ dependencyFlags+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()+vkCmdPipelineBarrier+ = unsafeDupablePerformIO (vkGetProc @VkCmdPipelineBarrier)++{-# NOINLINE vkCmdPipelineBarrier #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , VkDependencyFlags dependencyFlags+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdPipelineBarrier"+ vkCmdPipelineBarrierSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ VkDependencyFlags -- ^ dependencyFlags+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , VkDependencyFlags dependencyFlags+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdPipelineBarrierSafe@ and @vkCmdPipelineBarrier@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPipelineBarrier <- vkGetInstanceProc @VkCmdPipelineBarrier vkInstance+--+-- or less efficient:+--+-- > myCmdPipelineBarrier <- vkGetProc @VkCmdPipelineBarrier+--+vkCmdPipelineBarrierSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ VkDependencyFlags -- ^ dependencyFlags+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()+vkCmdPipelineBarrierSafe = vkCmdPipelineBarrier++{-# INLINE vkCmdPipelineBarrierSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPipelineBarrier+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlags srcStageMask+-- > , VkPipelineStageFlags dstStageMask+-- > , VkDependencyFlags dependencyFlags+-- > , uint32_t memoryBarrierCount+-- > , const VkMemoryBarrier* pMemoryBarriers+-- > , uint32_t bufferMemoryBarrierCount+-- > , const VkBufferMemoryBarrier* pBufferMemoryBarriers+-- > , uint32_t imageMemoryBarrierCount+-- > , const VkImageMemoryBarrier* pImageMemoryBarriers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPipelineBarrier vkCmdPipelineBarrier registry at www.khronos.org>+type HS_vkCmdPipelineBarrier =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlags -- ^ srcStageMask+ ->+ VkPipelineStageFlags -- ^ dstStageMask+ ->+ VkDependencyFlags -- ^ dependencyFlags+ ->+ Word32 -- ^ memoryBarrierCount+ ->+ Ptr VkMemoryBarrier -- ^ pMemoryBarriers+ ->+ Word32 -- ^ bufferMemoryBarrierCount+ ->+ Ptr VkBufferMemoryBarrier -- ^ pBufferMemoryBarriers+ ->+ Word32 -- ^ imageMemoryBarrierCount+ -> Ptr VkImageMemoryBarrier -- ^ pImageMemoryBarriers+ -> IO ()++type PFN_vkCmdPipelineBarrier = FunPtr HS_vkCmdPipelineBarrier++foreign import ccall "dynamic" unwrapVkCmdPipelineBarrier ::+ PFN_vkCmdPipelineBarrier -> HS_vkCmdPipelineBarrier++instance VulkanProc "vkCmdPipelineBarrier" where+ type VkProcType "vkCmdPipelineBarrier" = HS_vkCmdPipelineBarrier+ vkProcSymbol = _VkCmdPipelineBarrier++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdPipelineBarrier++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBeginQuery :: CString++pattern VkCmdBeginQuery <- (is_VkCmdBeginQuery -> True)+ where VkCmdBeginQuery = _VkCmdBeginQuery++{-# INLINE _VkCmdBeginQuery #-}++_VkCmdBeginQuery :: CString+_VkCmdBeginQuery = Ptr "vkCmdBeginQuery\NUL"##++{-# INLINE is_VkCmdBeginQuery #-}++is_VkCmdBeginQuery :: CString -> Bool+is_VkCmdBeginQuery = (EQ ==) . cmpCStrings _VkCmdBeginQuery++type VkCmdBeginQuery = "vkCmdBeginQuery"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > , VkQueryControlFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBeginQuery" vkCmdBeginQuery ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> VkQueryControlFlags -- ^ flags+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > , VkQueryControlFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBeginQuerySafe@ and @vkCmdBeginQuery@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance+--+-- or less efficient:+--+-- > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery+--+vkCmdBeginQuery ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> VkQueryControlFlags -- ^ flags+ -> IO ()+vkCmdBeginQuery+ = unsafeDupablePerformIO (vkGetProc @VkCmdBeginQuery)++{-# NOINLINE vkCmdBeginQuery #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > , VkQueryControlFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBeginQuery" vkCmdBeginQuerySafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> VkQueryControlFlags -- ^ flags+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > , VkQueryControlFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBeginQuerySafe@ and @vkCmdBeginQuery@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginQuery <- vkGetInstanceProc @VkCmdBeginQuery vkInstance+--+-- or less efficient:+--+-- > myCmdBeginQuery <- vkGetProc @VkCmdBeginQuery+--+vkCmdBeginQuerySafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> VkQueryControlFlags -- ^ flags+ -> IO ()+vkCmdBeginQuerySafe = vkCmdBeginQuery++{-# INLINE vkCmdBeginQuerySafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdBeginQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > , VkQueryControlFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginQuery vkCmdBeginQuery registry at www.khronos.org>+type HS_vkCmdBeginQuery =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> VkQueryControlFlags -- ^ flags+ -> IO ()++type PFN_vkCmdBeginQuery = FunPtr HS_vkCmdBeginQuery++foreign import ccall "dynamic" unwrapVkCmdBeginQuery ::+ PFN_vkCmdBeginQuery -> HS_vkCmdBeginQuery++instance VulkanProc "vkCmdBeginQuery" where+ type VkProcType "vkCmdBeginQuery" = HS_vkCmdBeginQuery+ vkProcSymbol = _VkCmdBeginQuery++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBeginQuery++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdEndQuery :: CString++pattern VkCmdEndQuery <- (is_VkCmdEndQuery -> True)+ where VkCmdEndQuery = _VkCmdEndQuery++{-# INLINE _VkCmdEndQuery #-}++_VkCmdEndQuery :: CString+_VkCmdEndQuery = Ptr "vkCmdEndQuery\NUL"##++{-# INLINE is_VkCmdEndQuery #-}++is_VkCmdEndQuery :: CString -> Bool+is_VkCmdEndQuery = (EQ ==) . cmpCStrings _VkCmdEndQuery++type VkCmdEndQuery = "vkCmdEndQuery"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdEndQuery" vkCmdEndQuery ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdEndQuerySafe@ and @vkCmdEndQuery@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance+--+-- or less efficient:+--+-- > myCmdEndQuery <- vkGetProc @VkCmdEndQuery+--+vkCmdEndQuery :: VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()+vkCmdEndQuery = unsafeDupablePerformIO (vkGetProc @VkCmdEndQuery)++{-# NOINLINE vkCmdEndQuery #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdEndQuery" vkCmdEndQuerySafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdEndQuerySafe@ and @vkCmdEndQuery@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndQuery <- vkGetInstanceProc @VkCmdEndQuery vkInstance+--+-- or less efficient:+--+-- > myCmdEndQuery <- vkGetProc @VkCmdEndQuery+--+vkCmdEndQuerySafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()+vkCmdEndQuerySafe = vkCmdEndQuery++{-# INLINE vkCmdEndQuerySafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdEndQuery+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndQuery vkCmdEndQuery registry at www.khronos.org>+type HS_vkCmdEndQuery =+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()++type PFN_vkCmdEndQuery = FunPtr HS_vkCmdEndQuery++foreign import ccall "dynamic" unwrapVkCmdEndQuery ::+ PFN_vkCmdEndQuery -> HS_vkCmdEndQuery++instance VulkanProc "vkCmdEndQuery" where+ type VkProcType "vkCmdEndQuery" = HS_vkCmdEndQuery+ vkProcSymbol = _VkCmdEndQuery++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdEndQuery++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdResetQueryPool :: CString++pattern VkCmdResetQueryPool <- (is_VkCmdResetQueryPool -> True)+ where VkCmdResetQueryPool = _VkCmdResetQueryPool++{-# INLINE _VkCmdResetQueryPool #-}++_VkCmdResetQueryPool :: CString+_VkCmdResetQueryPool = Ptr "vkCmdResetQueryPool\NUL"##++{-# INLINE is_VkCmdResetQueryPool #-}++is_VkCmdResetQueryPool :: CString -> Bool+is_VkCmdResetQueryPool = (EQ ==) . cmpCStrings _VkCmdResetQueryPool++type VkCmdResetQueryPool = "vkCmdResetQueryPool"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdResetQueryPool"+ vkCmdResetQueryPool ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ firstQuery+ -> Word32 -- ^ queryCount+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdResetQueryPoolSafe@ and @vkCmdResetQueryPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance+--+-- or less efficient:+--+-- > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool+--+vkCmdResetQueryPool ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ firstQuery+ -> Word32 -- ^ queryCount+ -> IO ()+vkCmdResetQueryPool+ = unsafeDupablePerformIO (vkGetProc @VkCmdResetQueryPool)++{-# NOINLINE vkCmdResetQueryPool #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdResetQueryPool"+ vkCmdResetQueryPoolSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ firstQuery+ -> Word32 -- ^ queryCount+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdResetQueryPoolSafe@ and @vkCmdResetQueryPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdResetQueryPool <- vkGetInstanceProc @VkCmdResetQueryPool vkInstance+--+-- or less efficient:+--+-- > myCmdResetQueryPool <- vkGetProc @VkCmdResetQueryPool+--+vkCmdResetQueryPoolSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ firstQuery+ -> Word32 -- ^ queryCount+ -> IO ()+vkCmdResetQueryPoolSafe = vkCmdResetQueryPool++{-# INLINE vkCmdResetQueryPoolSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdResetQueryPool+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdResetQueryPool vkCmdResetQueryPool registry at www.khronos.org>+type HS_vkCmdResetQueryPool =+ VkCommandBuffer -- ^ commandBuffer+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ firstQuery+ -> Word32 -- ^ queryCount+ -> IO ()++type PFN_vkCmdResetQueryPool = FunPtr HS_vkCmdResetQueryPool++foreign import ccall "dynamic" unwrapVkCmdResetQueryPool ::+ PFN_vkCmdResetQueryPool -> HS_vkCmdResetQueryPool++instance VulkanProc "vkCmdResetQueryPool" where+ type VkProcType "vkCmdResetQueryPool" = HS_vkCmdResetQueryPool+ vkProcSymbol = _VkCmdResetQueryPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdResetQueryPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdWriteTimestamp :: CString++pattern VkCmdWriteTimestamp <- (is_VkCmdWriteTimestamp -> True)+ where VkCmdWriteTimestamp = _VkCmdWriteTimestamp++{-# INLINE _VkCmdWriteTimestamp #-}++_VkCmdWriteTimestamp :: CString+_VkCmdWriteTimestamp = Ptr "vkCmdWriteTimestamp\NUL"##++{-# INLINE is_VkCmdWriteTimestamp #-}++is_VkCmdWriteTimestamp :: CString -> Bool+is_VkCmdWriteTimestamp = (EQ ==) . cmpCStrings _VkCmdWriteTimestamp++type VkCmdWriteTimestamp = "vkCmdWriteTimestamp"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlagBits pipelineStage+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdWriteTimestamp"+ vkCmdWriteTimestamp ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlagBits -- ^ pipelineStage+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlagBits pipelineStage+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdWriteTimestampSafe@ and @vkCmdWriteTimestamp@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance+--+-- or less efficient:+--+-- > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp+--+vkCmdWriteTimestamp ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlagBits -- ^ pipelineStage+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()+vkCmdWriteTimestamp+ = unsafeDupablePerformIO (vkGetProc @VkCmdWriteTimestamp)++{-# NOINLINE vkCmdWriteTimestamp #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlagBits pipelineStage+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdWriteTimestamp"+ vkCmdWriteTimestampSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlagBits -- ^ pipelineStage+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlagBits pipelineStage+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdWriteTimestampSafe@ and @vkCmdWriteTimestamp@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdWriteTimestamp <- vkGetInstanceProc @VkCmdWriteTimestamp vkInstance+--+-- or less efficient:+--+-- > myCmdWriteTimestamp <- vkGetProc @VkCmdWriteTimestamp+--+vkCmdWriteTimestampSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlagBits -- ^ pipelineStage+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()+vkCmdWriteTimestampSafe = vkCmdWriteTimestamp++{-# INLINE vkCmdWriteTimestampSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- Pipeline: @transfer@+--+-- > void vkCmdWriteTimestamp+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineStageFlagBits pipelineStage+-- > , VkQueryPool queryPool+-- > , uint32_t query+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteTimestamp vkCmdWriteTimestamp registry at www.khronos.org>+type HS_vkCmdWriteTimestamp =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlagBits -- ^ pipelineStage+ -> VkQueryPool -- ^ queryPool+ -> Word32 -- ^ query+ -> IO ()++type PFN_vkCmdWriteTimestamp = FunPtr HS_vkCmdWriteTimestamp++foreign import ccall "dynamic" unwrapVkCmdWriteTimestamp ::+ PFN_vkCmdWriteTimestamp -> HS_vkCmdWriteTimestamp++instance VulkanProc "vkCmdWriteTimestamp" where+ type VkProcType "vkCmdWriteTimestamp" = HS_vkCmdWriteTimestamp+ vkProcSymbol = _VkCmdWriteTimestamp++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdWriteTimestamp++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdCopyQueryPoolResults :: CString++pattern VkCmdCopyQueryPoolResults <-+ (is_VkCmdCopyQueryPoolResults -> True)+ where VkCmdCopyQueryPoolResults = _VkCmdCopyQueryPoolResults++{-# INLINE _VkCmdCopyQueryPoolResults #-}++_VkCmdCopyQueryPoolResults :: CString+_VkCmdCopyQueryPoolResults = Ptr "vkCmdCopyQueryPoolResults\NUL"##++{-# INLINE is_VkCmdCopyQueryPoolResults #-}++is_VkCmdCopyQueryPoolResults :: CString -> Bool+is_VkCmdCopyQueryPoolResults+ = (EQ ==) . cmpCStrings _VkCmdCopyQueryPoolResults++type VkCmdCopyQueryPoolResults = "vkCmdCopyQueryPoolResults"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdCopyQueryPoolResults"+ vkCmdCopyQueryPoolResults ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ VkBuffer -- ^ dstBuffer+ ->+ VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyQueryPoolResultsSafe@ and @vkCmdCopyQueryPoolResults@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance+--+-- or less efficient:+--+-- > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults+--+vkCmdCopyQueryPoolResults ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ VkBuffer -- ^ dstBuffer+ ->+ VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO ()+vkCmdCopyQueryPoolResults+ = unsafeDupablePerformIO (vkGetProc @VkCmdCopyQueryPoolResults)++{-# NOINLINE vkCmdCopyQueryPoolResults #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdCopyQueryPoolResults"+ vkCmdCopyQueryPoolResultsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ VkBuffer -- ^ dstBuffer+ ->+ VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdCopyQueryPoolResultsSafe@ and @vkCmdCopyQueryPoolResults@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdCopyQueryPoolResults <- vkGetInstanceProc @VkCmdCopyQueryPoolResults vkInstance+--+-- or less efficient:+--+-- > myCmdCopyQueryPoolResults <- vkGetProc @VkCmdCopyQueryPoolResults+--+vkCmdCopyQueryPoolResultsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ VkBuffer -- ^ dstBuffer+ ->+ VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO ()+vkCmdCopyQueryPoolResultsSafe = vkCmdCopyQueryPoolResults++{-# INLINE vkCmdCopyQueryPoolResultsSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @outside@+--+-- Pipeline: @transfer@+--+-- > void vkCmdCopyQueryPoolResults+-- > ( VkCommandBuffer commandBuffer+-- > , VkQueryPool queryPool+-- > , uint32_t firstQuery+-- > , uint32_t queryCount+-- > , VkBuffer dstBuffer+-- > , VkDeviceSize dstOffset+-- > , VkDeviceSize stride+-- > , VkQueryResultFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults registry at www.khronos.org>+type HS_vkCmdCopyQueryPoolResults =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkQueryPool -- ^ queryPool+ ->+ Word32 -- ^ firstQuery+ ->+ Word32 -- ^ queryCount+ ->+ VkBuffer -- ^ dstBuffer+ ->+ VkDeviceSize -- ^ dstOffset+ -> VkDeviceSize -- ^ stride+ -> VkQueryResultFlags -- ^ flags+ -> IO ()++type PFN_vkCmdCopyQueryPoolResults =+ FunPtr HS_vkCmdCopyQueryPoolResults++foreign import ccall "dynamic" unwrapVkCmdCopyQueryPoolResults ::+ PFN_vkCmdCopyQueryPoolResults -> HS_vkCmdCopyQueryPoolResults++instance VulkanProc "vkCmdCopyQueryPoolResults" where+ type VkProcType "vkCmdCopyQueryPoolResults" =+ HS_vkCmdCopyQueryPoolResults+ vkProcSymbol = _VkCmdCopyQueryPoolResults++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdCopyQueryPoolResults++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdPushConstants :: CString++pattern VkCmdPushConstants <- (is_VkCmdPushConstants -> True)+ where VkCmdPushConstants = _VkCmdPushConstants++{-# INLINE _VkCmdPushConstants #-}++_VkCmdPushConstants :: CString+_VkCmdPushConstants = Ptr "vkCmdPushConstants\NUL"##++{-# INLINE is_VkCmdPushConstants #-}++is_VkCmdPushConstants :: CString -> Bool+is_VkCmdPushConstants = (EQ ==) . cmpCStrings _VkCmdPushConstants++type VkCmdPushConstants = "vkCmdPushConstants"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineLayout layout+-- > , VkShaderStageFlags stageFlags+-- > , uint32_t offset+-- > , uint32_t size+-- > , const void* pValues+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdPushConstants" vkCmdPushConstants+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineLayout -- ^ layout+ ->+ VkShaderStageFlags -- ^ stageFlags+ -> Word32 -- ^ offset+ -> Word32 -- ^ size+ -> Ptr Void -- ^ pValues+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineLayout layout+-- > , VkShaderStageFlags stageFlags+-- > , uint32_t offset+-- > , uint32_t size+-- > , const void* pValues+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdPushConstantsSafe@ and @vkCmdPushConstants@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance+--+-- or less efficient:+--+-- > myCmdPushConstants <- vkGetProc @VkCmdPushConstants+--+vkCmdPushConstants ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineLayout -- ^ layout+ ->+ VkShaderStageFlags -- ^ stageFlags+ -> Word32 -- ^ offset+ -> Word32 -- ^ size+ -> Ptr Void -- ^ pValues+ -> IO ()+vkCmdPushConstants+ = unsafeDupablePerformIO (vkGetProc @VkCmdPushConstants)++{-# NOINLINE vkCmdPushConstants #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineLayout layout+-- > , VkShaderStageFlags stageFlags+-- > , uint32_t offset+-- > , uint32_t size+-- > , const void* pValues+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdPushConstants"+ vkCmdPushConstantsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineLayout -- ^ layout+ ->+ VkShaderStageFlags -- ^ stageFlags+ -> Word32 -- ^ offset+ -> Word32 -- ^ size+ -> Ptr Void -- ^ pValues+ -> IO ()++##else+-- |+-- Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineLayout layout+-- > , VkShaderStageFlags stageFlags+-- > , uint32_t offset+-- > , uint32_t size+-- > , const void* pValues+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdPushConstantsSafe@ and @vkCmdPushConstants@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdPushConstants <- vkGetInstanceProc @VkCmdPushConstants vkInstance+--+-- or less efficient:+--+-- > myCmdPushConstants <- vkGetProc @VkCmdPushConstants+--+vkCmdPushConstantsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineLayout -- ^ layout+ ->+ VkShaderStageFlags -- ^ stageFlags+ -> Word32 -- ^ offset+ -> Word32 -- ^ size+ -> Ptr Void -- ^ pValues+ -> IO ()+vkCmdPushConstantsSafe = vkCmdPushConstants++{-# INLINE vkCmdPushConstantsSafe #-}+##endif++-- | Queues: 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdPushConstants+-- > ( VkCommandBuffer commandBuffer+-- > , VkPipelineLayout layout+-- > , VkShaderStageFlags stageFlags+-- > , uint32_t offset+-- > , uint32_t size+-- > , const void* pValues+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushConstants vkCmdPushConstants registry at www.khronos.org>+type HS_vkCmdPushConstants =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineLayout -- ^ layout+ ->+ VkShaderStageFlags -- ^ stageFlags+ -> Word32 -- ^ offset+ -> Word32 -- ^ size+ -> Ptr Void -- ^ pValues+ -> IO ()++type PFN_vkCmdPushConstants = FunPtr HS_vkCmdPushConstants++foreign import ccall "dynamic" unwrapVkCmdPushConstants ::+ PFN_vkCmdPushConstants -> HS_vkCmdPushConstants++instance VulkanProc "vkCmdPushConstants" where+ type VkProcType "vkCmdPushConstants" = HS_vkCmdPushConstants+ vkProcSymbol = _VkCmdPushConstants++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdPushConstants++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBeginRenderPass :: CString++pattern VkCmdBeginRenderPass <- (is_VkCmdBeginRenderPass -> True)+ where VkCmdBeginRenderPass = _VkCmdBeginRenderPass++{-# INLINE _VkCmdBeginRenderPass #-}++_VkCmdBeginRenderPass :: CString+_VkCmdBeginRenderPass = Ptr "vkCmdBeginRenderPass\NUL"##++{-# INLINE is_VkCmdBeginRenderPass #-}++is_VkCmdBeginRenderPass :: CString -> Bool+is_VkCmdBeginRenderPass+ = (EQ ==) . cmpCStrings _VkCmdBeginRenderPass++type VkCmdBeginRenderPass = "vkCmdBeginRenderPass"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > , const VkRenderPassBeginInfo* pRenderPassBegin+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdBeginRenderPass"+ vkCmdBeginRenderPass ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+ -> VkSubpassContents -- ^ contents+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > , const VkRenderPassBeginInfo* pRenderPassBegin+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBeginRenderPassSafe@ and @vkCmdBeginRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass+--+vkCmdBeginRenderPass ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+ -> VkSubpassContents -- ^ contents+ -> IO ()+vkCmdBeginRenderPass+ = unsafeDupablePerformIO (vkGetProc @VkCmdBeginRenderPass)++{-# NOINLINE vkCmdBeginRenderPass #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > , const VkRenderPassBeginInfo* pRenderPassBegin+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdBeginRenderPass"+ vkCmdBeginRenderPassSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+ -> VkSubpassContents -- ^ contents+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > , const VkRenderPassBeginInfo* pRenderPassBegin+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdBeginRenderPassSafe@ and @vkCmdBeginRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdBeginRenderPass <- vkGetInstanceProc @VkCmdBeginRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdBeginRenderPass <- vkGetProc @VkCmdBeginRenderPass+--+vkCmdBeginRenderPassSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+ -> VkSubpassContents -- ^ contents+ -> IO ()+vkCmdBeginRenderPassSafe = vkCmdBeginRenderPass++{-# INLINE vkCmdBeginRenderPassSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @outside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdBeginRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > , const VkRenderPassBeginInfo* pRenderPassBegin+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginRenderPass vkCmdBeginRenderPass registry at www.khronos.org>+type HS_vkCmdBeginRenderPass =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Ptr VkRenderPassBeginInfo -- ^ pRenderPassBegin+ -> VkSubpassContents -- ^ contents+ -> IO ()++type PFN_vkCmdBeginRenderPass = FunPtr HS_vkCmdBeginRenderPass++foreign import ccall "dynamic" unwrapVkCmdBeginRenderPass ::+ PFN_vkCmdBeginRenderPass -> HS_vkCmdBeginRenderPass++instance VulkanProc "vkCmdBeginRenderPass" where+ type VkProcType "vkCmdBeginRenderPass" = HS_vkCmdBeginRenderPass+ vkProcSymbol = _VkCmdBeginRenderPass++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBeginRenderPass++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdNextSubpass :: CString++pattern VkCmdNextSubpass <- (is_VkCmdNextSubpass -> True)+ where VkCmdNextSubpass = _VkCmdNextSubpass++{-# INLINE _VkCmdNextSubpass #-}++_VkCmdNextSubpass :: CString+_VkCmdNextSubpass = Ptr "vkCmdNextSubpass\NUL"##++{-# INLINE is_VkCmdNextSubpass #-}++is_VkCmdNextSubpass :: CString -> Bool+is_VkCmdNextSubpass = (EQ ==) . cmpCStrings _VkCmdNextSubpass++type VkCmdNextSubpass = "vkCmdNextSubpass"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- > ( VkCommandBuffer commandBuffer+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdNextSubpass" vkCmdNextSubpass ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkSubpassContents -- ^ contents+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- > ( VkCommandBuffer commandBuffer+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdNextSubpassSafe@ and @vkCmdNextSubpass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance+--+-- or less efficient:+--+-- > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass+--+vkCmdNextSubpass :: VkCommandBuffer -- ^ commandBuffer+ -> VkSubpassContents -- ^ contents+ -> IO ()+vkCmdNextSubpass+ = unsafeDupablePerformIO (vkGetProc @VkCmdNextSubpass)++{-# NOINLINE vkCmdNextSubpass #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- > ( VkCommandBuffer commandBuffer+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdNextSubpass" vkCmdNextSubpassSafe+ :: VkCommandBuffer -- ^ commandBuffer+ -> VkSubpassContents -- ^ contents+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- > ( VkCommandBuffer commandBuffer+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdNextSubpassSafe@ and @vkCmdNextSubpass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdNextSubpass <- vkGetInstanceProc @VkCmdNextSubpass vkInstance+--+-- or less efficient:+--+-- > myCmdNextSubpass <- vkGetProc @VkCmdNextSubpass+--+vkCmdNextSubpassSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> VkSubpassContents -- ^ contents+ -> IO ()+vkCmdNextSubpassSafe = vkCmdNextSubpass++{-# INLINE vkCmdNextSubpassSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdNextSubpass+-- > ( VkCommandBuffer commandBuffer+-- > , VkSubpassContents contents+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdNextSubpass vkCmdNextSubpass registry at www.khronos.org>+type HS_vkCmdNextSubpass =+ VkCommandBuffer -- ^ commandBuffer+ -> VkSubpassContents -- ^ contents+ -> IO ()++type PFN_vkCmdNextSubpass = FunPtr HS_vkCmdNextSubpass++foreign import ccall "dynamic" unwrapVkCmdNextSubpass ::+ PFN_vkCmdNextSubpass -> HS_vkCmdNextSubpass++instance VulkanProc "vkCmdNextSubpass" where+ type VkProcType "vkCmdNextSubpass" = HS_vkCmdNextSubpass+ vkProcSymbol = _VkCmdNextSubpass++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdNextSubpass++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdEndRenderPass :: CString++pattern VkCmdEndRenderPass <- (is_VkCmdEndRenderPass -> True)+ where VkCmdEndRenderPass = _VkCmdEndRenderPass++{-# INLINE _VkCmdEndRenderPass #-}++_VkCmdEndRenderPass :: CString+_VkCmdEndRenderPass = Ptr "vkCmdEndRenderPass\NUL"##++{-# INLINE is_VkCmdEndRenderPass #-}++is_VkCmdEndRenderPass :: CString -> Bool+is_VkCmdEndRenderPass = (EQ ==) . cmpCStrings _VkCmdEndRenderPass++type VkCmdEndRenderPass = "vkCmdEndRenderPass"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdEndRenderPass" vkCmdEndRenderPass+ :: VkCommandBuffer -- ^ commandBuffer+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdEndRenderPassSafe@ and @vkCmdEndRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass+--+vkCmdEndRenderPass :: VkCommandBuffer -- ^ commandBuffer+ -> IO ()+vkCmdEndRenderPass+ = unsafeDupablePerformIO (vkGetProc @VkCmdEndRenderPass)++{-# NOINLINE vkCmdEndRenderPass #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdEndRenderPass"+ vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer+ -> IO ()++##else+-- |+-- Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdEndRenderPassSafe@ and @vkCmdEndRenderPass@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdEndRenderPass <- vkGetInstanceProc @VkCmdEndRenderPass vkInstance+--+-- or less efficient:+--+-- > myCmdEndRenderPass <- vkGetProc @VkCmdEndRenderPass+--+vkCmdEndRenderPassSafe :: VkCommandBuffer -- ^ commandBuffer+ -> IO ()+vkCmdEndRenderPassSafe = vkCmdEndRenderPass++{-# INLINE vkCmdEndRenderPassSafe #-}+##endif++-- | Queues: 'graphics'.+--+-- Renderpass: @inside@+--+-- Pipeline: @graphics@+--+-- > void vkCmdEndRenderPass+-- > ( VkCommandBuffer commandBuffer+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndRenderPass vkCmdEndRenderPass registry at www.khronos.org>+type HS_vkCmdEndRenderPass = VkCommandBuffer -- ^ commandBuffer+ -> IO ()++type PFN_vkCmdEndRenderPass = FunPtr HS_vkCmdEndRenderPass++foreign import ccall "dynamic" unwrapVkCmdEndRenderPass ::+ PFN_vkCmdEndRenderPass -> HS_vkCmdEndRenderPass++instance VulkanProc "vkCmdEndRenderPass" where+ type VkProcType "vkCmdEndRenderPass" = HS_vkCmdEndRenderPass+ vkProcSymbol = _VkCmdEndRenderPass++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdEndRenderPass++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdExecuteCommands :: CString++pattern VkCmdExecuteCommands <- (is_VkCmdExecuteCommands -> True)+ where VkCmdExecuteCommands = _VkCmdExecuteCommands++{-# INLINE _VkCmdExecuteCommands #-}++_VkCmdExecuteCommands :: CString+_VkCmdExecuteCommands = Ptr "vkCmdExecuteCommands\NUL"##++{-# INLINE is_VkCmdExecuteCommands #-}++is_VkCmdExecuteCommands :: CString -> Bool+is_VkCmdExecuteCommands+ = (EQ ==) . cmpCStrings _VkCmdExecuteCommands++type VkCmdExecuteCommands = "vkCmdExecuteCommands"++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdExecuteCommands"+ vkCmdExecuteCommands ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdExecuteCommandsSafe@ and @vkCmdExecuteCommands@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance+--+-- or less efficient:+--+-- > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands+--+vkCmdExecuteCommands ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()+vkCmdExecuteCommands+ = unsafeDupablePerformIO (vkGetProc @VkCmdExecuteCommands)++{-# NOINLINE vkCmdExecuteCommands #-}+##endif++##ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdExecuteCommands"+ vkCmdExecuteCommandsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()++##else+-- |+-- Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdExecuteCommandsSafe@ and @vkCmdExecuteCommands@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdExecuteCommands <- vkGetInstanceProc @VkCmdExecuteCommands vkInstance+--+-- or less efficient:+--+-- > myCmdExecuteCommands <- vkGetProc @VkCmdExecuteCommands+--+vkCmdExecuteCommandsSafe ::+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()+vkCmdExecuteCommandsSafe = vkCmdExecuteCommands++{-# INLINE vkCmdExecuteCommandsSafe #-}+##endif++-- | Queues: 'transfer', 'graphics', 'compute'.+--+-- Renderpass: @both@+--+-- > void vkCmdExecuteCommands+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t commandBufferCount+-- > , const VkCommandBuffer* pCommandBuffers+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdExecuteCommands vkCmdExecuteCommands registry at www.khronos.org>+type HS_vkCmdExecuteCommands =+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ commandBufferCount+ -> Ptr VkCommandBuffer -- ^ pCommandBuffers+ -> IO ()++type PFN_vkCmdExecuteCommands = FunPtr HS_vkCmdExecuteCommands++foreign import ccall "dynamic" unwrapVkCmdExecuteCommands ::+ PFN_vkCmdExecuteCommands -> HS_vkCmdExecuteCommands++instance VulkanProc "vkCmdExecuteCommands" where+ type VkProcType "vkCmdExecuteCommands" = HS_vkCmdExecuteCommands+ vkProcSymbol = _VkCmdExecuteCommands++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdExecuteCommands++ {-# INLINE unwrapVkProcPtr #-}
@@ -1,2359 +1,6097 @@-{-# OPTIONS_GHC -fno-warn-unused-imports#-}-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Core_1_1- (-- * Vulkan 1.1 core API interface definitions.- -- |- --- -- @api = vulkan@- --- -- @name = VK_VERSION_1_1@- --- -- @number = 1.1@- ---- -- ** Device Initialization- vkEnumerateInstanceVersion, vkEnumerateInstanceVersionSafe,- module Graphics.Vulkan.Types.Enum.VkResult,- -- ** Promoted from VK_KHR_relaxed_block_layout, which has no API- ---- -- ** Promoted from VK_KHR_storage_buffer_storage_class, which has no API- ---- -- ** Originally based on VK_KHR_subgroup (extension 94), but the actual enum block used was, incorrectly, that of extension 95- module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSubgroupProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSubgroupFeatureFlags,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,- -- ** Promoted from VK_KHR_bind_memory2- module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,- -- > #include "vk_platform.h"- vkBindBufferMemory2, vkBindBufferMemory2Safe, vkBindImageMemory2,- vkBindImageMemory2Safe, module Graphics.Vulkan.Types.Handles,- pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,- pattern VK_IMAGE_CREATE_ALIAS_BIT,- -- ** Promoted from VK_KHR_16bit_storage- module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,- module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,- -- ** Promoted from VK_KHR_dedicated_allocation- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirements,- module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,- module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,- pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,- -- ** Promoted from VK_KHR_device_group- module Graphics.Vulkan.Types.Struct.VkBindSparseInfo,- module Graphics.Vulkan.Types.Struct.VkClearColorValue,- module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,- module Graphics.Vulkan.Types.Struct.VkClearValue,- module Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo,- module Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo,- module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfo,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfo,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfo,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfo,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,- module Graphics.Vulkan.Types.Struct.VkImageSubresource,- module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfo,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkOffset3D,- module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,- module Graphics.Vulkan.Types.Enum.VkQueryControlFlags,- module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,- module Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo,- module Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo,- module Graphics.Vulkan.Types.Struct.VkSparseMemoryBind,- module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags,- module Graphics.Vulkan.Types.Struct.VkSubmitInfo,- -- > #include "vk_platform.h"- vkGetDeviceGroupPeerMemoryFeatures,- vkGetDeviceGroupPeerMemoryFeaturesSafe, vkCmdSetDeviceMask,- vkCmdSetDeviceMaskSafe, vkCmdDispatchBase, vkCmdDispatchBaseSafe,- pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,- pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,- pattern VK_PIPELINE_CREATE_DISPATCH_BASE,- pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,- -- ** Promoted from VK_KHR_device_group + VK_KHR_bind_memory2- module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfo,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfo,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,- pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,- -- ** Promoted from VK_KHR_device_group_creation- module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties,- -- > #include "vk_platform.h"- vkEnumeratePhysicalDeviceGroups,- vkEnumeratePhysicalDeviceGroupsSafe,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,- pattern VK_MAX_DEVICE_GROUP_SIZE,- pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,- -- ** Promoted from VK_KHR_get_memory_requirements2- module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2,- module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2,- module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2,- module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2,- -- > #include "vk_platform.h"- vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2Safe,- vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2Safe,- vkGetImageSparseMemoryRequirements2,- vkGetImageSparseMemoryRequirements2Safe,- pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,- pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,- pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,- pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,- pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,- -- ** Promoted from VK_KHR_get_physical_device_properties2- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,- module Graphics.Vulkan.Types.Struct.VkFormatProperties,- module Graphics.Vulkan.Types.Struct.VkFormatProperties2,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkMemoryHeap,- module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,- module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,- module Graphics.Vulkan.Types.Struct.VkMemoryType,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2,- module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,- module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2,- module Graphics.Vulkan.Types.Enum.VkQueueFlags,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2,- -- > #include "vk_platform.h"- vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2Safe,- vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2Safe,- vkGetPhysicalDeviceFormatProperties2,- vkGetPhysicalDeviceFormatProperties2Safe,- vkGetPhysicalDeviceImageFormatProperties2,- vkGetPhysicalDeviceImageFormatProperties2Safe,- vkGetPhysicalDeviceQueueFamilyProperties2,- vkGetPhysicalDeviceQueueFamilyProperties2Safe,- vkGetPhysicalDeviceMemoryProperties2,- vkGetPhysicalDeviceMemoryProperties2Safe,- vkGetPhysicalDeviceSparseImageFormatProperties2,- vkGetPhysicalDeviceSparseImageFormatProperties2Safe,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,- pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,- -- ** Promoted from VK_KHR_maintenance1- --- -- |- -- > #include "vk_platform.h"- vkTrimCommandPool, vkTrimCommandPoolSafe,- pattern VK_ERROR_OUT_OF_POOL_MEMORY,- pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,- pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT,- pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,- -- ** Promoted from VK_KHR_maintenance2- module Graphics.Vulkan.Types.Enum.VkAccessFlags,- module Graphics.Vulkan.Types.Struct.VkAttachmentDescription,- module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags,- module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp,- module Graphics.Vulkan.Types.Struct.VkAttachmentReference,- module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp,- module Graphics.Vulkan.Types.Struct.VkComponentMapping,- module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,- module Graphics.Vulkan.Types.Enum.VkDependencyFlags,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,- module Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo,- module Graphics.Vulkan.Types.Enum.VkImageViewType,- module Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReference,- module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingProperties,- module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,- module Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkPointClippingBehavior,- module Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo,- module Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfo,- module Graphics.Vulkan.Types.Struct.VkSubpassDependency,- module Graphics.Vulkan.Types.Struct.VkSubpassDescription,- module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags,- module Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin,- -- > #include "vk_platform.h"- pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,- pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,- pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,- pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,- pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,- -- ** Promoted from VK_KHR_multiview- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewProperties,- module Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfo,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,- pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,- -- ** Promoted from VK_KHR_variable_pointers- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeatures,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,- -- ** Originally based on VK_KHR_protected_memory (extension 146), which was never published; thus the mystifying large value= numbers below. These are not aliased since they weren't actually promoted from an extension.- module Graphics.Vulkan.Types.Struct.VkDeviceQueueInfo2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryProperties,- module Graphics.Vulkan.Types.Struct.VkProtectedSubmitInfo,- -- > #include "vk_platform.h"- vkGetDeviceQueue2, vkGetDeviceQueue2Safe,- pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,- pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,- pattern VK_QUEUE_PROTECTED_BIT,- pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT,- pattern VK_MEMORY_PROPERTY_PROTECTED_BIT,- pattern VK_BUFFER_CREATE_PROTECTED_BIT,- pattern VK_IMAGE_CREATE_PROTECTED_BIT,- pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT,- -- ** Promoted from VK_KHR_sampler_ycbcr_conversion- module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfo,- module Graphics.Vulkan.Types.Enum.VkBorderColor,- module Graphics.Vulkan.Types.Enum.VkChromaLocation,- module Graphics.Vulkan.Types.Enum.VkCompareOp,- module Graphics.Vulkan.Types.Enum.VkFilter,- module Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfo,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeatures,- module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,- module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfo,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,- -- > #include "vk_platform.h"- vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversionSafe,- vkDestroySamplerYcbcrConversion,- vkDestroySamplerYcbcrConversionSafe,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,- module Graphics.Vulkan.Types.Funcpointers,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,- pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,- pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,- pattern VK_FORMAT_G8B8G8R8_422_UNORM,- pattern VK_FORMAT_B8G8R8G8_422_UNORM,- pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,- pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,- pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,- pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,- pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,- pattern VK_FORMAT_R10X6_UNORM_PACK16,- pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,- pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,- pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,- pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,- pattern VK_FORMAT_R12X4_UNORM_PACK16,- pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,- pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,- pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,- pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,- pattern VK_FORMAT_G16B16G16R16_422_UNORM,- pattern VK_FORMAT_B16G16R16G16_422_UNORM,- pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,- pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,- pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,- pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,- pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,- pattern VK_IMAGE_ASPECT_PLANE_0_BIT,- pattern VK_IMAGE_ASPECT_PLANE_1_BIT,- pattern VK_IMAGE_ASPECT_PLANE_2_BIT,- pattern VK_IMAGE_CREATE_DISJOINT_BIT,- pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,- pattern VK_FORMAT_FEATURE_DISJOINT_BIT,- pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,- -- ** Promoted from VK_KHR_descriptor_update_template- module Graphics.Vulkan.Types.Enum.VkDescriptorType,- module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry,- module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType,- -- > #include "vk_platform.h"- vkCreateDescriptorUpdateTemplate,- vkCreateDescriptorUpdateTemplateSafe,- vkDestroyDescriptorUpdateTemplate,- vkDestroyDescriptorUpdateTemplateSafe,- vkUpdateDescriptorSetWithTemplate,- vkUpdateDescriptorSetWithTemplateSafe,- pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,- pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,- -- ** Promoted from VK_KHR_external_memory_capabilities- module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,- module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,- module Graphics.Vulkan.Types.Struct.VkExternalBufferProperties,- module Graphics.Vulkan.Types.Struct.VkExternalImageFormatProperties,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfo,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDProperties,- -- > #include "vk_platform.h"- vkGetPhysicalDeviceExternalBufferProperties,- vkGetPhysicalDeviceExternalBufferPropertiesSafe,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,- pattern VK_LUID_SIZE,- -- ** Promoted from VK_KHR_external_memory- module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,- module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfo,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,- pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,- pattern VK_QUEUE_FAMILY_EXTERNAL,- -- ** Promoted from VK_KHR_external_fence_capabilities- module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,- module Graphics.Vulkan.Types.Struct.VkExternalFenceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo,- -- > #include "vk_platform.h"- vkGetPhysicalDeviceExternalFenceProperties,- vkGetPhysicalDeviceExternalFencePropertiesSafe,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,- -- ** Promoted from VK_KHR_external_fence- module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,- module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkFenceImportFlags,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,- -- ** Promoted from VK_KHR_external_semaphore- module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfo,- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,- module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,- -- ** Promoted from VK_KHR_external_semaphore_capabilities- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags,- module Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo,- -- > #include "vk_platform.h"- vkGetPhysicalDeviceExternalSemaphoreProperties,- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,- -- ** Promoted from VK_KHR_maintenance3- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3Properties,- -- > #include "vk_platform.h"- vkGetDescriptorSetLayoutSupport,- vkGetDescriptorSetLayoutSupportSafe,- module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,- pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,- -- ** Promoted from VK_KHR_shader_draw_parameters, with a feature support query added- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceShaderDrawParameterFeatures,- -- > #include "vk_platform.h"- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES)- where-import Graphics.Vulkan.Constants- (pattern VK_LUID_SIZE,- pattern VK_MAX_DEVICE_GROUP_SIZE,- pattern VK_QUEUE_FAMILY_EXTERNAL)-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkAccessFlags-import Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags-import Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp-import Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp-import Graphics.Vulkan.Types.Enum.VkBorderColor-import Graphics.Vulkan.Types.Enum.VkBufferCreateFlags-import Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import Graphics.Vulkan.Types.Enum.VkChromaLocation-import Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags-import Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags- (VkCommandPoolCreateBitmask (..),- VkCommandPoolCreateFlagBits)-import Graphics.Vulkan.Types.Enum.VkCompareOp-import Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import Graphics.Vulkan.Types.Enum.VkDependencyFlags-import Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags-import Graphics.Vulkan.Types.Enum.VkDescriptorType-import Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType-import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags-import Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags-import Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkFenceCreateFlags-import Graphics.Vulkan.Types.Enum.VkFenceImportFlags-import Graphics.Vulkan.Types.Enum.VkFilter-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags-import Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkImageViewType-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags-import Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags-import Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags-import Graphics.Vulkan.Types.Enum.VkObjectType- (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags- (VkPipelineCreateBitmask (..),- VkPipelineCreateFlagBits)-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import Graphics.Vulkan.Types.Enum.VkPointClippingBehavior-import Graphics.Vulkan.Types.Enum.VkQueryControlFlags-import Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags-import Graphics.Vulkan.Types.Enum.VkQueueFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSamplerAddressMode-import Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange-import Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags-import Graphics.Vulkan.Types.Enum.VkShaderStageFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags-import Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSubgroupFeatureFlags-import Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope-import Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin-import Graphics.Vulkan.Types.Funcpointers-import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkAttachmentDescription-import Graphics.Vulkan.Types.Struct.VkAttachmentReference-import Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfo-import Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfo-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindSparseInfo-import Graphics.Vulkan.Types.Struct.VkBufferCreateInfo-import Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2-import Graphics.Vulkan.Types.Struct.VkClearColorValue-import Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue-import Graphics.Vulkan.Types.Struct.VkClearValue-import Graphics.Vulkan.Types.Struct.VkCommandBufferBeginInfo-import Graphics.Vulkan.Types.Struct.VkCommandBufferInheritanceInfo-import Graphics.Vulkan.Types.Struct.VkComponentMapping-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport-import Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry-import Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfo-import Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfo-import Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfo-import Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfo-import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceQueueInfo2-import Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfo-import Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfo-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkExternalBufferProperties-import Graphics.Vulkan.Types.Struct.VkExternalFenceProperties-import Graphics.Vulkan.Types.Struct.VkExternalImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfo-import Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties-import Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties-import Graphics.Vulkan.Types.Struct.VkFenceCreateInfo-import Graphics.Vulkan.Types.Struct.VkFormatProperties-import Graphics.Vulkan.Types.Struct.VkFormatProperties2-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2-import Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2-import Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfo-import Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2-import Graphics.Vulkan.Types.Struct.VkImageSubresource-import Graphics.Vulkan.Types.Struct.VkImageSubresourceRange-import Graphics.Vulkan.Types.Struct.VkImageViewCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfo-import Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReference-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfo-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirements-import Graphics.Vulkan.Types.Struct.VkMemoryHeap-import Graphics.Vulkan.Types.Struct.VkMemoryRequirements-import Graphics.Vulkan.Types.Struct.VkMemoryRequirements2-import Graphics.Vulkan.Types.Struct.VkMemoryType-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkOffset3D-import Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3Properties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProtectedMemoryProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceShaderDrawParameterFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSubgroupProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeatures-import Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkProtectedSubmitInfo-import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties-import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo-import Graphics.Vulkan.Types.Struct.VkRenderPassCreateInfo-import Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfo-import Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfo-import Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfo-import Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo-import Graphics.Vulkan.Types.Struct.VkSparseBufferMemoryBindInfo-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBind-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryBindInfo-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2-import Graphics.Vulkan.Types.Struct.VkSparseImageOpaqueMemoryBindInfo-import Graphics.Vulkan.Types.Struct.VkSparseMemoryBind-import Graphics.Vulkan.Types.Struct.VkSubmitInfo-import Graphics.Vulkan.Types.Struct.VkSubpassDependency-import Graphics.Vulkan.Types.Struct.VkSubpassDescription---- | Success codes: 'VK_SUCCESS'.------ > VkResult vkEnumerateInstanceVersion--- > ( uint32_t* pApiVersion--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceVersion.html vkEnumerateInstanceVersion registry at www.khronos.org>-foreign import ccall unsafe "vkEnumerateInstanceVersion"- vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ > VkResult vkEnumerateInstanceVersion--- > ( uint32_t* pApiVersion--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumerateInstanceVersion.html vkEnumerateInstanceVersion registry at www.khronos.org>-foreign import ccall safe "vkEnumerateInstanceVersion"- vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion- -> IO VkResult--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES =- VkStructureType 1000094000---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory2--- > ( VkDevice device--- > , uint32_t bindInfoCount--- > , const VkBindBufferMemoryInfo* pBindInfos--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2.html vkBindBufferMemory2 registry at www.khronos.org>-foreign import ccall unsafe "vkBindBufferMemory2"- vkBindBufferMemory2 ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory2--- > ( VkDevice device--- > , uint32_t bindInfoCount--- > , const VkBindBufferMemoryInfo* pBindInfos--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2.html vkBindBufferMemory2 registry at www.khronos.org>-foreign import ccall safe "vkBindBufferMemory2"- vkBindBufferMemory2Safe ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory2--- > ( VkDevice device--- > , uint32_t bindInfoCount--- > , const VkBindImageMemoryInfo* pBindInfos--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2.html vkBindImageMemory2 registry at www.khronos.org>-foreign import ccall unsafe "vkBindImageMemory2" vkBindImageMemory2- :: VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory2--- > ( VkDevice device--- > , uint32_t bindInfoCount--- > , const VkBindImageMemoryInfo* pBindInfos--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2.html vkBindImageMemory2 registry at www.khronos.org>-foreign import ccall safe "vkBindImageMemory2"- vkBindImageMemory2Safe ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos- -> IO VkResult--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO =- VkStructureType 1000157000--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO =- VkStructureType 1000157001---- | bitpos = @10@-pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateFlagBits 1024--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES =- VkStructureType 1000083000--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ::- VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS =- VkStructureType 1000127000--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO =- VkStructureType 1000127001---- | > () vkGetDeviceGroupPeerMemoryFeatures--- > ( VkDevice device--- > , uint32_t heapIndex--- > , uint32_t localDeviceIndex--- > , uint32_t remoteDeviceIndex--- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeatures.html vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"- vkGetDeviceGroupPeerMemoryFeatures ::- VkDevice -- ^ device- ->- Word32 -- ^ heapIndex- -> Word32 -- ^ localDeviceIndex- -> Word32 -- ^ remoteDeviceIndex- -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures- -> IO ()---- | > () vkGetDeviceGroupPeerMemoryFeatures--- > ( VkDevice device--- > , uint32_t heapIndex--- > , uint32_t localDeviceIndex--- > , uint32_t remoteDeviceIndex--- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeatures.html vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"- vkGetDeviceGroupPeerMemoryFeaturesSafe ::- VkDevice -- ^ device- ->- Word32 -- ^ heapIndex- -> Word32 -- ^ localDeviceIndex- -> Word32 -- ^ remoteDeviceIndex- -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures- -> IO ()---- | queues: 'graphics', 'compute', 'transfer'.------ renderpass: @both@------ > () vkCmdSetDeviceMask--- > ( VkCommandBuffer commandBuffer--- > , uint32_t deviceMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMask.html vkCmdSetDeviceMask registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDeviceMask" vkCmdSetDeviceMask- :: VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ deviceMask- -> IO ()---- | queues: 'graphics', 'compute', 'transfer'.------ renderpass: @both@------ > () vkCmdSetDeviceMask--- > ( VkCommandBuffer commandBuffer--- > , uint32_t deviceMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMask.html vkCmdSetDeviceMask registry at www.khronos.org>-foreign import ccall safe "vkCmdSetDeviceMask"- vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ deviceMask- -> IO ()---- | queues: 'compute'.------ renderpass: @outside@------ > () vkCmdDispatchBase--- > ( VkCommandBuffer commandBuffer--- > , uint32_t baseGroupX--- > , uint32_t baseGroupY--- > , uint32_t baseGroupZ--- > , uint32_t groupCountX--- > , uint32_t groupCountY--- > , uint32_t groupCountZ--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBase.html vkCmdDispatchBase registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatchBase" vkCmdDispatchBase- ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ baseGroupX- -> Word32 -- ^ baseGroupY- -> Word32 -- ^ baseGroupZ- -> Word32 -- ^ groupCountX- -> Word32 -- ^ groupCountY- -> Word32 -- ^ groupCountZ- -> IO ()---- | queues: 'compute'.------ renderpass: @outside@------ > () vkCmdDispatchBase--- > ( VkCommandBuffer commandBuffer--- > , uint32_t baseGroupX--- > , uint32_t baseGroupY--- > , uint32_t baseGroupZ--- > , uint32_t groupCountX--- > , uint32_t groupCountY--- > , uint32_t groupCountZ--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBase.html vkCmdDispatchBase registry at www.khronos.org>-foreign import ccall safe "vkCmdDispatchBase" vkCmdDispatchBaseSafe- ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ baseGroupX- -> Word32 -- ^ baseGroupY- -> Word32 -- ^ baseGroupZ- -> Word32 -- ^ groupCountX- -> Word32 -- ^ groupCountY- -> Word32 -- ^ groupCountZ- -> IO ()--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO =- VkStructureType 1000060000--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO =- VkStructureType 1000060003--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO =- VkStructureType 1000060004--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO =- VkStructureType 1000060005--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO =- VkStructureType 1000060006---- | bitpos = @3@-pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT ::- VkPipelineCreateFlagBits--pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =- VkPipelineCreateFlagBits 8---- | bitpos = @4@-pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::- VkPipelineCreateFlagBits--pattern VK_PIPELINE_CREATE_DISPATCH_BASE =- VkPipelineCreateFlagBits 16---- | Dependency is across devices------ bitpos = @2@-pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyFlagBits--pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyFlagBits 4--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO =- VkStructureType 1000060013--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO =- VkStructureType 1000060014---- | Allows using VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when binding memory to the image------ bitpos = @6@-pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT ::- VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =- VkImageCreateFlagBits 64---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDeviceGroups--- > ( VkInstance instance--- > , uint32_t* pPhysicalDeviceGroupCount--- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroups.html vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>-foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"- vkEnumeratePhysicalDeviceGroups ::- VkInstance -- ^ instance- ->- Ptr Word32 -- ^ pPhysicalDeviceGroupCount- -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDeviceGroups--- > ( VkInstance instance--- > , uint32_t* pPhysicalDeviceGroupCount--- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroups.html vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>-foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"- vkEnumeratePhysicalDeviceGroupsSafe ::- VkInstance -- ^ instance- ->- Ptr Word32 -- ^ pPhysicalDeviceGroupCount- -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties- -> IO VkResult--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES =- VkStructureType 1000070000--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO =- VkStructureType 1000070001---- | If set, heap allocations allocate multiple instances by default------ bitpos = @1@-pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapFlagBits--pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapFlagBits 2---- | > () vkGetImageMemoryRequirements2--- > ( VkDevice device--- > , const VkImageMemoryRequirementsInfo2* pInfo--- > , VkMemoryRequirements2* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2.html vkGetImageMemoryRequirements2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageMemoryRequirements2"- vkGetImageMemoryRequirements2 ::- VkDevice -- ^ device- ->- Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetImageMemoryRequirements2--- > ( VkDevice device--- > , const VkImageMemoryRequirementsInfo2* pInfo--- > , VkMemoryRequirements2* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2.html vkGetImageMemoryRequirements2 registry at www.khronos.org>-foreign import ccall safe "vkGetImageMemoryRequirements2"- vkGetImageMemoryRequirements2Safe ::- VkDevice -- ^ device- ->- Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetBufferMemoryRequirements2--- > ( VkDevice device--- > , const VkBufferMemoryRequirementsInfo2* pInfo--- > , VkMemoryRequirements2* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2.html vkGetBufferMemoryRequirements2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetBufferMemoryRequirements2"- vkGetBufferMemoryRequirements2 ::- VkDevice -- ^ device- ->- Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetBufferMemoryRequirements2--- > ( VkDevice device--- > , const VkBufferMemoryRequirementsInfo2* pInfo--- > , VkMemoryRequirements2* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2.html vkGetBufferMemoryRequirements2 registry at www.khronos.org>-foreign import ccall safe "vkGetBufferMemoryRequirements2"- vkGetBufferMemoryRequirements2Safe ::- VkDevice -- ^ device- ->- Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()---- | > () vkGetImageSparseMemoryRequirements2--- > ( VkDevice device--- > , const VkImageSparseMemoryRequirementsInfo2* pInfo--- > , uint32_t* pSparseMemoryRequirementCount--- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2.html vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"- vkGetImageSparseMemoryRequirements2 ::- VkDevice -- ^ device- ->- Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr Word32 -- ^ pSparseMemoryRequirementCount- -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements- -> IO ()---- | > () vkGetImageSparseMemoryRequirements2--- > ( VkDevice device--- > , const VkImageSparseMemoryRequirementsInfo2* pInfo--- > , uint32_t* pSparseMemoryRequirementCount--- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2.html vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>-foreign import ccall safe "vkGetImageSparseMemoryRequirements2"- vkGetImageSparseMemoryRequirements2Safe ::- VkDevice -- ^ device- ->- Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr Word32 -- ^ pSparseMemoryRequirementCount- -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements- -> IO ()--pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 =- VkStructureType 1000146000--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 =- VkStructureType 1000146001--pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2- :: VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 =- VkStructureType 1000146002--pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 =- VkStructureType 1000146003--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 =- VkStructureType 1000146004---- | > () vkGetPhysicalDeviceFeatures2--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceFeatures2* pFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2.html vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"- vkGetPhysicalDeviceFeatures2 ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures- -> IO ()---- | > () vkGetPhysicalDeviceFeatures2--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceFeatures2* pFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2.html vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceFeatures2"- vkGetPhysicalDeviceFeatures2Safe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures- -> IO ()---- | > () vkGetPhysicalDeviceProperties2--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceProperties2* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2.html vkGetPhysicalDeviceProperties2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"- vkGetPhysicalDeviceProperties2 ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties- -> IO ()---- | > () vkGetPhysicalDeviceProperties2--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceProperties2* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2.html vkGetPhysicalDeviceProperties2 registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceProperties2"- vkGetPhysicalDeviceProperties2Safe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties- -> IO ()---- | > () vkGetPhysicalDeviceFormatProperties2--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkFormatProperties2* pFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2.html vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"- vkGetPhysicalDeviceFormatProperties2 ::- VkPhysicalDevice -- ^ physicalDevice- -> VkFormat -- ^ format- -> Ptr VkFormatProperties2 -- ^ pFormatProperties- -> IO ()---- | > () vkGetPhysicalDeviceFormatProperties2--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkFormatProperties2* pFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2.html vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"- vkGetPhysicalDeviceFormatProperties2Safe ::- VkPhysicalDevice -- ^ physicalDevice- -> VkFormat -- ^ format- -> Ptr VkFormatProperties2 -- ^ pFormatProperties- -> IO ()---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties2--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo--- > , VkImageFormatProperties2* pImageFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2.html vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceImageFormatProperties2"- vkGetPhysicalDeviceImageFormatProperties2 ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo- ->- Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties2--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo--- > , VkImageFormatProperties2* pImageFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2.html vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceImageFormatProperties2"- vkGetPhysicalDeviceImageFormatProperties2Safe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo- ->- Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties- -> IO VkResult---- | > () vkGetPhysicalDeviceQueueFamilyProperties2--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pQueueFamilyPropertyCount--- > , VkQueueFamilyProperties2* pQueueFamilyProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceQueueFamilyProperties2"- vkGetPhysicalDeviceQueueFamilyProperties2 ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pQueueFamilyPropertyCount- -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties- -> IO ()---- | > () vkGetPhysicalDeviceQueueFamilyProperties2--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pQueueFamilyPropertyCount--- > , VkQueueFamilyProperties2* pQueueFamilyProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2.html vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceQueueFamilyProperties2"- vkGetPhysicalDeviceQueueFamilyProperties2Safe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pQueueFamilyPropertyCount- -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties- -> IO ()---- | > () vkGetPhysicalDeviceMemoryProperties2--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2.html vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"- vkGetPhysicalDeviceMemoryProperties2 ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties- -> IO ()---- | > () vkGetPhysicalDeviceMemoryProperties2--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2.html vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"- vkGetPhysicalDeviceMemoryProperties2Safe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties- -> IO ()---- | > () vkGetPhysicalDeviceSparseImageFormatProperties2--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo--- > , uint32_t* pPropertyCount--- > , VkSparseImageFormatProperties2* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceSparseImageFormatProperties2"- vkGetPhysicalDeviceSparseImageFormatProperties2 ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties- -> IO ()---- | > () vkGetPhysicalDeviceSparseImageFormatProperties2--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo--- > , uint32_t* pPropertyCount--- > , VkSparseImageFormatProperties2* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2.html vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceSparseImageFormatProperties2"- vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties- -> IO ()--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 =- VkStructureType 1000059000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 =- VkStructureType 1000059001--pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: VkStructureType--pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 =- VkStructureType 1000059002--pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 =- VkStructureType 1000059003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 =- VkStructureType 1000059004--pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 =- VkStructureType 1000059005--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 =- VkStructureType 1000059006--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ::- VkStructureType--pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 =- VkStructureType 1000059007--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2- = VkStructureType 1000059008---- | > () vkTrimCommandPool--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , VkCommandPoolTrimFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPool.html vkTrimCommandPool registry at www.khronos.org>-foreign import ccall unsafe "vkTrimCommandPool" vkTrimCommandPool- :: VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> VkCommandPoolTrimFlags -- ^ flags- -> IO ()---- | > () vkTrimCommandPool--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , VkCommandPoolTrimFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPool.html vkTrimCommandPool registry at www.khronos.org>-foreign import ccall safe "vkTrimCommandPool" vkTrimCommandPoolSafe- :: VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> VkCommandPoolTrimFlags -- ^ flags- -> IO ()--pattern VK_ERROR_OUT_OF_POOL_MEMORY :: VkResult--pattern VK_ERROR_OUT_OF_POOL_MEMORY = VkResult (-1000069000)---- | Format can be used as the source image of image transfer commands------ bitpos = @14@-pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ::- VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =- VkFormatFeatureFlagBits 16384---- | Format can be used as the destination image of image transfer commands------ bitpos = @15@-pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::- VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =- VkFormatFeatureFlagBits 32768---- | The 3D image can be viewed as a 2D or 2D array image------ bitpos = @5@-pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::- VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =- VkImageCreateFlagBits 32---- | bitpos = @7@-pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::- VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =- VkImageCreateFlagBits 128---- | bitpos = @8@-pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =- VkImageCreateFlagBits 256--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES- = VkStructureType 1000117000--pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO- = VkStructureType 1000117001--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO =- VkStructureType 1000117002--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO- = VkStructureType 1000117003--pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL- :: VkImageLayout--pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL- = VkImageLayout 1000117000--pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL- :: VkImageLayout--pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL- = VkImageLayout 1000117001--pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO =- VkStructureType 1000053000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES =- VkStructureType 1000053001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES =- VkStructureType 1000053002---- | bitpos = @1@-pattern VK_DEPENDENCY_VIEW_LOCAL_BIT :: VkDependencyFlagBits--pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyFlagBits 2--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES- = VkStructureType 1000120000---- | > () vkGetDeviceQueue2--- > ( VkDevice device--- > , const VkDeviceQueueInfo2* pQueueInfo--- > , VkQueue* pQueue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue2.html vkGetDeviceQueue2 registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceQueue2" vkGetDeviceQueue2- :: VkDevice -- ^ device- -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo- -> Ptr VkQueue -- ^ pQueue- -> IO ()---- | > () vkGetDeviceQueue2--- > ( VkDevice device--- > , const VkDeviceQueueInfo2* pQueueInfo--- > , VkQueue* pQueue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceQueue2.html vkGetDeviceQueue2 registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceQueue2" vkGetDeviceQueue2Safe- :: VkDevice -- ^ device- -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo- -> Ptr VkQueue -- ^ pQueue- -> IO ()--pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO =- VkStructureType 1000145000--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES- = VkStructureType 1000145001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES- = VkStructureType 1000145002--pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 =- VkStructureType 1000145003---- | Queues may support protected operations------ bitpos = @4@-pattern VK_QUEUE_PROTECTED_BIT :: VkQueueFlagBits--pattern VK_QUEUE_PROTECTED_BIT = VkQueueFlagBits 16---- | Queue is a protected-capable device queue------ bitpos = @0@-pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::- VkDeviceQueueCreateFlagBits--pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =- VkDeviceQueueCreateFlagBits 1---- | Memory is protected------ bitpos = @5@-pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::- VkMemoryPropertyFlagBits--pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =- VkMemoryPropertyFlagBits 32---- | Buffer requires protected memory------ bitpos = @3@-pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateFlagBits--pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateFlagBits 8---- | Image requires protected memory------ bitpos = @11@-pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateFlagBits 2048---- | Command buffers allocated from pool are protected command buffers------ bitpos = @2@-pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::- VkCommandPoolCreateFlagBits--pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =- VkCommandPoolCreateFlagBits 4---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSamplerYcbcrConversion--- > ( VkDevice device--- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSamplerYcbcrConversion* pYcbcrConversion--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversion.html vkCreateSamplerYcbcrConversion registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"- vkCreateSamplerYcbcrConversion ::- VkDevice -- ^ device- ->- Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSamplerYcbcrConversion--- > ( VkDevice device--- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSamplerYcbcrConversion* pYcbcrConversion--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversion.html vkCreateSamplerYcbcrConversion registry at www.khronos.org>-foreign import ccall safe "vkCreateSamplerYcbcrConversion"- vkCreateSamplerYcbcrConversionSafe ::- VkDevice -- ^ device- ->- Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion- -> IO VkResult---- | > () vkDestroySamplerYcbcrConversion--- > ( VkDevice device--- > , VkSamplerYcbcrConversion ycbcrConversion--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversion.html vkDestroySamplerYcbcrConversion registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"- vkDestroySamplerYcbcrConversion ::- VkDevice -- ^ device- ->- VkSamplerYcbcrConversion -- ^ ycbcrConversion- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroySamplerYcbcrConversion--- > ( VkDevice device--- > , VkSamplerYcbcrConversion ycbcrConversion--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversion.html vkDestroySamplerYcbcrConversion registry at www.khronos.org>-foreign import ccall safe "vkDestroySamplerYcbcrConversion"- vkDestroySamplerYcbcrConversionSafe ::- VkDevice -- ^ device- ->- VkSamplerYcbcrConversion -- ^ ycbcrConversion- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO =- VkStructureType 1000156000--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO =- VkStructureType 1000156001--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO =- VkStructureType 1000156002--pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO =- VkStructureType 1000156003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES- = VkStructureType 1000156004--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES- :: VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES- = VkStructureType 1000156005--pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType--pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION =- VkObjectType 1000156000--pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat--pattern VK_FORMAT_G8B8G8R8_422_UNORM = VkFormat 1000156000--pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat--pattern VK_FORMAT_B8G8R8G8_422_UNORM = VkFormat 1000156001--pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = VkFormat 1000156002--pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = VkFormat 1000156003--pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = VkFormat 1000156004--pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = VkFormat 1000156005--pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat--pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = VkFormat 1000156006--pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R10X6_UNORM_PACK16 = VkFormat 1000156007--pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat--pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = VkFormat 1000156008--pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat--pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 =- VkFormat 1000156009--pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 ::- VkFormat--pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 =- VkFormat 1000156010--pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 ::- VkFormat--pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 =- VkFormat 1000156011--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 =- VkFormat 1000156012--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 =- VkFormat 1000156013--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 =- VkFormat 1000156014--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 =- VkFormat 1000156015--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 =- VkFormat 1000156016--pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R12X4_UNORM_PACK16 = VkFormat 1000156017--pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat--pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = VkFormat 1000156018--pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat--pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 =- VkFormat 1000156019--pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 ::- VkFormat--pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 =- VkFormat 1000156020--pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 ::- VkFormat--pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 =- VkFormat 1000156021--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 =- VkFormat 1000156022--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 =- VkFormat 1000156023--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 =- VkFormat 1000156024--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 =- VkFormat 1000156025--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 ::- VkFormat--pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 =- VkFormat 1000156026--pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat--pattern VK_FORMAT_G16B16G16R16_422_UNORM = VkFormat 1000156027--pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat--pattern VK_FORMAT_B16G16R16G16_422_UNORM = VkFormat 1000156028--pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM =- VkFormat 1000156029--pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = VkFormat 1000156030--pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM =- VkFormat 1000156031--pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = VkFormat 1000156032--pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat--pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM =- VkFormat 1000156033---- | bitpos = @4@-pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectFlagBits 16---- | bitpos = @5@-pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectFlagBits 32---- | bitpos = @6@-pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits--pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectFlagBits 64---- | bitpos = @9@-pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits--pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateFlagBits 512---- | Format can have midpoint rather than cosited chroma samples------ bitpos = @17@-pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::- VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =- VkFormatFeatureFlagBits 131072---- | Format can be used with linear filtering whilst color conversion is enabled------ bitpos = @18@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT- :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT- = VkFormatFeatureFlagBits 262144---- | Format can have different chroma, min and mag filters------ bitpos = @19@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT- :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT- = VkFormatFeatureFlagBits 524288---- | bitpos = @20@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT- :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT- = VkFormatFeatureFlagBits 1048576---- | bitpos = @21@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT- :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT- = VkFormatFeatureFlagBits 2097152---- | Format supports disjoint planes------ bitpos = @22@-pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_DISJOINT_BIT =- VkFormatFeatureFlagBits 4194304---- | Format can have cosited rather than midpoint chroma samples------ bitpos = @23@-pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::- VkFormatFeatureFlagBits--pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =- VkFormatFeatureFlagBits 8388608---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorUpdateTemplate--- > ( VkDevice device--- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplate.html vkCreateDescriptorUpdateTemplate registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"- vkCreateDescriptorUpdateTemplate ::- VkDevice -- ^ device- ->- Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorUpdateTemplate--- > ( VkDevice device--- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplate.html vkCreateDescriptorUpdateTemplate registry at www.khronos.org>-foreign import ccall safe "vkCreateDescriptorUpdateTemplate"- vkCreateDescriptorUpdateTemplateSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate- -> IO VkResult---- | > () vkDestroyDescriptorUpdateTemplate--- > ( VkDevice device--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"- vkDestroyDescriptorUpdateTemplate ::- VkDevice -- ^ device- ->- VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroyDescriptorUpdateTemplate--- > ( VkDevice device--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>-foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"- vkDestroyDescriptorUpdateTemplateSafe ::- VkDevice -- ^ device- ->- VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkUpdateDescriptorSetWithTemplate--- > ( VkDevice device--- > , VkDescriptorSet descriptorSet--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , const void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplate.html vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>-foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"- vkUpdateDescriptorSetWithTemplate ::- VkDevice -- ^ device- ->- VkDescriptorSet -- ^ descriptorSet- -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr Void -- ^ pData- -> IO ()---- | > () vkUpdateDescriptorSetWithTemplate--- > ( VkDevice device--- > , VkDescriptorSet descriptorSet--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , const void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplate.html vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>-foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"- vkUpdateDescriptorSetWithTemplateSafe ::- VkDevice -- ^ device- ->- VkDescriptorSet -- ^ descriptorSet- -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr Void -- ^ pData- -> IO ()--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO =- VkStructureType 1000085000--pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: VkObjectType--pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE =- VkObjectType 1000085000---- | > () vkGetPhysicalDeviceExternalBufferProperties--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo--- > , VkExternalBufferProperties* pExternalBufferProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferProperties.html vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalBufferProperties"- vkGetPhysicalDeviceExternalBufferProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo- ->- Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties- -> IO ()---- | > () vkGetPhysicalDeviceExternalBufferProperties--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo--- > , VkExternalBufferProperties* pExternalBufferProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferProperties.html vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceExternalBufferProperties"- vkGetPhysicalDeviceExternalBufferPropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo- ->- Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties- -> IO ()--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO- = VkStructureType 1000071000--pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES =- VkStructureType 1000071001--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO =- VkStructureType 1000071002--pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES =- VkStructureType 1000071003--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES =- VkStructureType 1000071004--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO =- VkStructureType 1000072000--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO =- VkStructureType 1000072001--pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO =- VkStructureType 1000072002--pattern VK_ERROR_INVALID_EXTERNAL_HANDLE :: VkResult--pattern VK_ERROR_INVALID_EXTERNAL_HANDLE = VkResult (-1000072003)---- | > () vkGetPhysicalDeviceExternalFenceProperties--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo--- > , VkExternalFenceProperties* pExternalFenceProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFenceProperties.html vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalFenceProperties"- vkGetPhysicalDeviceExternalFenceProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo- ->- Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties- -> IO ()---- | > () vkGetPhysicalDeviceExternalFenceProperties--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo--- > , VkExternalFenceProperties* pExternalFenceProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFenceProperties.html vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceExternalFenceProperties"- vkGetPhysicalDeviceExternalFencePropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo- ->- Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties- -> IO ()--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO =- VkStructureType 1000112000--pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES =- VkStructureType 1000112001--pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO =- VkStructureType 1000113000--pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO =- VkStructureType 1000077000---- | > () vkGetPhysicalDeviceExternalSemaphoreProperties--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo--- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalSemaphoreProperties"- vkGetPhysicalDeviceExternalSemaphoreProperties ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo- ->- Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties- -> IO ()---- | > () vkGetPhysicalDeviceExternalSemaphoreProperties--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo--- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphoreProperties.html vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceExternalSemaphoreProperties"- vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo- ->- Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties- -> IO ()--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO =- VkStructureType 1000076000--pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES ::- VkStructureType--pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES =- VkStructureType 1000076001---- | > () vkGetDescriptorSetLayoutSupport--- > ( VkDevice device--- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- > , VkDescriptorSetLayoutSupport* pSupport--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupport.html vkGetDescriptorSetLayoutSupport registry at www.khronos.org>-foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"- vkGetDescriptorSetLayoutSupport ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkDescriptorSetLayoutSupport -- ^ pSupport- -> IO ()---- | > () vkGetDescriptorSetLayoutSupport--- > ( VkDevice device--- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- > , VkDescriptorSetLayoutSupport* pSupport--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupport.html vkGetDescriptorSetLayoutSupport registry at www.khronos.org>-foreign import ccall safe "vkGetDescriptorSetLayoutSupport"- vkGetDescriptorSetLayoutSupportSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkDescriptorSetLayoutSupport -- ^ pSupport- -> IO ()+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Core_1_1+ (-- * Vulkan 1.1 core API interface definitions.+ -- |+ --+ -- @api = vulkan@+ --+ -- @name = VK_VERSION_1_1@+ --+ -- @number = 1.1@+ --++ -- ** Device Initialization+ VkEnumerateInstanceVersion, pattern VkEnumerateInstanceVersion,+ HS_vkEnumerateInstanceVersion, PFN_vkEnumerateInstanceVersion,+ vkEnumerateInstanceVersion, vkEnumerateInstanceVersionSafe,+ module Graphics.Vulkan.Types.Enum.Result,+ -- ** Promoted from VK_KHR_relaxed_block_layout, which has no API+ --++ -- ** Promoted from VK_KHR_storage_buffer_storage_class, which has no API+ --++ -- ** Originally based on VK_KHR_subgroup (extension 94), but the actual enum block used was, incorrectly, that of extension 95+ module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.BaseTypes,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags,+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,+ -- ** Promoted from VK_KHR_bind_memory2+ module Graphics.Vulkan.Types.Struct.Bind, -- > #include "vk_platform.h"+ VkBindBufferMemory2,+ pattern VkBindBufferMemory2, HS_vkBindBufferMemory2,+ PFN_vkBindBufferMemory2, vkBindBufferMemory2,+ vkBindBufferMemory2Safe, VkBindImageMemory2,+ pattern VkBindImageMemory2, HS_vkBindImageMemory2,+ PFN_vkBindImageMemory2, vkBindImageMemory2, vkBindImageMemory2Safe,+ module Graphics.Vulkan.Types.Handles,+ pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,+ pattern VK_IMAGE_CREATE_ALIAS_BIT,+ -- ** Promoted from VK_KHR_16bit_storage+ module Graphics.Vulkan.Types.Bitmasks,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,+ -- ** Promoted from VK_KHR_dedicated_allocation+ module Graphics.Vulkan.Types.Struct.Memory,+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,+ pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,+ -- ** Promoted from VK_KHR_device_group+ module Graphics.Vulkan.Types.Struct.Clear,+ module Graphics.Vulkan.Types.Struct.Command,+ module Graphics.Vulkan.Types.Enum.Command,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Enum.Memory,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag,+ module Graphics.Vulkan.Types.Enum.Pipeline,+ module Graphics.Vulkan.Types.Enum.Query,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Struct.RenderPass,+ module Graphics.Vulkan.Types.Struct.Sparse,+ module Graphics.Vulkan.Types.Enum.Sparse,+ module Graphics.Vulkan.Types.Struct.SubmitInfo,+ -- > #include "vk_platform.h"+ VkGetDeviceGroupPeerMemoryFeatures,+ pattern VkGetDeviceGroupPeerMemoryFeatures,+ HS_vkGetDeviceGroupPeerMemoryFeatures,+ PFN_vkGetDeviceGroupPeerMemoryFeatures,+ vkGetDeviceGroupPeerMemoryFeatures,+ vkGetDeviceGroupPeerMemoryFeaturesSafe, VkCmdSetDeviceMask,+ pattern VkCmdSetDeviceMask, HS_vkCmdSetDeviceMask,+ PFN_vkCmdSetDeviceMask, vkCmdSetDeviceMask, vkCmdSetDeviceMaskSafe,+ VkCmdDispatchBase, pattern VkCmdDispatchBase, HS_vkCmdDispatchBase,+ PFN_vkCmdDispatchBase, vkCmdDispatchBase, vkCmdDispatchBaseSafe,+ pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,+ pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,+ pattern VK_PIPELINE_CREATE_DISPATCH_BASE,+ pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,+ -- ** Promoted from VK_KHR_device_group + VK_KHR_bind_memory2+ --+ -- |+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,+ pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,+ -- ** Promoted from VK_KHR_device_group_creation+ --+ -- |+ -- > #include "vk_platform.h"+ VkEnumeratePhysicalDeviceGroups,+ pattern VkEnumeratePhysicalDeviceGroups,+ HS_vkEnumeratePhysicalDeviceGroups,+ PFN_vkEnumeratePhysicalDeviceGroups,+ vkEnumeratePhysicalDeviceGroups,+ vkEnumeratePhysicalDeviceGroupsSafe,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,+ pattern VK_MAX_DEVICE_GROUP_SIZE,+ pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,+ -- ** Promoted from VK_KHR_get_memory_requirements2+ module Graphics.Vulkan.Types.Struct.Buffer,+ -- > #include "vk_platform.h"+ VkGetImageMemoryRequirements2,+ pattern VkGetImageMemoryRequirements2,+ HS_vkGetImageMemoryRequirements2,+ PFN_vkGetImageMemoryRequirements2, vkGetImageMemoryRequirements2,+ vkGetImageMemoryRequirements2Safe, VkGetBufferMemoryRequirements2,+ pattern VkGetBufferMemoryRequirements2,+ HS_vkGetBufferMemoryRequirements2,+ PFN_vkGetBufferMemoryRequirements2, vkGetBufferMemoryRequirements2,+ vkGetBufferMemoryRequirements2Safe,+ VkGetImageSparseMemoryRequirements2,+ pattern VkGetImageSparseMemoryRequirements2,+ HS_vkGetImageSparseMemoryRequirements2,+ PFN_vkGetImageSparseMemoryRequirements2,+ vkGetImageSparseMemoryRequirements2,+ vkGetImageSparseMemoryRequirements2Safe,+ pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,+ pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,+ pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,+ pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,+ pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,+ -- ** Promoted from VK_KHR_get_physical_device_properties2+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Struct.FormatProperties,+ module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,+ module Graphics.Vulkan.Types.Enum.Queue,+ -- > #include "vk_platform.h"+ VkGetPhysicalDeviceFeatures2, pattern VkGetPhysicalDeviceFeatures2,+ HS_vkGetPhysicalDeviceFeatures2, PFN_vkGetPhysicalDeviceFeatures2,+ vkGetPhysicalDeviceFeatures2, vkGetPhysicalDeviceFeatures2Safe,+ VkGetPhysicalDeviceProperties2,+ pattern VkGetPhysicalDeviceProperties2,+ HS_vkGetPhysicalDeviceProperties2,+ PFN_vkGetPhysicalDeviceProperties2, vkGetPhysicalDeviceProperties2,+ vkGetPhysicalDeviceProperties2Safe,+ VkGetPhysicalDeviceFormatProperties2,+ pattern VkGetPhysicalDeviceFormatProperties2,+ HS_vkGetPhysicalDeviceFormatProperties2,+ PFN_vkGetPhysicalDeviceFormatProperties2,+ vkGetPhysicalDeviceFormatProperties2,+ vkGetPhysicalDeviceFormatProperties2Safe,+ VkGetPhysicalDeviceImageFormatProperties2,+ pattern VkGetPhysicalDeviceImageFormatProperties2,+ HS_vkGetPhysicalDeviceImageFormatProperties2,+ PFN_vkGetPhysicalDeviceImageFormatProperties2,+ vkGetPhysicalDeviceImageFormatProperties2,+ vkGetPhysicalDeviceImageFormatProperties2Safe,+ VkGetPhysicalDeviceQueueFamilyProperties2,+ pattern VkGetPhysicalDeviceQueueFamilyProperties2,+ HS_vkGetPhysicalDeviceQueueFamilyProperties2,+ PFN_vkGetPhysicalDeviceQueueFamilyProperties2,+ vkGetPhysicalDeviceQueueFamilyProperties2,+ vkGetPhysicalDeviceQueueFamilyProperties2Safe,+ VkGetPhysicalDeviceMemoryProperties2,+ pattern VkGetPhysicalDeviceMemoryProperties2,+ HS_vkGetPhysicalDeviceMemoryProperties2,+ PFN_vkGetPhysicalDeviceMemoryProperties2,+ vkGetPhysicalDeviceMemoryProperties2,+ vkGetPhysicalDeviceMemoryProperties2Safe,+ VkGetPhysicalDeviceSparseImageFormatProperties2,+ pattern VkGetPhysicalDeviceSparseImageFormatProperties2,+ HS_vkGetPhysicalDeviceSparseImageFormatProperties2,+ PFN_vkGetPhysicalDeviceSparseImageFormatProperties2,+ vkGetPhysicalDeviceSparseImageFormatProperties2,+ vkGetPhysicalDeviceSparseImageFormatProperties2Safe,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,+ pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,+ -- ** Promoted from VK_KHR_maintenance1+ --+ -- |+ -- > #include "vk_platform.h"+ VkTrimCommandPool, pattern VkTrimCommandPool, HS_vkTrimCommandPool,+ PFN_vkTrimCommandPool, vkTrimCommandPool, vkTrimCommandPoolSafe,+ pattern VK_ERROR_OUT_OF_POOL_MEMORY,+ pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,+ pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT,+ pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,+ -- ** Promoted from VK_KHR_maintenance2+ module Graphics.Vulkan.Types.Enum.AccessFlags,+ module Graphics.Vulkan.Types.Struct.Attachment,+ module Graphics.Vulkan.Types.Enum.Attachment,+ module Graphics.Vulkan.Types.Struct.ComponentMapping,+ module Graphics.Vulkan.Types.Enum.ComponentSwizzle,+ module Graphics.Vulkan.Types.Enum.DependencyFlags,+ module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.PointClippingBehavior,+ module Graphics.Vulkan.Types.Struct.Subpass,+ module Graphics.Vulkan.Types.Enum.Subpass,+ module Graphics.Vulkan.Types.Enum.TessellationDomainOrigin,+ -- > #include "vk_platform.h"+ pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,+ pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,+ pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,+ pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,+ -- ** Promoted from VK_KHR_multiview+ --+ -- |+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,+ pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,+ -- ** Promoted from VK_KHR_variable_pointers+ --+ -- |+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES,+ -- ** Originally based on VK_KHR_protected_memory (extension 146), which was never published; thus the mystifying large value= numbers below. These are not aliased since they weren't actually promoted from an extension.+ module Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo,+ -- > #include "vk_platform.h"+ VkGetDeviceQueue2, pattern VkGetDeviceQueue2, HS_vkGetDeviceQueue2,+ PFN_vkGetDeviceQueue2, vkGetDeviceQueue2, vkGetDeviceQueue2Safe,+ pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,+ pattern VK_QUEUE_PROTECTED_BIT,+ pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT,+ pattern VK_MEMORY_PROPERTY_PROTECTED_BIT,+ pattern VK_BUFFER_CREATE_PROTECTED_BIT,+ pattern VK_IMAGE_CREATE_PROTECTED_BIT,+ pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT,+ -- ** Promoted from VK_KHR_sampler_ycbcr_conversion+ module Graphics.Vulkan.Types.Enum.BorderColor,+ module Graphics.Vulkan.Types.Enum.ChromaLocation,+ module Graphics.Vulkan.Types.Enum.CompareOp,+ module Graphics.Vulkan.Types.Enum.Filter,+ module Graphics.Vulkan.Types.Enum.Sampler,+ module Graphics.Vulkan.Types.Struct.Sampler,+ -- > #include "vk_platform.h"+ VkCreateSamplerYcbcrConversion,+ pattern VkCreateSamplerYcbcrConversion,+ HS_vkCreateSamplerYcbcrConversion,+ PFN_vkCreateSamplerYcbcrConversion, vkCreateSamplerYcbcrConversion,+ vkCreateSamplerYcbcrConversionSafe,+ VkDestroySamplerYcbcrConversion,+ pattern VkDestroySamplerYcbcrConversion,+ HS_vkDestroySamplerYcbcrConversion,+ PFN_vkDestroySamplerYcbcrConversion,+ vkDestroySamplerYcbcrConversion,+ vkDestroySamplerYcbcrConversionSafe,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope,+ module Graphics.Vulkan.Types.Funcpointers,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,+ pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,+ pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,+ pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,+ pattern VK_FORMAT_G8B8G8R8_422_UNORM,+ pattern VK_FORMAT_B8G8R8G8_422_UNORM,+ pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,+ pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,+ pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,+ pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,+ pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,+ pattern VK_FORMAT_R10X6_UNORM_PACK16,+ pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,+ pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,+ pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,+ pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,+ pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,+ pattern VK_FORMAT_R12X4_UNORM_PACK16,+ pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,+ pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,+ pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,+ pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,+ pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,+ pattern VK_FORMAT_G16B16G16R16_422_UNORM,+ pattern VK_FORMAT_B16G16R16G16_422_UNORM,+ pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,+ pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,+ pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,+ pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,+ pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,+ pattern VK_IMAGE_ASPECT_PLANE_0_BIT,+ pattern VK_IMAGE_ASPECT_PLANE_1_BIT,+ pattern VK_IMAGE_ASPECT_PLANE_2_BIT,+ pattern VK_IMAGE_CREATE_DISJOINT_BIT,+ pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,+ pattern VK_FORMAT_FEATURE_DISJOINT_BIT,+ pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,+ -- ** Promoted from VK_KHR_descriptor_update_template+ module Graphics.Vulkan.Types.Enum.Descriptor,+ module Graphics.Vulkan.Types.Struct.Descriptor,+ -- > #include "vk_platform.h"+ VkCreateDescriptorUpdateTemplate,+ pattern VkCreateDescriptorUpdateTemplate,+ HS_vkCreateDescriptorUpdateTemplate,+ PFN_vkCreateDescriptorUpdateTemplate,+ vkCreateDescriptorUpdateTemplate,+ vkCreateDescriptorUpdateTemplateSafe,+ VkDestroyDescriptorUpdateTemplate,+ pattern VkDestroyDescriptorUpdateTemplate,+ HS_vkDestroyDescriptorUpdateTemplate,+ PFN_vkDestroyDescriptorUpdateTemplate,+ vkDestroyDescriptorUpdateTemplate,+ vkDestroyDescriptorUpdateTemplateSafe,+ VkUpdateDescriptorSetWithTemplate,+ pattern VkUpdateDescriptorSetWithTemplate,+ HS_vkUpdateDescriptorSetWithTemplate,+ PFN_vkUpdateDescriptorSetWithTemplate,+ vkUpdateDescriptorSetWithTemplate,+ vkUpdateDescriptorSetWithTemplateSafe,+ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,+ pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,+ -- ** Promoted from VK_KHR_external_memory_capabilities+ module Graphics.Vulkan.Types.Enum.Buffer,+ module Graphics.Vulkan.Types.Struct.External,+ module Graphics.Vulkan.Types.Enum.External,+ -- > #include "vk_platform.h"+ VkGetPhysicalDeviceExternalBufferProperties,+ pattern VkGetPhysicalDeviceExternalBufferProperties,+ HS_vkGetPhysicalDeviceExternalBufferProperties,+ PFN_vkGetPhysicalDeviceExternalBufferProperties,+ vkGetPhysicalDeviceExternalBufferProperties,+ vkGetPhysicalDeviceExternalBufferPropertiesSafe,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,+ pattern VK_LUID_SIZE, -- ** Promoted from VK_KHR_external_memory+ module Graphics.Vulkan.Types.Struct.Export,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,+ pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,+ pattern VK_QUEUE_FAMILY_EXTERNAL,+ -- ** Promoted from VK_KHR_external_fence_capabilities+ --+ -- |+ -- > #include "vk_platform.h"+ VkGetPhysicalDeviceExternalFenceProperties,+ pattern VkGetPhysicalDeviceExternalFenceProperties,+ HS_vkGetPhysicalDeviceExternalFenceProperties,+ PFN_vkGetPhysicalDeviceExternalFenceProperties,+ vkGetPhysicalDeviceExternalFenceProperties,+ vkGetPhysicalDeviceExternalFencePropertiesSafe,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,+ -- ** Promoted from VK_KHR_external_fence+ module Graphics.Vulkan.Types.Enum.Fence,+ module Graphics.Vulkan.Types.Struct.Fence,+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,+ -- ** Promoted from VK_KHR_external_semaphore+ module Graphics.Vulkan.Types.Struct.Semaphore,+ module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,+ -- ** Promoted from VK_KHR_external_semaphore_capabilities+ --+ -- |+ -- > #include "vk_platform.h"+ VkGetPhysicalDeviceExternalSemaphoreProperties,+ pattern VkGetPhysicalDeviceExternalSemaphoreProperties,+ HS_vkGetPhysicalDeviceExternalSemaphoreProperties,+ PFN_vkGetPhysicalDeviceExternalSemaphoreProperties,+ vkGetPhysicalDeviceExternalSemaphoreProperties,+ vkGetPhysicalDeviceExternalSemaphorePropertiesSafe,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,+ -- ** Promoted from VK_KHR_maintenance3+ --+ -- |+ -- > #include "vk_platform.h"+ VkGetDescriptorSetLayoutSupport,+ pattern VkGetDescriptorSetLayoutSupport,+ HS_vkGetDescriptorSetLayoutSupport,+ PFN_vkGetDescriptorSetLayoutSupport,+ vkGetDescriptorSetLayoutSupport,+ vkGetDescriptorSetLayoutSupportSafe,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,+ -- ** Promoted from VK_KHR_shader_draw_parameters, with a feature support query added+ --+ -- |+ -- > #include "vk_platform.h"+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_LUID_SIZE,+ pattern VK_MAX_DEVICE_GROUP_SIZE,+ pattern VK_QUEUE_FAMILY_EXTERNAL)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Bitmasks+import Graphics.Vulkan.Types.Enum.AccessFlags+import Graphics.Vulkan.Types.Enum.Attachment+import Graphics.Vulkan.Types.Enum.BorderColor+import Graphics.Vulkan.Types.Enum.Buffer+import Graphics.Vulkan.Types.Enum.ChromaLocation+import Graphics.Vulkan.Types.Enum.Command+import Graphics.Vulkan.Types.Enum.CompareOp+import Graphics.Vulkan.Types.Enum.ComponentSwizzle+import Graphics.Vulkan.Types.Enum.DependencyFlags+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Memory+import Graphics.Vulkan.Types.Enum.Object (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.PointClippingBehavior+import Graphics.Vulkan.Types.Enum.Query+import Graphics.Vulkan.Types.Enum.Queue+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.Sparse+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags+import Graphics.Vulkan.Types.Enum.Subpass+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin+import Graphics.Vulkan.Types.Funcpointers+import Graphics.Vulkan.Types.Handles+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Attachment+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Buffer+import Graphics.Vulkan.Types.Struct.Clear+import Graphics.Vulkan.Types.Struct.Command+import Graphics.Vulkan.Types.Struct.ComponentMapping+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Export+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.Fence+import Graphics.Vulkan.Types.Struct.FormatProperties+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo+import Graphics.Vulkan.Types.Struct.QueueFamilyProperties+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.RenderPass+import Graphics.Vulkan.Types.Struct.Sampler+import Graphics.Vulkan.Types.Struct.Semaphore+import Graphics.Vulkan.Types.Struct.Sparse+import Graphics.Vulkan.Types.Struct.SubmitInfo+import Graphics.Vulkan.Types.Struct.Subpass+import System.IO.Unsafe (unsafeDupablePerformIO)++pattern VkEnumerateInstanceVersion :: CString++pattern VkEnumerateInstanceVersion <-+ (is_VkEnumerateInstanceVersion -> True)+ where VkEnumerateInstanceVersion = _VkEnumerateInstanceVersion++{-# INLINE _VkEnumerateInstanceVersion #-}++_VkEnumerateInstanceVersion :: CString+_VkEnumerateInstanceVersion = Ptr "vkEnumerateInstanceVersion\NUL"#++{-# INLINE is_VkEnumerateInstanceVersion #-}++is_VkEnumerateInstanceVersion :: CString -> Bool+is_VkEnumerateInstanceVersion+ = (EQ ==) . cmpCStrings _VkEnumerateInstanceVersion++type VkEnumerateInstanceVersion = "vkEnumerateInstanceVersion"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- > ( uint32_t* pApiVersion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEnumerateInstanceVersion"+ vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- > ( uint32_t* pApiVersion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateInstanceVersionSafe@ and @vkEnumerateInstanceVersion@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance+--+-- or less efficient:+--+-- > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion+--+vkEnumerateInstanceVersion :: Ptr Word32 -- ^ pApiVersion+ -> IO VkResult+vkEnumerateInstanceVersion+ = unsafeDupablePerformIO (vkGetProc @VkEnumerateInstanceVersion)++{-# NOINLINE vkEnumerateInstanceVersion #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- > ( uint32_t* pApiVersion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumerateInstanceVersion"+ vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- > ( uint32_t* pApiVersion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumerateInstanceVersionSafe@ and @vkEnumerateInstanceVersion@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumerateInstanceVersion <- vkGetInstanceProc @VkEnumerateInstanceVersion vkInstance+--+-- or less efficient:+--+-- > myEnumerateInstanceVersion <- vkGetProc @VkEnumerateInstanceVersion+--+vkEnumerateInstanceVersionSafe :: Ptr Word32 -- ^ pApiVersion+ -> IO VkResult+vkEnumerateInstanceVersionSafe = vkEnumerateInstanceVersion++{-# INLINE vkEnumerateInstanceVersionSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- > VkResult vkEnumerateInstanceVersion+-- > ( uint32_t* pApiVersion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumerateInstanceVersion vkEnumerateInstanceVersion registry at www.khronos.org>+type HS_vkEnumerateInstanceVersion = Ptr Word32 -- ^ pApiVersion+ -> IO VkResult++type PFN_vkEnumerateInstanceVersion =+ FunPtr HS_vkEnumerateInstanceVersion++foreign import ccall "dynamic" unwrapVkEnumerateInstanceVersion ::+ PFN_vkEnumerateInstanceVersion -> HS_vkEnumerateInstanceVersion++instance VulkanProc "vkEnumerateInstanceVersion" where+ type VkProcType "vkEnumerateInstanceVersion" =+ HS_vkEnumerateInstanceVersion+ vkProcSymbol = _VkEnumerateInstanceVersion++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumerateInstanceVersion++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES =+ VkStructureType 1000094000++pattern VkBindBufferMemory2 :: CString++pattern VkBindBufferMemory2 <- (is_VkBindBufferMemory2 -> True)+ where VkBindBufferMemory2 = _VkBindBufferMemory2++{-# INLINE _VkBindBufferMemory2 #-}++_VkBindBufferMemory2 :: CString+_VkBindBufferMemory2 = Ptr "vkBindBufferMemory2\NUL"#++{-# INLINE is_VkBindBufferMemory2 #-}++is_VkBindBufferMemory2 :: CString -> Bool+is_VkBindBufferMemory2 = (EQ ==) . cmpCStrings _VkBindBufferMemory2++type VkBindBufferMemory2 = "vkBindBufferMemory2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindBufferMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkBindBufferMemory2"+ vkBindBufferMemory2 ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindBufferMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindBufferMemory2Safe@ and @vkBindBufferMemory2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2+--+vkBindBufferMemory2 ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+ -> IO VkResult+vkBindBufferMemory2+ = unsafeDupablePerformIO (vkGetProc @VkBindBufferMemory2)++{-# NOINLINE vkBindBufferMemory2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindBufferMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkBindBufferMemory2"+ vkBindBufferMemory2Safe ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindBufferMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindBufferMemory2Safe@ and @vkBindBufferMemory2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindBufferMemory2 <- vkGetDeviceProc @VkBindBufferMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindBufferMemory2 <- vkGetProc @VkBindBufferMemory2+--+vkBindBufferMemory2Safe ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+ -> IO VkResult+vkBindBufferMemory2Safe = vkBindBufferMemory2++{-# INLINE vkBindBufferMemory2Safe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindBufferMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindBufferMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2 vkBindBufferMemory2 registry at www.khronos.org>+type HS_vkBindBufferMemory2 =+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+ -> IO VkResult++type PFN_vkBindBufferMemory2 = FunPtr HS_vkBindBufferMemory2++foreign import ccall "dynamic" unwrapVkBindBufferMemory2 ::+ PFN_vkBindBufferMemory2 -> HS_vkBindBufferMemory2++instance VulkanProc "vkBindBufferMemory2" where+ type VkProcType "vkBindBufferMemory2" = HS_vkBindBufferMemory2+ vkProcSymbol = _VkBindBufferMemory2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBindBufferMemory2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkBindImageMemory2 :: CString++pattern VkBindImageMemory2 <- (is_VkBindImageMemory2 -> True)+ where VkBindImageMemory2 = _VkBindImageMemory2++{-# INLINE _VkBindImageMemory2 #-}++_VkBindImageMemory2 :: CString+_VkBindImageMemory2 = Ptr "vkBindImageMemory2\NUL"#++{-# INLINE is_VkBindImageMemory2 #-}++is_VkBindImageMemory2 :: CString -> Bool+is_VkBindImageMemory2 = (EQ ==) . cmpCStrings _VkBindImageMemory2++type VkBindImageMemory2 = "vkBindImageMemory2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindImageMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkBindImageMemory2" vkBindImageMemory2+ :: VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindImageMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindImageMemory2Safe@ and @vkBindImageMemory2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2+--+vkBindImageMemory2 ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+ -> IO VkResult+vkBindImageMemory2+ = unsafeDupablePerformIO (vkGetProc @VkBindImageMemory2)++{-# NOINLINE vkBindImageMemory2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindImageMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkBindImageMemory2"+ vkBindImageMemory2Safe ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindImageMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkBindImageMemory2Safe@ and @vkBindImageMemory2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myBindImageMemory2 <- vkGetDeviceProc @VkBindImageMemory2 vkDevice+--+-- or less efficient:+--+-- > myBindImageMemory2 <- vkGetProc @VkBindImageMemory2+--+vkBindImageMemory2Safe ::+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+ -> IO VkResult+vkBindImageMemory2Safe = vkBindImageMemory2++{-# INLINE vkBindImageMemory2Safe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkBindImageMemory2+-- > ( VkDevice device+-- > , uint32_t bindInfoCount+-- > , const VkBindImageMemoryInfo* pBindInfos+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2 vkBindImageMemory2 registry at www.khronos.org>+type HS_vkBindImageMemory2 =+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+ -> IO VkResult++type PFN_vkBindImageMemory2 = FunPtr HS_vkBindImageMemory2++foreign import ccall "dynamic" unwrapVkBindImageMemory2 ::+ PFN_vkBindImageMemory2 -> HS_vkBindImageMemory2++instance VulkanProc "vkBindImageMemory2" where+ type VkProcType "vkBindImageMemory2" = HS_vkBindImageMemory2+ vkProcSymbol = _VkBindImageMemory2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBindImageMemory2++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO =+ VkStructureType 1000157000++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO =+ VkStructureType 1000157001++-- | bitpos = @10@+pattern VK_IMAGE_CREATE_ALIAS_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateFlagBits 1024++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES =+ VkStructureType 1000083000++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS =+ VkStructureType 1000127000++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO =+ VkStructureType 1000127001++pattern VkGetDeviceGroupPeerMemoryFeatures :: CString++pattern VkGetDeviceGroupPeerMemoryFeatures <-+ (is_VkGetDeviceGroupPeerMemoryFeatures -> True)+ where VkGetDeviceGroupPeerMemoryFeatures+ = _VkGetDeviceGroupPeerMemoryFeatures++{-# INLINE _VkGetDeviceGroupPeerMemoryFeatures #-}++_VkGetDeviceGroupPeerMemoryFeatures :: CString+_VkGetDeviceGroupPeerMemoryFeatures+ = Ptr "vkGetDeviceGroupPeerMemoryFeatures\NUL"#++{-# INLINE is_VkGetDeviceGroupPeerMemoryFeatures #-}++is_VkGetDeviceGroupPeerMemoryFeatures :: CString -> Bool+is_VkGetDeviceGroupPeerMemoryFeatures+ = (EQ ==) . cmpCStrings _VkGetDeviceGroupPeerMemoryFeatures++type VkGetDeviceGroupPeerMemoryFeatures =+ "vkGetDeviceGroupPeerMemoryFeatures"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- > ( VkDevice device+-- > , uint32_t heapIndex+-- > , uint32_t localDeviceIndex+-- > , uint32_t remoteDeviceIndex+-- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"+ vkGetDeviceGroupPeerMemoryFeatures ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ heapIndex+ -> Word32 -- ^ localDeviceIndex+ -> Word32 -- ^ remoteDeviceIndex+ -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+ -> IO ()++#else+-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- > ( VkDevice device+-- > , uint32_t heapIndex+-- > , uint32_t localDeviceIndex+-- > , uint32_t remoteDeviceIndex+-- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceGroupPeerMemoryFeaturesSafe@ and @vkGetDeviceGroupPeerMemoryFeatures@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures+--+vkGetDeviceGroupPeerMemoryFeatures ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ heapIndex+ ->+ Word32 -- ^ localDeviceIndex+ -> Word32 -- ^ remoteDeviceIndex+ -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+ -> IO ()+vkGetDeviceGroupPeerMemoryFeatures+ = unsafeDupablePerformIO+ (vkGetProc @VkGetDeviceGroupPeerMemoryFeatures)++{-# NOINLINE vkGetDeviceGroupPeerMemoryFeatures #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- > ( VkDevice device+-- > , uint32_t heapIndex+-- > , uint32_t localDeviceIndex+-- > , uint32_t remoteDeviceIndex+-- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"+ vkGetDeviceGroupPeerMemoryFeaturesSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ heapIndex+ -> Word32 -- ^ localDeviceIndex+ -> Word32 -- ^ remoteDeviceIndex+ -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+ -> IO ()++#else+-- |+-- > void vkGetDeviceGroupPeerMemoryFeatures+-- > ( VkDevice device+-- > , uint32_t heapIndex+-- > , uint32_t localDeviceIndex+-- > , uint32_t remoteDeviceIndex+-- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceGroupPeerMemoryFeaturesSafe@ and @vkGetDeviceGroupPeerMemoryFeatures@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetDeviceProc @VkGetDeviceGroupPeerMemoryFeatures vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPeerMemoryFeatures <- vkGetProc @VkGetDeviceGroupPeerMemoryFeatures+--+vkGetDeviceGroupPeerMemoryFeaturesSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ heapIndex+ ->+ Word32 -- ^ localDeviceIndex+ -> Word32 -- ^ remoteDeviceIndex+ -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+ -> IO ()+vkGetDeviceGroupPeerMemoryFeaturesSafe+ = vkGetDeviceGroupPeerMemoryFeatures++{-# INLINE vkGetDeviceGroupPeerMemoryFeaturesSafe #-}+#endif++-- | > void vkGetDeviceGroupPeerMemoryFeatures+-- > ( VkDevice device+-- > , uint32_t heapIndex+-- > , uint32_t localDeviceIndex+-- > , uint32_t remoteDeviceIndex+-- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures registry at www.khronos.org>+type HS_vkGetDeviceGroupPeerMemoryFeatures =+ VkDevice -- ^ device+ ->+ Word32 -- ^ heapIndex+ -> Word32 -- ^ localDeviceIndex+ -> Word32 -- ^ remoteDeviceIndex+ -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures+ -> IO ()++type PFN_vkGetDeviceGroupPeerMemoryFeatures =+ FunPtr HS_vkGetDeviceGroupPeerMemoryFeatures++foreign import ccall "dynamic"+ unwrapVkGetDeviceGroupPeerMemoryFeatures ::+ PFN_vkGetDeviceGroupPeerMemoryFeatures ->+ HS_vkGetDeviceGroupPeerMemoryFeatures++instance VulkanProc "vkGetDeviceGroupPeerMemoryFeatures" where+ type VkProcType "vkGetDeviceGroupPeerMemoryFeatures" =+ HS_vkGetDeviceGroupPeerMemoryFeatures+ vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeatures++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceGroupPeerMemoryFeatures++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetDeviceMask :: CString++pattern VkCmdSetDeviceMask <- (is_VkCmdSetDeviceMask -> True)+ where VkCmdSetDeviceMask = _VkCmdSetDeviceMask++{-# INLINE _VkCmdSetDeviceMask #-}++_VkCmdSetDeviceMask :: CString+_VkCmdSetDeviceMask = Ptr "vkCmdSetDeviceMask\NUL"#++{-# INLINE is_VkCmdSetDeviceMask #-}++is_VkCmdSetDeviceMask :: CString -> Bool+is_VkCmdSetDeviceMask = (EQ ==) . cmpCStrings _VkCmdSetDeviceMask++type VkCmdSetDeviceMask = "vkCmdSetDeviceMask"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t deviceMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdSetDeviceMask" vkCmdSetDeviceMask+ :: VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ deviceMask+ -> IO ()++#else+-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t deviceMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetDeviceMaskSafe@ and @vkCmdSetDeviceMask@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask+--+vkCmdSetDeviceMask :: VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ deviceMask+ -> IO ()+vkCmdSetDeviceMask+ = unsafeDupablePerformIO (vkGetProc @VkCmdSetDeviceMask)++{-# NOINLINE vkCmdSetDeviceMask #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t deviceMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdSetDeviceMask"+ vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ deviceMask+ -> IO ()++#else+-- |+-- Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t deviceMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdSetDeviceMaskSafe@ and @vkCmdSetDeviceMask@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdSetDeviceMask <- vkGetInstanceProc @VkCmdSetDeviceMask vkInstance+--+-- or less efficient:+--+-- > myCmdSetDeviceMask <- vkGetProc @VkCmdSetDeviceMask+--+vkCmdSetDeviceMaskSafe :: VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ deviceMask+ -> IO ()+vkCmdSetDeviceMaskSafe = vkCmdSetDeviceMask++{-# INLINE vkCmdSetDeviceMaskSafe #-}+#endif++-- | Queues: 'graphics', 'compute', 'transfer'.+--+-- Renderpass: @both@+--+-- > void vkCmdSetDeviceMask+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t deviceMask+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMask vkCmdSetDeviceMask registry at www.khronos.org>+type HS_vkCmdSetDeviceMask = VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ deviceMask+ -> IO ()++type PFN_vkCmdSetDeviceMask = FunPtr HS_vkCmdSetDeviceMask++foreign import ccall "dynamic" unwrapVkCmdSetDeviceMask ::+ PFN_vkCmdSetDeviceMask -> HS_vkCmdSetDeviceMask++instance VulkanProc "vkCmdSetDeviceMask" where+ type VkProcType "vkCmdSetDeviceMask" = HS_vkCmdSetDeviceMask+ vkProcSymbol = _VkCmdSetDeviceMask++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetDeviceMask++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDispatchBase :: CString++pattern VkCmdDispatchBase <- (is_VkCmdDispatchBase -> True)+ where VkCmdDispatchBase = _VkCmdDispatchBase++{-# INLINE _VkCmdDispatchBase #-}++_VkCmdDispatchBase :: CString+_VkCmdDispatchBase = Ptr "vkCmdDispatchBase\NUL"#++{-# INLINE is_VkCmdDispatchBase #-}++is_VkCmdDispatchBase :: CString -> Bool+is_VkCmdDispatchBase = (EQ ==) . cmpCStrings _VkCmdDispatchBase++type VkCmdDispatchBase = "vkCmdDispatchBase"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t baseGroupX+-- > , uint32_t baseGroupY+-- > , uint32_t baseGroupZ+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCmdDispatchBase" vkCmdDispatchBase+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ baseGroupX+ -> Word32 -- ^ baseGroupY+ -> Word32 -- ^ baseGroupZ+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++#else+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t baseGroupX+-- > , uint32_t baseGroupY+-- > , uint32_t baseGroupZ+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDispatchBaseSafe@ and @vkCmdDispatchBase@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase+--+vkCmdDispatchBase ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ baseGroupX+ -> Word32 -- ^ baseGroupY+ -> Word32 -- ^ baseGroupZ+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()+vkCmdDispatchBase+ = unsafeDupablePerformIO (vkGetProc @VkCmdDispatchBase)++{-# NOINLINE vkCmdDispatchBase #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t baseGroupX+-- > , uint32_t baseGroupY+-- > , uint32_t baseGroupZ+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCmdDispatchBase" vkCmdDispatchBaseSafe+ ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ baseGroupX+ -> Word32 -- ^ baseGroupY+ -> Word32 -- ^ baseGroupZ+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++#else+-- |+-- Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t baseGroupX+-- > , uint32_t baseGroupY+-- > , uint32_t baseGroupZ+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCmdDispatchBaseSafe@ and @vkCmdDispatchBase@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCmdDispatchBase <- vkGetInstanceProc @VkCmdDispatchBase vkInstance+--+-- or less efficient:+--+-- > myCmdDispatchBase <- vkGetProc @VkCmdDispatchBase+--+vkCmdDispatchBaseSafe ::+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ baseGroupX+ -> Word32 -- ^ baseGroupY+ -> Word32 -- ^ baseGroupZ+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()+vkCmdDispatchBaseSafe = vkCmdDispatchBase++{-# INLINE vkCmdDispatchBaseSafe #-}+#endif++-- | Queues: 'compute'.+--+-- Renderpass: @outside@+--+-- > void vkCmdDispatchBase+-- > ( VkCommandBuffer commandBuffer+-- > , uint32_t baseGroupX+-- > , uint32_t baseGroupY+-- > , uint32_t baseGroupZ+-- > , uint32_t groupCountX+-- > , uint32_t groupCountY+-- > , uint32_t groupCountZ+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBase vkCmdDispatchBase registry at www.khronos.org>+type HS_vkCmdDispatchBase =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ baseGroupX+ -> Word32 -- ^ baseGroupY+ -> Word32 -- ^ baseGroupZ+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++type PFN_vkCmdDispatchBase = FunPtr HS_vkCmdDispatchBase++foreign import ccall "dynamic" unwrapVkCmdDispatchBase ::+ PFN_vkCmdDispatchBase -> HS_vkCmdDispatchBase++instance VulkanProc "vkCmdDispatchBase" where+ type VkProcType "vkCmdDispatchBase" = HS_vkCmdDispatchBase+ vkProcSymbol = _VkCmdDispatchBase++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDispatchBase++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO =+ VkStructureType 1000060000++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO =+ VkStructureType 1000060003++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO =+ VkStructureType 1000060004++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO =+ VkStructureType 1000060005++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO =+ VkStructureType 1000060006++-- | bitpos = @3@+pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT ::+ VkPipelineCreateFlagBits++pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT =+ VkPipelineCreateFlagBits 8++-- | bitpos = @4@+pattern VK_PIPELINE_CREATE_DISPATCH_BASE ::+ VkPipelineCreateFlagBits++pattern VK_PIPELINE_CREATE_DISPATCH_BASE =+ VkPipelineCreateFlagBits 16++-- | Dependency is across devices+--+-- bitpos = @2@+pattern VK_DEPENDENCY_DEVICE_GROUP_BIT :: VkDependencyFlagBits++pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyFlagBits 4++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO =+ VkStructureType 1000060013++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO =+ VkStructureType 1000060014++-- | Allows using VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when binding memory to the image+--+-- bitpos = @6@+pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT ::+ VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT =+ VkImageCreateFlagBits 64++pattern VkEnumeratePhysicalDeviceGroups :: CString++pattern VkEnumeratePhysicalDeviceGroups <-+ (is_VkEnumeratePhysicalDeviceGroups -> True)+ where VkEnumeratePhysicalDeviceGroups+ = _VkEnumeratePhysicalDeviceGroups++{-# INLINE _VkEnumeratePhysicalDeviceGroups #-}++_VkEnumeratePhysicalDeviceGroups :: CString+_VkEnumeratePhysicalDeviceGroups+ = Ptr "vkEnumeratePhysicalDeviceGroups\NUL"#++{-# INLINE is_VkEnumeratePhysicalDeviceGroups #-}++is_VkEnumeratePhysicalDeviceGroups :: CString -> Bool+is_VkEnumeratePhysicalDeviceGroups+ = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDeviceGroups++type VkEnumeratePhysicalDeviceGroups =+ "vkEnumeratePhysicalDeviceGroups"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceGroupCount+-- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"+ vkEnumeratePhysicalDeviceGroups ::+ VkInstance -- ^ instance+ ->+ Ptr Word32 -- ^ pPhysicalDeviceGroupCount+ -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceGroupCount+-- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumeratePhysicalDeviceGroupsSafe@ and @vkEnumeratePhysicalDeviceGroups@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups+--+vkEnumeratePhysicalDeviceGroups ::+ VkInstance -- ^ instance+ ->+ Ptr Word32 -- ^ pPhysicalDeviceGroupCount+ -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+ -> IO VkResult+vkEnumeratePhysicalDeviceGroups+ = unsafeDupablePerformIO+ (vkGetProc @VkEnumeratePhysicalDeviceGroups)++{-# NOINLINE vkEnumeratePhysicalDeviceGroups #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceGroupCount+-- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"+ vkEnumeratePhysicalDeviceGroupsSafe ::+ VkInstance -- ^ instance+ ->+ Ptr Word32 -- ^ pPhysicalDeviceGroupCount+ -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceGroupCount+-- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkEnumeratePhysicalDeviceGroupsSafe@ and @vkEnumeratePhysicalDeviceGroups@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetInstanceProc @VkEnumeratePhysicalDeviceGroups vkInstance+--+-- or less efficient:+--+-- > myEnumeratePhysicalDeviceGroups <- vkGetProc @VkEnumeratePhysicalDeviceGroups+--+vkEnumeratePhysicalDeviceGroupsSafe ::+ VkInstance -- ^ instance+ ->+ Ptr Word32 -- ^ pPhysicalDeviceGroupCount+ ->+ Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+ -> IO VkResult+vkEnumeratePhysicalDeviceGroupsSafe+ = vkEnumeratePhysicalDeviceGroups++{-# INLINE vkEnumeratePhysicalDeviceGroupsSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkEnumeratePhysicalDeviceGroups+-- > ( VkInstance instance+-- > , uint32_t* pPhysicalDeviceGroupCount+-- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups registry at www.khronos.org>+type HS_vkEnumeratePhysicalDeviceGroups =+ VkInstance -- ^ instance+ ->+ Ptr Word32 -- ^ pPhysicalDeviceGroupCount+ -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+ -> IO VkResult++type PFN_vkEnumeratePhysicalDeviceGroups =+ FunPtr HS_vkEnumeratePhysicalDeviceGroups++foreign import ccall "dynamic"+ unwrapVkEnumeratePhysicalDeviceGroups ::+ PFN_vkEnumeratePhysicalDeviceGroups ->+ HS_vkEnumeratePhysicalDeviceGroups++instance VulkanProc "vkEnumeratePhysicalDeviceGroups" where+ type VkProcType "vkEnumeratePhysicalDeviceGroups" =+ HS_vkEnumeratePhysicalDeviceGroups+ vkProcSymbol = _VkEnumeratePhysicalDeviceGroups++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumeratePhysicalDeviceGroups++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES =+ VkStructureType 1000070000++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO =+ VkStructureType 1000070001++-- | If set, heap allocations allocate multiple instances by default+--+-- bitpos = @1@+pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT :: VkMemoryHeapFlagBits++pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = VkMemoryHeapFlagBits 2++pattern VkGetImageMemoryRequirements2 :: CString++pattern VkGetImageMemoryRequirements2 <-+ (is_VkGetImageMemoryRequirements2 -> True)+ where VkGetImageMemoryRequirements2+ = _VkGetImageMemoryRequirements2++{-# INLINE _VkGetImageMemoryRequirements2 #-}++_VkGetImageMemoryRequirements2 :: CString+_VkGetImageMemoryRequirements2+ = Ptr "vkGetImageMemoryRequirements2\NUL"#++{-# INLINE is_VkGetImageMemoryRequirements2 #-}++is_VkGetImageMemoryRequirements2 :: CString -> Bool+is_VkGetImageMemoryRequirements2+ = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements2++type VkGetImageMemoryRequirements2 =+ "vkGetImageMemoryRequirements2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetImageMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetImageMemoryRequirements2"+ vkGetImageMemoryRequirements2 ::+ VkDevice -- ^ device+ ->+ Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()++#else+-- |+-- > void vkGetImageMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageMemoryRequirements2Safe@ and @vkGetImageMemoryRequirements2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2+--+vkGetImageMemoryRequirements2 ::+ VkDevice -- ^ device+ ->+ Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()+vkGetImageMemoryRequirements2+ = unsafeDupablePerformIO (vkGetProc @VkGetImageMemoryRequirements2)++{-# NOINLINE vkGetImageMemoryRequirements2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetImageMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetImageMemoryRequirements2"+ vkGetImageMemoryRequirements2Safe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()++#else+-- |+-- > void vkGetImageMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageMemoryRequirements2Safe@ and @vkGetImageMemoryRequirements2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageMemoryRequirements2 <- vkGetDeviceProc @VkGetImageMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageMemoryRequirements2 <- vkGetProc @VkGetImageMemoryRequirements2+--+vkGetImageMemoryRequirements2Safe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()+vkGetImageMemoryRequirements2Safe = vkGetImageMemoryRequirements2++{-# INLINE vkGetImageMemoryRequirements2Safe #-}+#endif++-- | > void vkGetImageMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2 registry at www.khronos.org>+type HS_vkGetImageMemoryRequirements2 =+ VkDevice -- ^ device+ ->+ Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()++type PFN_vkGetImageMemoryRequirements2 =+ FunPtr HS_vkGetImageMemoryRequirements2++foreign import ccall "dynamic" unwrapVkGetImageMemoryRequirements2+ ::+ PFN_vkGetImageMemoryRequirements2 ->+ HS_vkGetImageMemoryRequirements2++instance VulkanProc "vkGetImageMemoryRequirements2" where+ type VkProcType "vkGetImageMemoryRequirements2" =+ HS_vkGetImageMemoryRequirements2+ vkProcSymbol = _VkGetImageMemoryRequirements2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageMemoryRequirements2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetBufferMemoryRequirements2 :: CString++pattern VkGetBufferMemoryRequirements2 <-+ (is_VkGetBufferMemoryRequirements2 -> True)+ where VkGetBufferMemoryRequirements2+ = _VkGetBufferMemoryRequirements2++{-# INLINE _VkGetBufferMemoryRequirements2 #-}++_VkGetBufferMemoryRequirements2 :: CString+_VkGetBufferMemoryRequirements2+ = Ptr "vkGetBufferMemoryRequirements2\NUL"#++{-# INLINE is_VkGetBufferMemoryRequirements2 #-}++is_VkGetBufferMemoryRequirements2 :: CString -> Bool+is_VkGetBufferMemoryRequirements2+ = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements2++type VkGetBufferMemoryRequirements2 =+ "vkGetBufferMemoryRequirements2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetBufferMemoryRequirements2+-- > ( VkDevice device+-- > , const VkBufferMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetBufferMemoryRequirements2"+ vkGetBufferMemoryRequirements2 ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()++#else+-- |+-- > void vkGetBufferMemoryRequirements2+-- > ( VkDevice device+-- > , const VkBufferMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetBufferMemoryRequirements2Safe@ and @vkGetBufferMemoryRequirements2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2+--+vkGetBufferMemoryRequirements2 ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()+vkGetBufferMemoryRequirements2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetBufferMemoryRequirements2)++{-# NOINLINE vkGetBufferMemoryRequirements2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetBufferMemoryRequirements2+-- > ( VkDevice device+-- > , const VkBufferMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetBufferMemoryRequirements2"+ vkGetBufferMemoryRequirements2Safe ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()++#else+-- |+-- > void vkGetBufferMemoryRequirements2+-- > ( VkDevice device+-- > , const VkBufferMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetBufferMemoryRequirements2Safe@ and @vkGetBufferMemoryRequirements2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetBufferMemoryRequirements2 <- vkGetDeviceProc @VkGetBufferMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetBufferMemoryRequirements2 <- vkGetProc @VkGetBufferMemoryRequirements2+--+vkGetBufferMemoryRequirements2Safe ::+ VkDevice -- ^ device+ ->+ Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()+vkGetBufferMemoryRequirements2Safe = vkGetBufferMemoryRequirements2++{-# INLINE vkGetBufferMemoryRequirements2Safe #-}+#endif++-- | > void vkGetBufferMemoryRequirements2+-- > ( VkDevice device+-- > , const VkBufferMemoryRequirementsInfo2* pInfo+-- > , VkMemoryRequirements2* pMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2 registry at www.khronos.org>+type HS_vkGetBufferMemoryRequirements2 =+ VkDevice -- ^ device+ ->+ Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO ()++type PFN_vkGetBufferMemoryRequirements2 =+ FunPtr HS_vkGetBufferMemoryRequirements2++foreign import ccall "dynamic" unwrapVkGetBufferMemoryRequirements2+ ::+ PFN_vkGetBufferMemoryRequirements2 ->+ HS_vkGetBufferMemoryRequirements2++instance VulkanProc "vkGetBufferMemoryRequirements2" where+ type VkProcType "vkGetBufferMemoryRequirements2" =+ HS_vkGetBufferMemoryRequirements2+ vkProcSymbol = _VkGetBufferMemoryRequirements2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetBufferMemoryRequirements2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetImageSparseMemoryRequirements2 :: CString++pattern VkGetImageSparseMemoryRequirements2 <-+ (is_VkGetImageSparseMemoryRequirements2 -> True)+ where VkGetImageSparseMemoryRequirements2+ = _VkGetImageSparseMemoryRequirements2++{-# INLINE _VkGetImageSparseMemoryRequirements2 #-}++_VkGetImageSparseMemoryRequirements2 :: CString+_VkGetImageSparseMemoryRequirements2+ = Ptr "vkGetImageSparseMemoryRequirements2\NUL"#++{-# INLINE is_VkGetImageSparseMemoryRequirements2 #-}++is_VkGetImageSparseMemoryRequirements2 :: CString -> Bool+is_VkGetImageSparseMemoryRequirements2+ = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements2++type VkGetImageSparseMemoryRequirements2 =+ "vkGetImageSparseMemoryRequirements2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetImageSparseMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"+ vkGetImageSparseMemoryRequirements2 ::+ VkDevice -- ^ device+ ->+ Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+ -> IO ()++#else+-- |+-- > void vkGetImageSparseMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageSparseMemoryRequirements2Safe@ and @vkGetImageSparseMemoryRequirements2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2+--+vkGetImageSparseMemoryRequirements2 ::+ VkDevice -- ^ device+ ->+ Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+ -> IO ()+vkGetImageSparseMemoryRequirements2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetImageSparseMemoryRequirements2)++{-# NOINLINE vkGetImageSparseMemoryRequirements2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetImageSparseMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetImageSparseMemoryRequirements2"+ vkGetImageSparseMemoryRequirements2Safe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+ -> IO ()++#else+-- |+-- > void vkGetImageSparseMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetImageSparseMemoryRequirements2Safe@ and @vkGetImageSparseMemoryRequirements2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetDeviceProc @VkGetImageSparseMemoryRequirements2 vkDevice+--+-- or less efficient:+--+-- > myGetImageSparseMemoryRequirements2 <- vkGetProc @VkGetImageSparseMemoryRequirements2+--+vkGetImageSparseMemoryRequirements2Safe ::+ VkDevice -- ^ device+ ->+ Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ ->+ Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+ -> IO ()+vkGetImageSparseMemoryRequirements2Safe+ = vkGetImageSparseMemoryRequirements2++{-# INLINE vkGetImageSparseMemoryRequirements2Safe #-}+#endif++-- | > void vkGetImageSparseMemoryRequirements2+-- > ( VkDevice device+-- > , const VkImageSparseMemoryRequirementsInfo2* pInfo+-- > , uint32_t* pSparseMemoryRequirementCount+-- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2 registry at www.khronos.org>+type HS_vkGetImageSparseMemoryRequirements2 =+ VkDevice -- ^ device+ ->+ Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+ -> IO ()++type PFN_vkGetImageSparseMemoryRequirements2 =+ FunPtr HS_vkGetImageSparseMemoryRequirements2++foreign import ccall "dynamic"+ unwrapVkGetImageSparseMemoryRequirements2 ::+ PFN_vkGetImageSparseMemoryRequirements2 ->+ HS_vkGetImageSparseMemoryRequirements2++instance VulkanProc "vkGetImageSparseMemoryRequirements2" where+ type VkProcType "vkGetImageSparseMemoryRequirements2" =+ HS_vkGetImageSparseMemoryRequirements2+ vkProcSymbol = _VkGetImageSparseMemoryRequirements2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageSparseMemoryRequirements2++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 =+ VkStructureType 1000146000++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 =+ VkStructureType 1000146001++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 =+ VkStructureType 1000146002++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 =+ VkStructureType 1000146003++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 =+ VkStructureType 1000146004++pattern VkGetPhysicalDeviceFeatures2 :: CString++pattern VkGetPhysicalDeviceFeatures2 <-+ (is_VkGetPhysicalDeviceFeatures2 -> True)+ where VkGetPhysicalDeviceFeatures2 = _VkGetPhysicalDeviceFeatures2++{-# INLINE _VkGetPhysicalDeviceFeatures2 #-}++_VkGetPhysicalDeviceFeatures2 :: CString+_VkGetPhysicalDeviceFeatures2+ = Ptr "vkGetPhysicalDeviceFeatures2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceFeatures2 #-}++is_VkGetPhysicalDeviceFeatures2 :: CString -> Bool+is_VkGetPhysicalDeviceFeatures2+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures2++type VkGetPhysicalDeviceFeatures2 = "vkGetPhysicalDeviceFeatures2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceFeatures2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures2* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"+ vkGetPhysicalDeviceFeatures2 ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceFeatures2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures2* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFeatures2Safe@ and @vkGetPhysicalDeviceFeatures2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2+--+vkGetPhysicalDeviceFeatures2 ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+ -> IO ()+vkGetPhysicalDeviceFeatures2+ = unsafeDupablePerformIO (vkGetProc @VkGetPhysicalDeviceFeatures2)++{-# NOINLINE vkGetPhysicalDeviceFeatures2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceFeatures2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures2* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceFeatures2"+ vkGetPhysicalDeviceFeatures2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceFeatures2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures2* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFeatures2Safe@ and @vkGetPhysicalDeviceFeatures2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetInstanceProc @VkGetPhysicalDeviceFeatures2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFeatures2 <- vkGetProc @VkGetPhysicalDeviceFeatures2+--+vkGetPhysicalDeviceFeatures2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+ -> IO ()+vkGetPhysicalDeviceFeatures2Safe = vkGetPhysicalDeviceFeatures2++{-# INLINE vkGetPhysicalDeviceFeatures2Safe #-}+#endif++-- | > void vkGetPhysicalDeviceFeatures2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceFeatures2* pFeatures+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFeatures2 =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+ -> IO ()++type PFN_vkGetPhysicalDeviceFeatures2 =+ FunPtr HS_vkGetPhysicalDeviceFeatures2++foreign import ccall "dynamic" unwrapVkGetPhysicalDeviceFeatures2+ ::+ PFN_vkGetPhysicalDeviceFeatures2 -> HS_vkGetPhysicalDeviceFeatures2++instance VulkanProc "vkGetPhysicalDeviceFeatures2" where+ type VkProcType "vkGetPhysicalDeviceFeatures2" =+ HS_vkGetPhysicalDeviceFeatures2+ vkProcSymbol = _VkGetPhysicalDeviceFeatures2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFeatures2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceProperties2 :: CString++pattern VkGetPhysicalDeviceProperties2 <-+ (is_VkGetPhysicalDeviceProperties2 -> True)+ where VkGetPhysicalDeviceProperties2+ = _VkGetPhysicalDeviceProperties2++{-# INLINE _VkGetPhysicalDeviceProperties2 #-}++_VkGetPhysicalDeviceProperties2 :: CString+_VkGetPhysicalDeviceProperties2+ = Ptr "vkGetPhysicalDeviceProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceProperties2 #-}++is_VkGetPhysicalDeviceProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceProperties2+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties2++type VkGetPhysicalDeviceProperties2 =+ "vkGetPhysicalDeviceProperties2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"+ vkGetPhysicalDeviceProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceProperties2Safe@ and @vkGetPhysicalDeviceProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2+--+vkGetPhysicalDeviceProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+ -> IO ()+vkGetPhysicalDeviceProperties2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceProperties2)++{-# NOINLINE vkGetPhysicalDeviceProperties2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceProperties2"+ vkGetPhysicalDeviceProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceProperties2Safe@ and @vkGetPhysicalDeviceProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceProperties2 <- vkGetProc @VkGetPhysicalDeviceProperties2+--+vkGetPhysicalDeviceProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+ -> IO ()+vkGetPhysicalDeviceProperties2Safe = vkGetPhysicalDeviceProperties2++{-# INLINE vkGetPhysicalDeviceProperties2Safe #-}+#endif++-- | > void vkGetPhysicalDeviceProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceProperties2 =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceProperties2 =+ FunPtr HS_vkGetPhysicalDeviceProperties2++foreign import ccall "dynamic" unwrapVkGetPhysicalDeviceProperties2+ ::+ PFN_vkGetPhysicalDeviceProperties2 ->+ HS_vkGetPhysicalDeviceProperties2++instance VulkanProc "vkGetPhysicalDeviceProperties2" where+ type VkProcType "vkGetPhysicalDeviceProperties2" =+ HS_vkGetPhysicalDeviceProperties2+ vkProcSymbol = _VkGetPhysicalDeviceProperties2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceProperties2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceFormatProperties2 :: CString++pattern VkGetPhysicalDeviceFormatProperties2 <-+ (is_VkGetPhysicalDeviceFormatProperties2 -> True)+ where VkGetPhysicalDeviceFormatProperties2+ = _VkGetPhysicalDeviceFormatProperties2++{-# INLINE _VkGetPhysicalDeviceFormatProperties2 #-}++_VkGetPhysicalDeviceFormatProperties2 :: CString+_VkGetPhysicalDeviceFormatProperties2+ = Ptr "vkGetPhysicalDeviceFormatProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceFormatProperties2 #-}++is_VkGetPhysicalDeviceFormatProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceFormatProperties2+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties2++type VkGetPhysicalDeviceFormatProperties2 =+ "vkGetPhysicalDeviceFormatProperties2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties2* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"+ vkGetPhysicalDeviceFormatProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties2 -- ^ pFormatProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties2* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFormatProperties2Safe@ and @vkGetPhysicalDeviceFormatProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2+--+vkGetPhysicalDeviceFormatProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ -> Ptr VkFormatProperties2 -- ^ pFormatProperties+ -> IO ()+vkGetPhysicalDeviceFormatProperties2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceFormatProperties2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties2* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"+ vkGetPhysicalDeviceFormatProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties2 -- ^ pFormatProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties2* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceFormatProperties2Safe@ and @vkGetPhysicalDeviceFormatProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceFormatProperties2+--+vkGetPhysicalDeviceFormatProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ -> Ptr VkFormatProperties2 -- ^ pFormatProperties+ -> IO ()+vkGetPhysicalDeviceFormatProperties2Safe+ = vkGetPhysicalDeviceFormatProperties2++{-# INLINE vkGetPhysicalDeviceFormatProperties2Safe #-}+#endif++-- | > void vkGetPhysicalDeviceFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkFormat format+-- > , VkFormatProperties2* pFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFormatProperties2 =+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties2 -- ^ pFormatProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceFormatProperties2 =+ FunPtr HS_vkGetPhysicalDeviceFormatProperties2++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceFormatProperties2 ::+ PFN_vkGetPhysicalDeviceFormatProperties2 ->+ HS_vkGetPhysicalDeviceFormatProperties2++instance VulkanProc "vkGetPhysicalDeviceFormatProperties2" where+ type VkProcType "vkGetPhysicalDeviceFormatProperties2" =+ HS_vkGetPhysicalDeviceFormatProperties2+ vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFormatProperties2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceImageFormatProperties2 :: CString++pattern VkGetPhysicalDeviceImageFormatProperties2 <-+ (is_VkGetPhysicalDeviceImageFormatProperties2 -> True)+ where VkGetPhysicalDeviceImageFormatProperties2+ = _VkGetPhysicalDeviceImageFormatProperties2++{-# INLINE _VkGetPhysicalDeviceImageFormatProperties2 #-}++_VkGetPhysicalDeviceImageFormatProperties2 :: CString+_VkGetPhysicalDeviceImageFormatProperties2+ = Ptr "vkGetPhysicalDeviceImageFormatProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties2 #-}++is_VkGetPhysicalDeviceImageFormatProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceImageFormatProperties2+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceImageFormatProperties2++type VkGetPhysicalDeviceImageFormatProperties2 =+ "vkGetPhysicalDeviceImageFormatProperties2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- > , VkImageFormatProperties2* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceImageFormatProperties2"+ vkGetPhysicalDeviceImageFormatProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+ ->+ Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- > , VkImageFormatProperties2* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceImageFormatProperties2Safe@ and @vkGetPhysicalDeviceImageFormatProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2+--+vkGetPhysicalDeviceImageFormatProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+ ->+ Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+ -> IO VkResult+vkGetPhysicalDeviceImageFormatProperties2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceImageFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceImageFormatProperties2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- > , VkImageFormatProperties2* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceImageFormatProperties2"+ vkGetPhysicalDeviceImageFormatProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+ ->+ Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- > , VkImageFormatProperties2* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceImageFormatProperties2Safe@ and @vkGetPhysicalDeviceImageFormatProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceImageFormatProperties2+--+vkGetPhysicalDeviceImageFormatProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+ ->+ Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+ -> IO VkResult+vkGetPhysicalDeviceImageFormatProperties2Safe+ = vkGetPhysicalDeviceImageFormatProperties2++{-# INLINE vkGetPhysicalDeviceImageFormatProperties2Safe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.+--+-- > VkResult vkGetPhysicalDeviceImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo+-- > , VkImageFormatProperties2* pImageFormatProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceImageFormatProperties2 =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+ ->+ Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+ -> IO VkResult++type PFN_vkGetPhysicalDeviceImageFormatProperties2 =+ FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceImageFormatProperties2 ::+ PFN_vkGetPhysicalDeviceImageFormatProperties2 ->+ HS_vkGetPhysicalDeviceImageFormatProperties2++instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties2"+ where+ type VkProcType "vkGetPhysicalDeviceImageFormatProperties2" =+ HS_vkGetPhysicalDeviceImageFormatProperties2+ vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceImageFormatProperties2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceQueueFamilyProperties2 :: CString++pattern VkGetPhysicalDeviceQueueFamilyProperties2 <-+ (is_VkGetPhysicalDeviceQueueFamilyProperties2 -> True)+ where VkGetPhysicalDeviceQueueFamilyProperties2+ = _VkGetPhysicalDeviceQueueFamilyProperties2++{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties2 #-}++_VkGetPhysicalDeviceQueueFamilyProperties2 :: CString+_VkGetPhysicalDeviceQueueFamilyProperties2+ = Ptr "vkGetPhysicalDeviceQueueFamilyProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties2 #-}++is_VkGetPhysicalDeviceQueueFamilyProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceQueueFamilyProperties2+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties2++type VkGetPhysicalDeviceQueueFamilyProperties2 =+ "vkGetPhysicalDeviceQueueFamilyProperties2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties2* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceQueueFamilyProperties2"+ vkGetPhysicalDeviceQueueFamilyProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties2* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ and @vkGetPhysicalDeviceQueueFamilyProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2+--+vkGetPhysicalDeviceQueueFamilyProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+ -> IO ()+vkGetPhysicalDeviceQueueFamilyProperties2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2)++{-# NOINLINE vkGetPhysicalDeviceQueueFamilyProperties2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties2* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceQueueFamilyProperties2"+ vkGetPhysicalDeviceQueueFamilyProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceQueueFamilyProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties2* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceQueueFamilyProperties2Safe@ and @vkGetPhysicalDeviceQueueFamilyProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceQueueFamilyProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceQueueFamilyProperties2 <- vkGetProc @VkGetPhysicalDeviceQueueFamilyProperties2+--+vkGetPhysicalDeviceQueueFamilyProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+ -> IO ()+vkGetPhysicalDeviceQueueFamilyProperties2Safe+ = vkGetPhysicalDeviceQueueFamilyProperties2++{-# INLINE vkGetPhysicalDeviceQueueFamilyProperties2Safe #-}+#endif++-- | > void vkGetPhysicalDeviceQueueFamilyProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pQueueFamilyPropertyCount+-- > , VkQueueFamilyProperties2* pQueueFamilyProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceQueueFamilyProperties2 =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceQueueFamilyProperties2 =+ FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceQueueFamilyProperties2 ::+ PFN_vkGetPhysicalDeviceQueueFamilyProperties2 ->+ HS_vkGetPhysicalDeviceQueueFamilyProperties2++instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2"+ where+ type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties2" =+ HS_vkGetPhysicalDeviceQueueFamilyProperties2+ vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceQueueFamilyProperties2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceMemoryProperties2 :: CString++pattern VkGetPhysicalDeviceMemoryProperties2 <-+ (is_VkGetPhysicalDeviceMemoryProperties2 -> True)+ where VkGetPhysicalDeviceMemoryProperties2+ = _VkGetPhysicalDeviceMemoryProperties2++{-# INLINE _VkGetPhysicalDeviceMemoryProperties2 #-}++_VkGetPhysicalDeviceMemoryProperties2 :: CString+_VkGetPhysicalDeviceMemoryProperties2+ = Ptr "vkGetPhysicalDeviceMemoryProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceMemoryProperties2 #-}++is_VkGetPhysicalDeviceMemoryProperties2 :: CString -> Bool+is_VkGetPhysicalDeviceMemoryProperties2+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties2++type VkGetPhysicalDeviceMemoryProperties2 =+ "vkGetPhysicalDeviceMemoryProperties2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"+ vkGetPhysicalDeviceMemoryProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceMemoryProperties2Safe@ and @vkGetPhysicalDeviceMemoryProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2+--+vkGetPhysicalDeviceMemoryProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+ -> IO ()+vkGetPhysicalDeviceMemoryProperties2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceMemoryProperties2)++{-# NOINLINE vkGetPhysicalDeviceMemoryProperties2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"+ vkGetPhysicalDeviceMemoryProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceMemoryProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceMemoryProperties2Safe@ and @vkGetPhysicalDeviceMemoryProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceMemoryProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMemoryProperties2 <- vkGetProc @VkGetPhysicalDeviceMemoryProperties2+--+vkGetPhysicalDeviceMemoryProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+ -> IO ()+vkGetPhysicalDeviceMemoryProperties2Safe+ = vkGetPhysicalDeviceMemoryProperties2++{-# INLINE vkGetPhysicalDeviceMemoryProperties2Safe #-}+#endif++-- | > void vkGetPhysicalDeviceMemoryProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMemoryProperties2 =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceMemoryProperties2 =+ FunPtr HS_vkGetPhysicalDeviceMemoryProperties2++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceMemoryProperties2 ::+ PFN_vkGetPhysicalDeviceMemoryProperties2 ->+ HS_vkGetPhysicalDeviceMemoryProperties2++instance VulkanProc "vkGetPhysicalDeviceMemoryProperties2" where+ type VkProcType "vkGetPhysicalDeviceMemoryProperties2" =+ HS_vkGetPhysicalDeviceMemoryProperties2+ vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMemoryProperties2++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString++pattern VkGetPhysicalDeviceSparseImageFormatProperties2 <-+ (is_VkGetPhysicalDeviceSparseImageFormatProperties2 -> True)+ where VkGetPhysicalDeviceSparseImageFormatProperties2+ = _VkGetPhysicalDeviceSparseImageFormatProperties2++{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties2 #-}++_VkGetPhysicalDeviceSparseImageFormatProperties2 :: CString+_VkGetPhysicalDeviceSparseImageFormatProperties2+ = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties2\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties2 #-}++is_VkGetPhysicalDeviceSparseImageFormatProperties2 ::+ CString -> Bool+is_VkGetPhysicalDeviceSparseImageFormatProperties2+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties2++type VkGetPhysicalDeviceSparseImageFormatProperties2 =+ "vkGetPhysicalDeviceSparseImageFormatProperties2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceSparseImageFormatProperties2"+ vkGetPhysicalDeviceSparseImageFormatProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2+--+vkGetPhysicalDeviceSparseImageFormatProperties2 ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkSparseImageFormatProperties2 -- ^ pProperties+ -> IO ()+vkGetPhysicalDeviceSparseImageFormatProperties2+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2)++{-# NOINLINE vkGetPhysicalDeviceSparseImageFormatProperties2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceSparseImageFormatProperties2"+ vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSparseImageFormatProperties2Safe@ and @vkGetPhysicalDeviceSparseImageFormatProperties2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetInstanceProc @VkGetPhysicalDeviceSparseImageFormatProperties2 vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSparseImageFormatProperties2 <- vkGetProc @VkGetPhysicalDeviceSparseImageFormatProperties2+--+vkGetPhysicalDeviceSparseImageFormatProperties2Safe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkSparseImageFormatProperties2 -- ^ pProperties+ ->+ IO ()+vkGetPhysicalDeviceSparseImageFormatProperties2Safe+ = vkGetPhysicalDeviceSparseImageFormatProperties2++{-# INLINE vkGetPhysicalDeviceSparseImageFormatProperties2Safe #-}+#endif++-- | > void vkGetPhysicalDeviceSparseImageFormatProperties2+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo+-- > , uint32_t* pPropertyCount+-- > , VkSparseImageFormatProperties2* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSparseImageFormatProperties2 =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 =+ FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSparseImageFormatProperties2 ::+ PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 ->+ HS_vkGetPhysicalDeviceSparseImageFormatProperties2++instance VulkanProc+ "vkGetPhysicalDeviceSparseImageFormatProperties2"+ where+ type VkProcType "vkGetPhysicalDeviceSparseImageFormatProperties2" =+ HS_vkGetPhysicalDeviceSparseImageFormatProperties2+ vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 =+ VkStructureType 1000059000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 =+ VkStructureType 1000059001++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 =+ VkStructureType 1000059002++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 =+ VkStructureType 1000059003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 =+ VkStructureType 1000059004++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 =+ VkStructureType 1000059005++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 =+ VkStructureType 1000059006++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 =+ VkStructureType 1000059007++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2+ = VkStructureType 1000059008++pattern VkTrimCommandPool :: CString++pattern VkTrimCommandPool <- (is_VkTrimCommandPool -> True)+ where VkTrimCommandPool = _VkTrimCommandPool++{-# INLINE _VkTrimCommandPool #-}++_VkTrimCommandPool :: CString+_VkTrimCommandPool = Ptr "vkTrimCommandPool\NUL"#++{-# INLINE is_VkTrimCommandPool #-}++is_VkTrimCommandPool :: CString -> Bool+is_VkTrimCommandPool = (EQ ==) . cmpCStrings _VkTrimCommandPool++type VkTrimCommandPool = "vkTrimCommandPool"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkTrimCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolTrimFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkTrimCommandPool" vkTrimCommandPool+ :: VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolTrimFlags -- ^ flags+ -> IO ()++#else+-- |+-- > void vkTrimCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolTrimFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkTrimCommandPoolSafe@ and @vkTrimCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice+--+-- or less efficient:+--+-- > myTrimCommandPool <- vkGetProc @VkTrimCommandPool+--+vkTrimCommandPool ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolTrimFlags -- ^ flags+ -> IO ()+vkTrimCommandPool+ = unsafeDupablePerformIO (vkGetProc @VkTrimCommandPool)++{-# NOINLINE vkTrimCommandPool #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkTrimCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolTrimFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkTrimCommandPool" vkTrimCommandPoolSafe+ :: VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolTrimFlags -- ^ flags+ -> IO ()++#else+-- |+-- > void vkTrimCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolTrimFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkTrimCommandPoolSafe@ and @vkTrimCommandPool@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myTrimCommandPool <- vkGetDeviceProc @VkTrimCommandPool vkDevice+--+-- or less efficient:+--+-- > myTrimCommandPool <- vkGetProc @VkTrimCommandPool+--+vkTrimCommandPoolSafe ::+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolTrimFlags -- ^ flags+ -> IO ()+vkTrimCommandPoolSafe = vkTrimCommandPool++{-# INLINE vkTrimCommandPoolSafe #-}+#endif++-- | > void vkTrimCommandPool+-- > ( VkDevice device+-- > , VkCommandPool commandPool+-- > , VkCommandPoolTrimFlags flags+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPool vkTrimCommandPool registry at www.khronos.org>+type HS_vkTrimCommandPool =+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolTrimFlags -- ^ flags+ -> IO ()++type PFN_vkTrimCommandPool = FunPtr HS_vkTrimCommandPool++foreign import ccall "dynamic" unwrapVkTrimCommandPool ::+ PFN_vkTrimCommandPool -> HS_vkTrimCommandPool++instance VulkanProc "vkTrimCommandPool" where+ type VkProcType "vkTrimCommandPool" = HS_vkTrimCommandPool+ vkProcSymbol = _VkTrimCommandPool++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkTrimCommandPool++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_ERROR_OUT_OF_POOL_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_POOL_MEMORY = VkResult (-1000069000)++-- | Format can be used as the source image of image transfer commands+--+-- bitpos = @14@+pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT ::+ VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT =+ VkFormatFeatureFlagBits 16384++-- | Format can be used as the destination image of image transfer commands+--+-- bitpos = @15@+pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT ::+ VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT =+ VkFormatFeatureFlagBits 32768++-- | The 3D image can be viewed as a 2D or 2D array image+--+-- bitpos = @5@+pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ::+ VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT =+ VkImageCreateFlagBits 32++-- | bitpos = @7@+pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT ::+ VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT =+ VkImageCreateFlagBits 128++-- | bitpos = @8@+pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT =+ VkImageCreateFlagBits 256++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES+ = VkStructureType 1000117000++pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO+ = VkStructureType 1000117001++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO =+ VkStructureType 1000117002++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO+ = VkStructureType 1000117003++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL+ :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL+ = VkImageLayout 1000117000++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL+ :: VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL+ = VkImageLayout 1000117001++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO =+ VkStructureType 1000053000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES =+ VkStructureType 1000053001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES =+ VkStructureType 1000053002++-- | bitpos = @1@+pattern VK_DEPENDENCY_VIEW_LOCAL_BIT :: VkDependencyFlagBits++pattern VK_DEPENDENCY_VIEW_LOCAL_BIT = VkDependencyFlagBits 2++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES+ = VkStructureType 1000120000++pattern VkGetDeviceQueue2 :: CString++pattern VkGetDeviceQueue2 <- (is_VkGetDeviceQueue2 -> True)+ where VkGetDeviceQueue2 = _VkGetDeviceQueue2++{-# INLINE _VkGetDeviceQueue2 #-}++_VkGetDeviceQueue2 :: CString+_VkGetDeviceQueue2 = Ptr "vkGetDeviceQueue2\NUL"#++{-# INLINE is_VkGetDeviceQueue2 #-}++is_VkGetDeviceQueue2 :: CString -> Bool+is_VkGetDeviceQueue2 = (EQ ==) . cmpCStrings _VkGetDeviceQueue2++type VkGetDeviceQueue2 = "vkGetDeviceQueue2"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetDeviceQueue2+-- > ( VkDevice device+-- > , const VkDeviceQueueInfo2* pQueueInfo+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDeviceQueue2" vkGetDeviceQueue2+ :: VkDevice -- ^ device+ -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()++#else+-- |+-- > void vkGetDeviceQueue2+-- > ( VkDevice device+-- > , const VkDeviceQueueInfo2* pQueueInfo+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceQueue2Safe@ and @vkGetDeviceQueue2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2+--+vkGetDeviceQueue2 ::+ VkDevice -- ^ device+ -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()+vkGetDeviceQueue2+ = unsafeDupablePerformIO (vkGetProc @VkGetDeviceQueue2)++{-# NOINLINE vkGetDeviceQueue2 #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetDeviceQueue2+-- > ( VkDevice device+-- > , const VkDeviceQueueInfo2* pQueueInfo+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceQueue2" vkGetDeviceQueue2Safe+ :: VkDevice -- ^ device+ -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()++#else+-- |+-- > void vkGetDeviceQueue2+-- > ( VkDevice device+-- > , const VkDeviceQueueInfo2* pQueueInfo+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceQueue2Safe@ and @vkGetDeviceQueue2@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceQueue2 <- vkGetDeviceProc @VkGetDeviceQueue2 vkDevice+--+-- or less efficient:+--+-- > myGetDeviceQueue2 <- vkGetProc @VkGetDeviceQueue2+--+vkGetDeviceQueue2Safe ::+ VkDevice -- ^ device+ -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()+vkGetDeviceQueue2Safe = vkGetDeviceQueue2++{-# INLINE vkGetDeviceQueue2Safe #-}+#endif++-- | > void vkGetDeviceQueue2+-- > ( VkDevice device+-- > , const VkDeviceQueueInfo2* pQueueInfo+-- > , VkQueue* pQueue+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceQueue2 vkGetDeviceQueue2 registry at www.khronos.org>+type HS_vkGetDeviceQueue2 =+ VkDevice -- ^ device+ -> Ptr VkDeviceQueueInfo2 -- ^ pQueueInfo+ -> Ptr VkQueue -- ^ pQueue+ -> IO ()++type PFN_vkGetDeviceQueue2 = FunPtr HS_vkGetDeviceQueue2++foreign import ccall "dynamic" unwrapVkGetDeviceQueue2 ::+ PFN_vkGetDeviceQueue2 -> HS_vkGetDeviceQueue2++instance VulkanProc "vkGetDeviceQueue2" where+ type VkProcType "vkGetDeviceQueue2" = HS_vkGetDeviceQueue2+ vkProcSymbol = _VkGetDeviceQueue2++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceQueue2++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO =+ VkStructureType 1000145000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES+ = VkStructureType 1000145001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES+ = VkStructureType 1000145002++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 =+ VkStructureType 1000145003++-- | Queues may support protected operations+--+-- bitpos = @4@+pattern VK_QUEUE_PROTECTED_BIT :: VkQueueFlagBits++pattern VK_QUEUE_PROTECTED_BIT = VkQueueFlagBits 16++-- | Queue is a protected-capable device queue+--+-- bitpos = @0@+pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT ::+ VkDeviceQueueCreateFlagBits++pattern VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT =+ VkDeviceQueueCreateFlagBits 1++-- | Memory is protected+--+-- bitpos = @5@+pattern VK_MEMORY_PROPERTY_PROTECTED_BIT ::+ VkMemoryPropertyFlagBits++pattern VK_MEMORY_PROPERTY_PROTECTED_BIT =+ VkMemoryPropertyFlagBits 32++-- | Buffer requires protected memory+--+-- bitpos = @3@+pattern VK_BUFFER_CREATE_PROTECTED_BIT :: VkBufferCreateFlagBits++pattern VK_BUFFER_CREATE_PROTECTED_BIT = VkBufferCreateFlagBits 8++-- | Image requires protected memory+--+-- bitpos = @11@+pattern VK_IMAGE_CREATE_PROTECTED_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_PROTECTED_BIT = VkImageCreateFlagBits 2048++-- | Command buffers allocated from pool are protected command buffers+--+-- bitpos = @2@+pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT ::+ VkCommandPoolCreateFlagBits++pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT =+ VkCommandPoolCreateFlagBits 4++pattern VkCreateSamplerYcbcrConversion :: CString++pattern VkCreateSamplerYcbcrConversion <-+ (is_VkCreateSamplerYcbcrConversion -> True)+ where VkCreateSamplerYcbcrConversion+ = _VkCreateSamplerYcbcrConversion++{-# INLINE _VkCreateSamplerYcbcrConversion #-}++_VkCreateSamplerYcbcrConversion :: CString+_VkCreateSamplerYcbcrConversion+ = Ptr "vkCreateSamplerYcbcrConversion\NUL"#++{-# INLINE is_VkCreateSamplerYcbcrConversion #-}++is_VkCreateSamplerYcbcrConversion :: CString -> Bool+is_VkCreateSamplerYcbcrConversion+ = (EQ ==) . cmpCStrings _VkCreateSamplerYcbcrConversion++type VkCreateSamplerYcbcrConversion =+ "vkCreateSamplerYcbcrConversion"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- > ( VkDevice device+-- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSamplerYcbcrConversion* pYcbcrConversion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"+ vkCreateSamplerYcbcrConversion ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- > ( VkDevice device+-- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSamplerYcbcrConversion* pYcbcrConversion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSamplerYcbcrConversionSafe@ and @vkCreateSamplerYcbcrConversion@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion+--+vkCreateSamplerYcbcrConversion ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+ -> IO VkResult+vkCreateSamplerYcbcrConversion+ = unsafeDupablePerformIO+ (vkGetProc @VkCreateSamplerYcbcrConversion)++{-# NOINLINE vkCreateSamplerYcbcrConversion #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- > ( VkDevice device+-- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSamplerYcbcrConversion* pYcbcrConversion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateSamplerYcbcrConversion"+ vkCreateSamplerYcbcrConversionSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- > ( VkDevice device+-- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSamplerYcbcrConversion* pYcbcrConversion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSamplerYcbcrConversionSafe@ and @vkCreateSamplerYcbcrConversion@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSamplerYcbcrConversion <- vkGetDeviceProc @VkCreateSamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myCreateSamplerYcbcrConversion <- vkGetProc @VkCreateSamplerYcbcrConversion+--+vkCreateSamplerYcbcrConversionSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+ -> IO VkResult+vkCreateSamplerYcbcrConversionSafe = vkCreateSamplerYcbcrConversion++{-# INLINE vkCreateSamplerYcbcrConversionSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateSamplerYcbcrConversion+-- > ( VkDevice device+-- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSamplerYcbcrConversion* pYcbcrConversion+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion registry at www.khronos.org>+type HS_vkCreateSamplerYcbcrConversion =+ VkDevice -- ^ device+ ->+ Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+ -> IO VkResult++type PFN_vkCreateSamplerYcbcrConversion =+ FunPtr HS_vkCreateSamplerYcbcrConversion++foreign import ccall "dynamic" unwrapVkCreateSamplerYcbcrConversion+ ::+ PFN_vkCreateSamplerYcbcrConversion ->+ HS_vkCreateSamplerYcbcrConversion++instance VulkanProc "vkCreateSamplerYcbcrConversion" where+ type VkProcType "vkCreateSamplerYcbcrConversion" =+ HS_vkCreateSamplerYcbcrConversion+ vkProcSymbol = _VkCreateSamplerYcbcrConversion++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateSamplerYcbcrConversion++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroySamplerYcbcrConversion :: CString++pattern VkDestroySamplerYcbcrConversion <-+ (is_VkDestroySamplerYcbcrConversion -> True)+ where VkDestroySamplerYcbcrConversion+ = _VkDestroySamplerYcbcrConversion++{-# INLINE _VkDestroySamplerYcbcrConversion #-}++_VkDestroySamplerYcbcrConversion :: CString+_VkDestroySamplerYcbcrConversion+ = Ptr "vkDestroySamplerYcbcrConversion\NUL"#++{-# INLINE is_VkDestroySamplerYcbcrConversion #-}++is_VkDestroySamplerYcbcrConversion :: CString -> Bool+is_VkDestroySamplerYcbcrConversion+ = (EQ ==) . cmpCStrings _VkDestroySamplerYcbcrConversion++type VkDestroySamplerYcbcrConversion =+ "vkDestroySamplerYcbcrConversion"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkDestroySamplerYcbcrConversion+-- > ( VkDevice device+-- > , VkSamplerYcbcrConversion ycbcrConversion+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"+ vkDestroySamplerYcbcrConversion ::+ VkDevice -- ^ device+ ->+ VkSamplerYcbcrConversion -- ^ ycbcrConversion+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++#else+-- |+-- > void vkDestroySamplerYcbcrConversion+-- > ( VkDevice device+-- > , VkSamplerYcbcrConversion ycbcrConversion+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySamplerYcbcrConversionSafe@ and @vkDestroySamplerYcbcrConversion@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion+--+vkDestroySamplerYcbcrConversion ::+ VkDevice -- ^ device+ ->+ VkSamplerYcbcrConversion -- ^ ycbcrConversion+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySamplerYcbcrConversion+ = unsafeDupablePerformIO+ (vkGetProc @VkDestroySamplerYcbcrConversion)++{-# NOINLINE vkDestroySamplerYcbcrConversion #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkDestroySamplerYcbcrConversion+-- > ( VkDevice device+-- > , VkSamplerYcbcrConversion ycbcrConversion+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroySamplerYcbcrConversion"+ vkDestroySamplerYcbcrConversionSafe ::+ VkDevice -- ^ device+ ->+ VkSamplerYcbcrConversion -- ^ ycbcrConversion+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++#else+-- |+-- > void vkDestroySamplerYcbcrConversion+-- > ( VkDevice device+-- > , VkSamplerYcbcrConversion ycbcrConversion+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySamplerYcbcrConversionSafe@ and @vkDestroySamplerYcbcrConversion@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySamplerYcbcrConversion <- vkGetDeviceProc @VkDestroySamplerYcbcrConversion vkDevice+--+-- or less efficient:+--+-- > myDestroySamplerYcbcrConversion <- vkGetProc @VkDestroySamplerYcbcrConversion+--+vkDestroySamplerYcbcrConversionSafe ::+ VkDevice -- ^ device+ ->+ VkSamplerYcbcrConversion -- ^ ycbcrConversion+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySamplerYcbcrConversionSafe+ = vkDestroySamplerYcbcrConversion++{-# INLINE vkDestroySamplerYcbcrConversionSafe #-}+#endif++-- | > void vkDestroySamplerYcbcrConversion+-- > ( VkDevice device+-- > , VkSamplerYcbcrConversion ycbcrConversion+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion registry at www.khronos.org>+type HS_vkDestroySamplerYcbcrConversion =+ VkDevice -- ^ device+ ->+ VkSamplerYcbcrConversion -- ^ ycbcrConversion+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroySamplerYcbcrConversion =+ FunPtr HS_vkDestroySamplerYcbcrConversion++foreign import ccall "dynamic"+ unwrapVkDestroySamplerYcbcrConversion ::+ PFN_vkDestroySamplerYcbcrConversion ->+ HS_vkDestroySamplerYcbcrConversion++instance VulkanProc "vkDestroySamplerYcbcrConversion" where+ type VkProcType "vkDestroySamplerYcbcrConversion" =+ HS_vkDestroySamplerYcbcrConversion+ vkProcSymbol = _VkDestroySamplerYcbcrConversion++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroySamplerYcbcrConversion++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO =+ VkStructureType 1000156000++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO =+ VkStructureType 1000156001++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO =+ VkStructureType 1000156002++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO =+ VkStructureType 1000156003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES+ = VkStructureType 1000156004++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES+ = VkStructureType 1000156005++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: VkObjectType++pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION =+ VkObjectType 1000156000++pattern VK_FORMAT_G8B8G8R8_422_UNORM :: VkFormat++pattern VK_FORMAT_G8B8G8R8_422_UNORM = VkFormat 1000156000++pattern VK_FORMAT_B8G8R8G8_422_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8G8_422_UNORM = VkFormat 1000156001++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = VkFormat 1000156002++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = VkFormat 1000156003++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = VkFormat 1000156004++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = VkFormat 1000156005++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM :: VkFormat++pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = VkFormat 1000156006++pattern VK_FORMAT_R10X6_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R10X6_UNORM_PACK16 = VkFormat 1000156007++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 :: VkFormat++pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = VkFormat 1000156008++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 :: VkFormat++pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 =+ VkFormat 1000156009++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 ::+ VkFormat++pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 =+ VkFormat 1000156010++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 ::+ VkFormat++pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 =+ VkFormat 1000156011++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 =+ VkFormat 1000156012++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 =+ VkFormat 1000156013++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 =+ VkFormat 1000156014++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 =+ VkFormat 1000156015++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 =+ VkFormat 1000156016++pattern VK_FORMAT_R12X4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R12X4_UNORM_PACK16 = VkFormat 1000156017++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 :: VkFormat++pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = VkFormat 1000156018++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 :: VkFormat++pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 =+ VkFormat 1000156019++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 ::+ VkFormat++pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 =+ VkFormat 1000156020++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 ::+ VkFormat++pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 =+ VkFormat 1000156021++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 =+ VkFormat 1000156022++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 =+ VkFormat 1000156023++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 =+ VkFormat 1000156024++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 =+ VkFormat 1000156025++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 ::+ VkFormat++pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 =+ VkFormat 1000156026++pattern VK_FORMAT_G16B16G16R16_422_UNORM :: VkFormat++pattern VK_FORMAT_G16B16G16R16_422_UNORM = VkFormat 1000156027++pattern VK_FORMAT_B16G16R16G16_422_UNORM :: VkFormat++pattern VK_FORMAT_B16G16R16G16_422_UNORM = VkFormat 1000156028++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM =+ VkFormat 1000156029++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = VkFormat 1000156030++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM =+ VkFormat 1000156031++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = VkFormat 1000156032++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM :: VkFormat++pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM =+ VkFormat 1000156033++-- | bitpos = @4@+pattern VK_IMAGE_ASPECT_PLANE_0_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_0_BIT = VkImageAspectFlagBits 16++-- | bitpos = @5@+pattern VK_IMAGE_ASPECT_PLANE_1_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_1_BIT = VkImageAspectFlagBits 32++-- | bitpos = @6@+pattern VK_IMAGE_ASPECT_PLANE_2_BIT :: VkImageAspectFlagBits++pattern VK_IMAGE_ASPECT_PLANE_2_BIT = VkImageAspectFlagBits 64++-- | bitpos = @9@+pattern VK_IMAGE_CREATE_DISJOINT_BIT :: VkImageCreateFlagBits++pattern VK_IMAGE_CREATE_DISJOINT_BIT = VkImageCreateFlagBits 512++-- | Format can have midpoint rather than cosited chroma samples+--+-- bitpos = @17@+pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT ::+ VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT =+ VkFormatFeatureFlagBits 131072++-- | Format can be used with linear filtering whilst color conversion is enabled+--+-- bitpos = @18@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+ :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT+ = VkFormatFeatureFlagBits 262144++-- | Format can have different chroma, min and mag filters+--+-- bitpos = @19@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+ :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT+ = VkFormatFeatureFlagBits 524288++-- | bitpos = @20@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+ :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT+ = VkFormatFeatureFlagBits 1048576++-- | bitpos = @21@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+ :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT+ = VkFormatFeatureFlagBits 2097152++-- | Format supports disjoint planes+--+-- bitpos = @22@+pattern VK_FORMAT_FEATURE_DISJOINT_BIT :: VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_DISJOINT_BIT =+ VkFormatFeatureFlagBits 4194304++-- | Format can have cosited rather than midpoint chroma samples+--+-- bitpos = @23@+pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT ::+ VkFormatFeatureFlagBits++pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT =+ VkFormatFeatureFlagBits 8388608++pattern VkCreateDescriptorUpdateTemplate :: CString++pattern VkCreateDescriptorUpdateTemplate <-+ (is_VkCreateDescriptorUpdateTemplate -> True)+ where VkCreateDescriptorUpdateTemplate+ = _VkCreateDescriptorUpdateTemplate++{-# INLINE _VkCreateDescriptorUpdateTemplate #-}++_VkCreateDescriptorUpdateTemplate :: CString+_VkCreateDescriptorUpdateTemplate+ = Ptr "vkCreateDescriptorUpdateTemplate\NUL"#++{-# INLINE is_VkCreateDescriptorUpdateTemplate #-}++is_VkCreateDescriptorUpdateTemplate :: CString -> Bool+is_VkCreateDescriptorUpdateTemplate+ = (EQ ==) . cmpCStrings _VkCreateDescriptorUpdateTemplate++type VkCreateDescriptorUpdateTemplate =+ "vkCreateDescriptorUpdateTemplate"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"+ vkCreateDescriptorUpdateTemplate ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDescriptorUpdateTemplateSafe@ and @vkCreateDescriptorUpdateTemplate@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate+--+vkCreateDescriptorUpdateTemplate ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+ -> IO VkResult+vkCreateDescriptorUpdateTemplate+ = unsafeDupablePerformIO+ (vkGetProc @VkCreateDescriptorUpdateTemplate)++{-# NOINLINE vkCreateDescriptorUpdateTemplate #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateDescriptorUpdateTemplate"+ vkCreateDescriptorUpdateTemplateSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDescriptorUpdateTemplateSafe@ and @vkCreateDescriptorUpdateTemplate@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetDeviceProc @VkCreateDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myCreateDescriptorUpdateTemplate <- vkGetProc @VkCreateDescriptorUpdateTemplate+--+vkCreateDescriptorUpdateTemplateSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+ -> IO VkResult+vkCreateDescriptorUpdateTemplateSafe+ = vkCreateDescriptorUpdateTemplate++{-# INLINE vkCreateDescriptorUpdateTemplateSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate registry at www.khronos.org>+type HS_vkCreateDescriptorUpdateTemplate =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+ -> IO VkResult++type PFN_vkCreateDescriptorUpdateTemplate =+ FunPtr HS_vkCreateDescriptorUpdateTemplate++foreign import ccall "dynamic"+ unwrapVkCreateDescriptorUpdateTemplate ::+ PFN_vkCreateDescriptorUpdateTemplate ->+ HS_vkCreateDescriptorUpdateTemplate++instance VulkanProc "vkCreateDescriptorUpdateTemplate" where+ type VkProcType "vkCreateDescriptorUpdateTemplate" =+ HS_vkCreateDescriptorUpdateTemplate+ vkProcSymbol = _VkCreateDescriptorUpdateTemplate++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDescriptorUpdateTemplate++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDescriptorUpdateTemplate :: CString++pattern VkDestroyDescriptorUpdateTemplate <-+ (is_VkDestroyDescriptorUpdateTemplate -> True)+ where VkDestroyDescriptorUpdateTemplate+ = _VkDestroyDescriptorUpdateTemplate++{-# INLINE _VkDestroyDescriptorUpdateTemplate #-}++_VkDestroyDescriptorUpdateTemplate :: CString+_VkDestroyDescriptorUpdateTemplate+ = Ptr "vkDestroyDescriptorUpdateTemplate\NUL"#++{-# INLINE is_VkDestroyDescriptorUpdateTemplate #-}++is_VkDestroyDescriptorUpdateTemplate :: CString -> Bool+is_VkDestroyDescriptorUpdateTemplate+ = (EQ ==) . cmpCStrings _VkDestroyDescriptorUpdateTemplate++type VkDestroyDescriptorUpdateTemplate =+ "vkDestroyDescriptorUpdateTemplate"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"+ vkDestroyDescriptorUpdateTemplate ::+ VkDevice -- ^ device+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++#else+-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDescriptorUpdateTemplateSafe@ and @vkDestroyDescriptorUpdateTemplate@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate+--+vkDestroyDescriptorUpdateTemplate ::+ VkDevice -- ^ device+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDescriptorUpdateTemplate+ = unsafeDupablePerformIO+ (vkGetProc @VkDestroyDescriptorUpdateTemplate)++{-# NOINLINE vkDestroyDescriptorUpdateTemplate #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"+ vkDestroyDescriptorUpdateTemplateSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++#else+-- |+-- > void vkDestroyDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroyDescriptorUpdateTemplateSafe@ and @vkDestroyDescriptorUpdateTemplate@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetDeviceProc @VkDestroyDescriptorUpdateTemplate vkDevice+--+-- or less efficient:+--+-- > myDestroyDescriptorUpdateTemplate <- vkGetProc @VkDestroyDescriptorUpdateTemplate+--+vkDestroyDescriptorUpdateTemplateSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroyDescriptorUpdateTemplateSafe+ = vkDestroyDescriptorUpdateTemplate++{-# INLINE vkDestroyDescriptorUpdateTemplateSafe #-}+#endif++-- | > void vkDestroyDescriptorUpdateTemplate+-- > ( VkDevice device+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate registry at www.khronos.org>+type HS_vkDestroyDescriptorUpdateTemplate =+ VkDevice -- ^ device+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroyDescriptorUpdateTemplate =+ FunPtr HS_vkDestroyDescriptorUpdateTemplate++foreign import ccall "dynamic"+ unwrapVkDestroyDescriptorUpdateTemplate ::+ PFN_vkDestroyDescriptorUpdateTemplate ->+ HS_vkDestroyDescriptorUpdateTemplate++instance VulkanProc "vkDestroyDescriptorUpdateTemplate" where+ type VkProcType "vkDestroyDescriptorUpdateTemplate" =+ HS_vkDestroyDescriptorUpdateTemplate+ vkProcSymbol = _VkDestroyDescriptorUpdateTemplate++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDescriptorUpdateTemplate++ {-# INLINE unwrapVkProcPtr #-}++pattern VkUpdateDescriptorSetWithTemplate :: CString++pattern VkUpdateDescriptorSetWithTemplate <-+ (is_VkUpdateDescriptorSetWithTemplate -> True)+ where VkUpdateDescriptorSetWithTemplate+ = _VkUpdateDescriptorSetWithTemplate++{-# INLINE _VkUpdateDescriptorSetWithTemplate #-}++_VkUpdateDescriptorSetWithTemplate :: CString+_VkUpdateDescriptorSetWithTemplate+ = Ptr "vkUpdateDescriptorSetWithTemplate\NUL"#++{-# INLINE is_VkUpdateDescriptorSetWithTemplate #-}++is_VkUpdateDescriptorSetWithTemplate :: CString -> Bool+is_VkUpdateDescriptorSetWithTemplate+ = (EQ ==) . cmpCStrings _VkUpdateDescriptorSetWithTemplate++type VkUpdateDescriptorSetWithTemplate =+ "vkUpdateDescriptorSetWithTemplate"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- > ( VkDevice device+-- > , VkDescriptorSet descriptorSet+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"+ vkUpdateDescriptorSetWithTemplate ::+ VkDevice -- ^ device+ ->+ VkDescriptorSet -- ^ descriptorSet+ -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr Void -- ^ pData+ -> IO ()++#else+-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- > ( VkDevice device+-- > , VkDescriptorSet descriptorSet+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkUpdateDescriptorSetWithTemplateSafe@ and @vkUpdateDescriptorSetWithTemplate@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate+--+vkUpdateDescriptorSetWithTemplate ::+ VkDevice -- ^ device+ ->+ VkDescriptorSet -- ^ descriptorSet+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr Void -- ^ pData+ -> IO ()+vkUpdateDescriptorSetWithTemplate+ = unsafeDupablePerformIO+ (vkGetProc @VkUpdateDescriptorSetWithTemplate)++{-# NOINLINE vkUpdateDescriptorSetWithTemplate #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- > ( VkDevice device+-- > , VkDescriptorSet descriptorSet+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"+ vkUpdateDescriptorSetWithTemplateSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorSet -- ^ descriptorSet+ -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr Void -- ^ pData+ -> IO ()++#else+-- |+-- > void vkUpdateDescriptorSetWithTemplate+-- > ( VkDevice device+-- > , VkDescriptorSet descriptorSet+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkUpdateDescriptorSetWithTemplateSafe@ and @vkUpdateDescriptorSetWithTemplate@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetDeviceProc @VkUpdateDescriptorSetWithTemplate vkDevice+--+-- or less efficient:+--+-- > myUpdateDescriptorSetWithTemplate <- vkGetProc @VkUpdateDescriptorSetWithTemplate+--+vkUpdateDescriptorSetWithTemplateSafe ::+ VkDevice -- ^ device+ ->+ VkDescriptorSet -- ^ descriptorSet+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr Void -- ^ pData+ -> IO ()+vkUpdateDescriptorSetWithTemplateSafe+ = vkUpdateDescriptorSetWithTemplate++{-# INLINE vkUpdateDescriptorSetWithTemplateSafe #-}+#endif++-- | > void vkUpdateDescriptorSetWithTemplate+-- > ( VkDevice device+-- > , VkDescriptorSet descriptorSet+-- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate+-- > , const void* pData+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate registry at www.khronos.org>+type HS_vkUpdateDescriptorSetWithTemplate =+ VkDevice -- ^ device+ ->+ VkDescriptorSet -- ^ descriptorSet+ -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr Void -- ^ pData+ -> IO ()++type PFN_vkUpdateDescriptorSetWithTemplate =+ FunPtr HS_vkUpdateDescriptorSetWithTemplate++foreign import ccall "dynamic"+ unwrapVkUpdateDescriptorSetWithTemplate ::+ PFN_vkUpdateDescriptorSetWithTemplate ->+ HS_vkUpdateDescriptorSetWithTemplate++instance VulkanProc "vkUpdateDescriptorSetWithTemplate" where+ type VkProcType "vkUpdateDescriptorSetWithTemplate" =+ HS_vkUpdateDescriptorSetWithTemplate+ vkProcSymbol = _VkUpdateDescriptorSetWithTemplate++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkUpdateDescriptorSetWithTemplate++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO =+ VkStructureType 1000085000++pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE =+ VkObjectType 1000085000++pattern VkGetPhysicalDeviceExternalBufferProperties :: CString++pattern VkGetPhysicalDeviceExternalBufferProperties <-+ (is_VkGetPhysicalDeviceExternalBufferProperties -> True)+ where VkGetPhysicalDeviceExternalBufferProperties+ = _VkGetPhysicalDeviceExternalBufferProperties++{-# INLINE _VkGetPhysicalDeviceExternalBufferProperties #-}++_VkGetPhysicalDeviceExternalBufferProperties :: CString+_VkGetPhysicalDeviceExternalBufferProperties+ = Ptr "vkGetPhysicalDeviceExternalBufferProperties\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalBufferProperties #-}++is_VkGetPhysicalDeviceExternalBufferProperties :: CString -> Bool+is_VkGetPhysicalDeviceExternalBufferProperties+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceExternalBufferProperties++type VkGetPhysicalDeviceExternalBufferProperties =+ "vkGetPhysicalDeviceExternalBufferProperties"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- > , VkExternalBufferProperties* pExternalBufferProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceExternalBufferProperties"+ vkGetPhysicalDeviceExternalBufferProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+ ->+ Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- > , VkExternalBufferProperties* pExternalBufferProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ and @vkGetPhysicalDeviceExternalBufferProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties+--+vkGetPhysicalDeviceExternalBufferProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+ ->+ Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+ -> IO ()+vkGetPhysicalDeviceExternalBufferProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceExternalBufferProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalBufferProperties #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- > , VkExternalBufferProperties* pExternalBufferProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceExternalBufferProperties"+ vkGetPhysicalDeviceExternalBufferPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+ ->+ Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceExternalBufferProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- > , VkExternalBufferProperties* pExternalBufferProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceExternalBufferPropertiesSafe@ and @vkGetPhysicalDeviceExternalBufferProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalBufferProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalBufferProperties <- vkGetProc @VkGetPhysicalDeviceExternalBufferProperties+--+vkGetPhysicalDeviceExternalBufferPropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+ ->+ Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+ -> IO ()+vkGetPhysicalDeviceExternalBufferPropertiesSafe+ = vkGetPhysicalDeviceExternalBufferProperties++{-# INLINE vkGetPhysicalDeviceExternalBufferPropertiesSafe #-}+#endif++-- | > void vkGetPhysicalDeviceExternalBufferProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo+-- > , VkExternalBufferProperties* pExternalBufferProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalBufferProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+ ->+ Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceExternalBufferProperties =+ FunPtr HS_vkGetPhysicalDeviceExternalBufferProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalBufferProperties ::+ PFN_vkGetPhysicalDeviceExternalBufferProperties ->+ HS_vkGetPhysicalDeviceExternalBufferProperties++instance VulkanProc "vkGetPhysicalDeviceExternalBufferProperties"+ where+ type VkProcType "vkGetPhysicalDeviceExternalBufferProperties" =+ HS_vkGetPhysicalDeviceExternalBufferProperties+ vkProcSymbol = _VkGetPhysicalDeviceExternalBufferProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceExternalBufferProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO+ = VkStructureType 1000071000++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES =+ VkStructureType 1000071001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO =+ VkStructureType 1000071002++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES =+ VkStructureType 1000071003++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES =+ VkStructureType 1000071004++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO =+ VkStructureType 1000072000++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO =+ VkStructureType 1000072001++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO =+ VkStructureType 1000072002++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE :: VkResult++pattern VK_ERROR_INVALID_EXTERNAL_HANDLE = VkResult (-1000072003)++pattern VkGetPhysicalDeviceExternalFenceProperties :: CString++pattern VkGetPhysicalDeviceExternalFenceProperties <-+ (is_VkGetPhysicalDeviceExternalFenceProperties -> True)+ where VkGetPhysicalDeviceExternalFenceProperties+ = _VkGetPhysicalDeviceExternalFenceProperties++{-# INLINE _VkGetPhysicalDeviceExternalFenceProperties #-}++_VkGetPhysicalDeviceExternalFenceProperties :: CString+_VkGetPhysicalDeviceExternalFenceProperties+ = Ptr "vkGetPhysicalDeviceExternalFenceProperties\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalFenceProperties #-}++is_VkGetPhysicalDeviceExternalFenceProperties :: CString -> Bool+is_VkGetPhysicalDeviceExternalFenceProperties+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceExternalFenceProperties++type VkGetPhysicalDeviceExternalFenceProperties =+ "vkGetPhysicalDeviceExternalFenceProperties"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- > , VkExternalFenceProperties* pExternalFenceProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceExternalFenceProperties"+ vkGetPhysicalDeviceExternalFenceProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+ ->+ Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- > , VkExternalFenceProperties* pExternalFenceProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceExternalFencePropertiesSafe@ and @vkGetPhysicalDeviceExternalFenceProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties+--+vkGetPhysicalDeviceExternalFenceProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+ ->+ Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+ -> IO ()+vkGetPhysicalDeviceExternalFenceProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceExternalFenceProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalFenceProperties #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- > , VkExternalFenceProperties* pExternalFenceProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceExternalFenceProperties"+ vkGetPhysicalDeviceExternalFencePropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+ ->+ Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceExternalFenceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- > , VkExternalFenceProperties* pExternalFenceProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceExternalFencePropertiesSafe@ and @vkGetPhysicalDeviceExternalFenceProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalFenceProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalFenceProperties <- vkGetProc @VkGetPhysicalDeviceExternalFenceProperties+--+vkGetPhysicalDeviceExternalFencePropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+ ->+ Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+ -> IO ()+vkGetPhysicalDeviceExternalFencePropertiesSafe+ = vkGetPhysicalDeviceExternalFenceProperties++{-# INLINE vkGetPhysicalDeviceExternalFencePropertiesSafe #-}+#endif++-- | > void vkGetPhysicalDeviceExternalFenceProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo+-- > , VkExternalFenceProperties* pExternalFenceProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalFenceProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+ ->+ Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceExternalFenceProperties =+ FunPtr HS_vkGetPhysicalDeviceExternalFenceProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalFenceProperties ::+ PFN_vkGetPhysicalDeviceExternalFenceProperties ->+ HS_vkGetPhysicalDeviceExternalFenceProperties++instance VulkanProc "vkGetPhysicalDeviceExternalFenceProperties"+ where+ type VkProcType "vkGetPhysicalDeviceExternalFenceProperties" =+ HS_vkGetPhysicalDeviceExternalFenceProperties+ vkProcSymbol = _VkGetPhysicalDeviceExternalFenceProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceExternalFenceProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO =+ VkStructureType 1000112000++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES =+ VkStructureType 1000112001++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO =+ VkStructureType 1000113000++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO =+ VkStructureType 1000077000++pattern VkGetPhysicalDeviceExternalSemaphoreProperties :: CString++pattern VkGetPhysicalDeviceExternalSemaphoreProperties <-+ (is_VkGetPhysicalDeviceExternalSemaphoreProperties -> True)+ where VkGetPhysicalDeviceExternalSemaphoreProperties+ = _VkGetPhysicalDeviceExternalSemaphoreProperties++{-# INLINE _VkGetPhysicalDeviceExternalSemaphoreProperties #-}++_VkGetPhysicalDeviceExternalSemaphoreProperties :: CString+_VkGetPhysicalDeviceExternalSemaphoreProperties+ = Ptr "vkGetPhysicalDeviceExternalSemaphoreProperties\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalSemaphoreProperties #-}++is_VkGetPhysicalDeviceExternalSemaphoreProperties ::+ CString -> Bool+is_VkGetPhysicalDeviceExternalSemaphoreProperties+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceExternalSemaphoreProperties++type VkGetPhysicalDeviceExternalSemaphoreProperties =+ "vkGetPhysicalDeviceExternalSemaphoreProperties"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceExternalSemaphoreProperties"+ vkGetPhysicalDeviceExternalSemaphoreProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+ ->+ Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ and @vkGetPhysicalDeviceExternalSemaphoreProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties+--+vkGetPhysicalDeviceExternalSemaphoreProperties ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+ ->+ Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+ -> IO ()+vkGetPhysicalDeviceExternalSemaphoreProperties+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties)++{-# NOINLINE vkGetPhysicalDeviceExternalSemaphoreProperties #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceExternalSemaphoreProperties"+ vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+ ->+ Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+ -> IO ()++#else+-- |+-- > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceExternalSemaphorePropertiesSafe@ and @vkGetPhysicalDeviceExternalSemaphoreProperties@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetInstanceProc @VkGetPhysicalDeviceExternalSemaphoreProperties vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceExternalSemaphoreProperties <- vkGetProc @VkGetPhysicalDeviceExternalSemaphoreProperties+--+vkGetPhysicalDeviceExternalSemaphorePropertiesSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+ ->+ Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+ -> IO ()+vkGetPhysicalDeviceExternalSemaphorePropertiesSafe+ = vkGetPhysicalDeviceExternalSemaphoreProperties++{-# INLINE vkGetPhysicalDeviceExternalSemaphorePropertiesSafe #-}+#endif++-- | > void vkGetPhysicalDeviceExternalSemaphoreProperties+-- > ( VkPhysicalDevice physicalDevice+-- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo+-- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalSemaphoreProperties =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+ ->+ Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceExternalSemaphoreProperties =+ FunPtr HS_vkGetPhysicalDeviceExternalSemaphoreProperties++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalSemaphoreProperties ::+ PFN_vkGetPhysicalDeviceExternalSemaphoreProperties ->+ HS_vkGetPhysicalDeviceExternalSemaphoreProperties++instance VulkanProc+ "vkGetPhysicalDeviceExternalSemaphoreProperties"+ where+ type VkProcType "vkGetPhysicalDeviceExternalSemaphoreProperties" =+ HS_vkGetPhysicalDeviceExternalSemaphoreProperties+ vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphoreProperties++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceExternalSemaphoreProperties++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO =+ VkStructureType 1000076000++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES =+ VkStructureType 1000076001++pattern VkGetDescriptorSetLayoutSupport :: CString++pattern VkGetDescriptorSetLayoutSupport <-+ (is_VkGetDescriptorSetLayoutSupport -> True)+ where VkGetDescriptorSetLayoutSupport+ = _VkGetDescriptorSetLayoutSupport++{-# INLINE _VkGetDescriptorSetLayoutSupport #-}++_VkGetDescriptorSetLayoutSupport :: CString+_VkGetDescriptorSetLayoutSupport+ = Ptr "vkGetDescriptorSetLayoutSupport\NUL"#++{-# INLINE is_VkGetDescriptorSetLayoutSupport #-}++is_VkGetDescriptorSetLayoutSupport :: CString -> Bool+is_VkGetDescriptorSetLayoutSupport+ = (EQ ==) . cmpCStrings _VkGetDescriptorSetLayoutSupport++type VkGetDescriptorSetLayoutSupport =+ "vkGetDescriptorSetLayoutSupport"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetDescriptorSetLayoutSupport+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , VkDescriptorSetLayoutSupport* pSupport+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"+ vkGetDescriptorSetLayoutSupport ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+ -> IO ()++#else+-- |+-- > void vkGetDescriptorSetLayoutSupport+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , VkDescriptorSetLayoutSupport* pSupport+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDescriptorSetLayoutSupportSafe@ and @vkGetDescriptorSetLayoutSupport@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice+--+-- or less efficient:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport+--+vkGetDescriptorSetLayoutSupport ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+ -> IO ()+vkGetDescriptorSetLayoutSupport+ = unsafeDupablePerformIO+ (vkGetProc @VkGetDescriptorSetLayoutSupport)++{-# NOINLINE vkGetDescriptorSetLayoutSupport #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- > void vkGetDescriptorSetLayoutSupport+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , VkDescriptorSetLayoutSupport* pSupport+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDescriptorSetLayoutSupport"+ vkGetDescriptorSetLayoutSupportSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+ -> IO ()++#else+-- |+-- > void vkGetDescriptorSetLayoutSupport+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , VkDescriptorSetLayoutSupport* pSupport+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDescriptorSetLayoutSupportSafe@ and @vkGetDescriptorSetLayoutSupport@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetDeviceProc @VkGetDescriptorSetLayoutSupport vkDevice+--+-- or less efficient:+--+-- > myGetDescriptorSetLayoutSupport <- vkGetProc @VkGetDescriptorSetLayoutSupport+--+vkGetDescriptorSetLayoutSupportSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+ -> IO ()+vkGetDescriptorSetLayoutSupportSafe+ = vkGetDescriptorSetLayoutSupport++{-# INLINE vkGetDescriptorSetLayoutSupportSafe #-}+#endif++-- | > void vkGetDescriptorSetLayoutSupport+-- > ( VkDevice device+-- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo+-- > , VkDescriptorSetLayoutSupport* pSupport+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport registry at www.khronos.org>+type HS_vkGetDescriptorSetLayoutSupport =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+ -> IO ()++type PFN_vkGetDescriptorSetLayoutSupport =+ FunPtr HS_vkGetDescriptorSetLayoutSupport++foreign import ccall "dynamic"+ unwrapVkGetDescriptorSetLayoutSupport ::+ PFN_vkGetDescriptorSetLayoutSupport ->+ HS_vkGetDescriptorSetLayoutSupport++instance VulkanProc "vkGetDescriptorSetLayoutSupport" where+ type VkProcType "vkGetDescriptorSetLayoutSupport" =+ HS_vkGetDescriptorSetLayoutSupport+ vkProcSymbol = _VkGetDescriptorSetLayoutSupport++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDescriptorSetLayoutSupport++ {-# INLINE unwrapVkProcPtr #-} pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES :: VkStructureType
@@ -157,12 +157,15 @@ , module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion , module Graphics.Vulkan.Ext.VK_KHR_bind_memory2 , module Graphics.Vulkan.Ext.VK_EXT_validation_cache+ , module Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing , module Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer , module Graphics.Vulkan.Ext.VK_KHR_maintenance3 , module Graphics.Vulkan.Ext.VK_EXT_global_priority , module Graphics.Vulkan.Ext.VK_EXT_external_memory_host , module Graphics.Vulkan.Ext.VK_AMD_buffer_marker+ , module Graphics.Vulkan.Ext.VK_AMD_shader_core_properties , module Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor+ , module Graphics.Vulkan.Ext.VK_NV_shader_subgroup_partitioned ) where import Graphics.Vulkan.Ext.VK_KHR_surface@@ -321,9 +324,12 @@ import Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion import Graphics.Vulkan.Ext.VK_KHR_bind_memory2 import Graphics.Vulkan.Ext.VK_EXT_validation_cache+import Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing import Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer import Graphics.Vulkan.Ext.VK_KHR_maintenance3 import Graphics.Vulkan.Ext.VK_EXT_global_priority import Graphics.Vulkan.Ext.VK_EXT_external_memory_host import Graphics.Vulkan.Ext.VK_AMD_buffer_marker+import Graphics.Vulkan.Ext.VK_AMD_shader_core_properties import Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor+import Graphics.Vulkan.Ext.VK_NV_shader_subgroup_partitioned
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_AMD_buffer_marker (-- * Vulkan extension: @VK_AMD_buffer_marker@@@ -19,55 +22,50 @@ -- type: @device@ -- -- Extension number: @180@- vkCmdWriteBufferMarkerAMD, vkCmdWriteBufferMarkerAMDSafe,+ VkCmdWriteBufferMarkerAMD, pattern VkCmdWriteBufferMarkerAMD,+ HS_vkCmdWriteBufferMarkerAMD, PFN_vkCmdWriteBufferMarkerAMD, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+ module Graphics.Vulkan.Types.Enum.Pipeline, module Graphics.Vulkan.Types.Handles, VK_AMD_BUFFER_MARKER_SPEC_VERSION, pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION, VK_AMD_BUFFER_MARKER_EXTENSION_NAME, pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags+import Graphics.Vulkan.Types.Enum.Pipeline import Graphics.Vulkan.Types.Handles --- | queues: 'transfer', 'graphics', 'compute'.------ renderpass: @both@------ pipeline: @transfer@------ > () vkCmdWriteBufferMarkerAMD--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineStageFlagBits pipelineStage--- > , VkBuffer dstBuffer--- > , VkDeviceSize dstOffset--- > , uint32_t marker--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteBufferMarkerAMD.html vkCmdWriteBufferMarkerAMD registry at www.khronos.org>-foreign import ccall unsafe "vkCmdWriteBufferMarkerAMD"- vkCmdWriteBufferMarkerAMD ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineStageFlagBits -- ^ pipelineStage- ->- VkBuffer -- ^ dstBuffer- -> VkDeviceSize -- ^ dstOffset- -> Word32 -- ^ marker- -> IO ()+pattern VkCmdWriteBufferMarkerAMD :: CString --- | queues: 'transfer', 'graphics', 'compute'.+pattern VkCmdWriteBufferMarkerAMD <-+ (is_VkCmdWriteBufferMarkerAMD -> True)+ where VkCmdWriteBufferMarkerAMD = _VkCmdWriteBufferMarkerAMD++{-# INLINE _VkCmdWriteBufferMarkerAMD #-}++_VkCmdWriteBufferMarkerAMD :: CString+_VkCmdWriteBufferMarkerAMD = Ptr "vkCmdWriteBufferMarkerAMD\NUL"#++{-# INLINE is_VkCmdWriteBufferMarkerAMD #-}++is_VkCmdWriteBufferMarkerAMD :: CString -> Bool+is_VkCmdWriteBufferMarkerAMD+ = (EQ ==) . cmpCStrings _VkCmdWriteBufferMarkerAMD++type VkCmdWriteBufferMarkerAMD = "vkCmdWriteBufferMarkerAMD"++-- | Queues: 'transfer', 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- pipeline: @transfer@+-- Pipeline: @transfer@ ----- > () vkCmdWriteBufferMarkerAMD+-- > void vkCmdWriteBufferMarkerAMD -- > ( VkCommandBuffer commandBuffer -- > , VkPipelineStageFlagBits pipelineStage -- > , VkBuffer dstBuffer@@ -75,17 +73,32 @@ -- > , uint32_t marker -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdWriteBufferMarkerAMD.html vkCmdWriteBufferMarkerAMD registry at www.khronos.org>-foreign import ccall safe "vkCmdWriteBufferMarkerAMD"- vkCmdWriteBufferMarkerAMDSafe ::- VkCommandBuffer -- ^ commandBuffer+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD registry at www.khronos.org>+type HS_vkCmdWriteBufferMarkerAMD =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineStageFlagBits -- ^ pipelineStage ->- VkPipelineStageFlagBits -- ^ pipelineStage- ->- VkBuffer -- ^ dstBuffer- -> VkDeviceSize -- ^ dstOffset- -> Word32 -- ^ marker- -> IO ()+ VkBuffer -- ^ dstBuffer+ -> VkDeviceSize -- ^ dstOffset+ -> Word32 -- ^ marker+ -> IO ()++type PFN_vkCmdWriteBufferMarkerAMD =+ FunPtr HS_vkCmdWriteBufferMarkerAMD++foreign import ccall "dynamic" unwrapVkCmdWriteBufferMarkerAMD ::+ PFN_vkCmdWriteBufferMarkerAMD -> HS_vkCmdWriteBufferMarkerAMD++instance VulkanProc "vkCmdWriteBufferMarkerAMD" where+ type VkProcType "vkCmdWriteBufferMarkerAMD" =+ HS_vkCmdWriteBufferMarkerAMD+ vkProcSymbol = _VkCmdWriteBufferMarkerAMD++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdWriteBufferMarkerAMD++ {-# INLINE unwrapVkProcPtr #-} pattern VK_AMD_BUFFER_MARKER_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count (-- * Vulkan extension: @VK_AMD_draw_indirect_count@@@ -18,9 +21,12 @@ -- type: @device@ -- -- Extension number: @34@- vkCmdDrawIndirectCountAMD, vkCmdDrawIndirectCountAMDSafe,- vkCmdDrawIndexedIndirectCountAMD,- vkCmdDrawIndexedIndirectCountAMDSafe,+ VkCmdDrawIndirectCountAMD, pattern VkCmdDrawIndirectCountAMD,+ HS_vkCmdDrawIndirectCountAMD, PFN_vkCmdDrawIndirectCountAMD,+ VkCmdDrawIndexedIndirectCountAMD,+ pattern VkCmdDrawIndexedIndirectCountAMD,+ HS_vkCmdDrawIndexedIndirectCountAMD,+ PFN_vkCmdDrawIndexedIndirectCountAMD, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Handles,@@ -31,78 +37,36 @@ where import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Handles --- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndirectCountAMD--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , VkBuffer countBuffer--- > , VkDeviceSize countBufferOffset--- > , uint32_t maxDrawCount--- > , uint32_t stride--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirectCountAMD.html vkCmdDrawIndirectCountAMD registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndirectCountAMD"- vkCmdDrawIndirectCountAMD ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- ->- VkDeviceSize -- ^ offset- ->- VkBuffer -- ^ countBuffer- -> VkDeviceSize -- ^ countBufferOffset- -> Word32 -- ^ maxDrawCount- -> Word32 -- ^ stride- -> IO ()+pattern VkCmdDrawIndirectCountAMD :: CString --- | queues: 'graphics'.------ renderpass: @inside@------ pipeline: @graphics@------ > () vkCmdDrawIndirectCountAMD--- > ( VkCommandBuffer commandBuffer--- > , VkBuffer buffer--- > , VkDeviceSize offset--- > , VkBuffer countBuffer--- > , VkDeviceSize countBufferOffset--- > , uint32_t maxDrawCount--- > , uint32_t stride--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndirectCountAMD.html vkCmdDrawIndirectCountAMD registry at www.khronos.org>-foreign import ccall safe "vkCmdDrawIndirectCountAMD"- vkCmdDrawIndirectCountAMDSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- ->- VkDeviceSize -- ^ offset- ->- VkBuffer -- ^ countBuffer- -> VkDeviceSize -- ^ countBufferOffset- -> Word32 -- ^ maxDrawCount- -> Word32 -- ^ stride- -> IO ()+pattern VkCmdDrawIndirectCountAMD <-+ (is_VkCmdDrawIndirectCountAMD -> True)+ where VkCmdDrawIndirectCountAMD = _VkCmdDrawIndirectCountAMD --- | queues: 'graphics'.+{-# INLINE _VkCmdDrawIndirectCountAMD #-}++_VkCmdDrawIndirectCountAMD :: CString+_VkCmdDrawIndirectCountAMD = Ptr "vkCmdDrawIndirectCountAMD\NUL"#++{-# INLINE is_VkCmdDrawIndirectCountAMD #-}++is_VkCmdDrawIndirectCountAMD :: CString -> Bool+is_VkCmdDrawIndirectCountAMD+ = (EQ ==) . cmpCStrings _VkCmdDrawIndirectCountAMD++type VkCmdDrawIndirectCountAMD = "vkCmdDrawIndirectCountAMD"++-- | Queues: 'graphics'. ----- renderpass: @inside@+-- Renderpass: @inside@ ----- pipeline: @graphics@+-- Pipeline: @graphics@ ----- > () vkCmdDrawIndexedIndirectCountAMD+-- > void vkCmdDrawIndirectCountAMD -- > ( VkCommandBuffer commandBuffer -- > , VkBuffer buffer -- > , VkDeviceSize offset@@ -112,28 +76,65 @@ -- > , uint32_t stride -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirectCountAMD.html vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDrawIndexedIndirectCountAMD"- vkCmdDrawIndexedIndirectCountAMD ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- ->- VkDeviceSize -- ^ offset- ->- VkBuffer -- ^ countBuffer- -> VkDeviceSize -- ^ countBufferOffset- -> Word32 -- ^ maxDrawCount- -> Word32 -- ^ stride- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD registry at www.khronos.org>+type HS_vkCmdDrawIndirectCountAMD =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ ->+ VkDeviceSize -- ^ offset+ ->+ VkBuffer -- ^ countBuffer+ -> VkDeviceSize -- ^ countBufferOffset+ -> Word32 -- ^ maxDrawCount+ -> Word32 -- ^ stride+ -> IO () --- | queues: 'graphics'.+type PFN_vkCmdDrawIndirectCountAMD =+ FunPtr HS_vkCmdDrawIndirectCountAMD++foreign import ccall "dynamic" unwrapVkCmdDrawIndirectCountAMD ::+ PFN_vkCmdDrawIndirectCountAMD -> HS_vkCmdDrawIndirectCountAMD++instance VulkanProc "vkCmdDrawIndirectCountAMD" where+ type VkProcType "vkCmdDrawIndirectCountAMD" =+ HS_vkCmdDrawIndirectCountAMD+ vkProcSymbol = _VkCmdDrawIndirectCountAMD++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDrawIndirectCountAMD++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDrawIndexedIndirectCountAMD :: CString++pattern VkCmdDrawIndexedIndirectCountAMD <-+ (is_VkCmdDrawIndexedIndirectCountAMD -> True)+ where VkCmdDrawIndexedIndirectCountAMD+ = _VkCmdDrawIndexedIndirectCountAMD++{-# INLINE _VkCmdDrawIndexedIndirectCountAMD #-}++_VkCmdDrawIndexedIndirectCountAMD :: CString+_VkCmdDrawIndexedIndirectCountAMD+ = Ptr "vkCmdDrawIndexedIndirectCountAMD\NUL"#++{-# INLINE is_VkCmdDrawIndexedIndirectCountAMD #-}++is_VkCmdDrawIndexedIndirectCountAMD :: CString -> Bool+is_VkCmdDrawIndexedIndirectCountAMD+ = (EQ ==) . cmpCStrings _VkCmdDrawIndexedIndirectCountAMD++type VkCmdDrawIndexedIndirectCountAMD =+ "vkCmdDrawIndexedIndirectCountAMD"++-- | Queues: 'graphics'. ----- renderpass: @inside@+-- Renderpass: @inside@ ----- pipeline: @graphics@+-- Pipeline: @graphics@ ----- > () vkCmdDrawIndexedIndirectCountAMD+-- > void vkCmdDrawIndexedIndirectCountAMD -- > ( VkCommandBuffer commandBuffer -- > , VkBuffer buffer -- > , VkDeviceSize offset@@ -143,20 +144,37 @@ -- > , uint32_t stride -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDrawIndexedIndirectCountAMD.html vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org>-foreign import ccall safe "vkCmdDrawIndexedIndirectCountAMD"- vkCmdDrawIndexedIndirectCountAMDSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkBuffer -- ^ buffer- ->- VkDeviceSize -- ^ offset- ->- VkBuffer -- ^ countBuffer- -> VkDeviceSize -- ^ countBufferOffset- -> Word32 -- ^ maxDrawCount- -> Word32 -- ^ stride- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD registry at www.khronos.org>+type HS_vkCmdDrawIndexedIndirectCountAMD =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkBuffer -- ^ buffer+ ->+ VkDeviceSize -- ^ offset+ ->+ VkBuffer -- ^ countBuffer+ -> VkDeviceSize -- ^ countBufferOffset+ -> Word32 -- ^ maxDrawCount+ -> Word32 -- ^ stride+ -> IO ()++type PFN_vkCmdDrawIndexedIndirectCountAMD =+ FunPtr HS_vkCmdDrawIndexedIndirectCountAMD++foreign import ccall "dynamic"+ unwrapVkCmdDrawIndexedIndirectCountAMD ::+ PFN_vkCmdDrawIndexedIndirectCountAMD ->+ HS_vkCmdDrawIndexedIndirectCountAMD++instance VulkanProc "vkCmdDrawIndexedIndirectCountAMD" where+ type VkProcType "vkCmdDrawIndexedIndirectCountAMD" =+ HS_vkCmdDrawIndexedIndirectCountAMD+ vkProcSymbol = _VkCmdDrawIndexedIndirectCountAMD++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDrawIndexedIndirectCountAMD++ {-# INLINE unwrapVkProcPtr #-} pattern VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION :: (Num a, Eq a) => a
@@ -18,14 +18,13 @@ -- -- Extension number: @19@ module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkCullModeFlags,- module Graphics.Vulkan.Types.Enum.VkFrontFace,+ module Graphics.Vulkan.Types.Enum.CullModeFlags,+ module Graphics.Vulkan.Types.Enum.FrontFace, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateRasterizationOrderAMD,- module Graphics.Vulkan.Types.Enum.VkPolygonMode,- module Graphics.Vulkan.Types.Enum.VkRasterizationOrderAMD,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.PolygonMode,+ module Graphics.Vulkan.Types.Enum.RasterizationOrderAMD,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION, pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION,@@ -33,18 +32,16 @@ pattern VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkCullModeFlags-import Graphics.Vulkan.Types.Enum.VkFrontFace-import Graphics.Vulkan.Types.Enum.VkPolygonMode-import Graphics.Vulkan.Types.Enum.VkRasterizationOrderAMD-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateRasterizationOrderAMD+import Graphics.Vulkan.Types.Enum.CullModeFlags+import Graphics.Vulkan.Types.Enum.FrontFace+import Graphics.Vulkan.Types.Enum.PolygonMode+import Graphics.Vulkan.Types.Enum.RasterizationOrderAMD+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Pipeline pattern VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION :: (Num a, Eq a) => a
@@ -0,0 +1,80 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Ext.VK_AMD_shader_core_properties+ (-- * Vulkan extension: @VK_AMD_shader_core_properties@+ -- |+ --+ -- supported: @vulkan@+ --+ -- contact: @Martin Dinkov @mdinkov@+ --+ -- author: @AMD@+ --+ -- type: @device@+ --+ -- Extension number: @186@+ --+ -- Required extensions: 'VK_KHR_get_physical_device_properties2'.+ --++ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.+ module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.BaseTypes,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType,+ -- > #include "vk_platform.h"+ VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION,+ pattern VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION,+ VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME,+ pattern VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.PhysicalDevice++pattern VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION ::+ (Num a, Eq a) => a++pattern VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 1++type VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 1++pattern VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: CString++pattern VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME <-+ (is_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME -> True)+ where VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME+ = _VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME++{-# INLINE _VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME #-}++_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: CString+_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME+ = Ptr "VK_AMD_shader_core_properties\NUL"#++{-# INLINE is_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME #-}++is_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME :: CString -> Bool+is_VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME+ = (EQ ==) .+ cmpCStrings _VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME++type VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME =+ "VK_AMD_shader_core_properties"++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD+ = VkStructureType 1000185000
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_AMD_shader_info (-- * Vulkan extension: @VK_AMD_shader_info@@@ -21,56 +24,43 @@ -- Extension number: @43@ module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkShaderInfoTypeAMD,- module Graphics.Vulkan.Types.Struct.VkShaderResourceUsageAMD,- module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,- module Graphics.Vulkan.Types.Struct.VkShaderStatisticsInfoAMD,- -- > #include "vk_platform.h"- vkGetShaderInfoAMD, vkGetShaderInfoAMDSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Struct.Shader, -- > #include "vk_platform.h"+ VkGetShaderInfoAMD,+ pattern VkGetShaderInfoAMD, HS_vkGetShaderInfoAMD,+ PFN_vkGetShaderInfoAMD, module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_AMD_SHADER_INFO_SPEC_VERSION, pattern VK_AMD_SHADER_INFO_SPEC_VERSION, VK_AMD_SHADER_INFO_EXTENSION_NAME, pattern VK_AMD_SHADER_INFO_EXTENSION_NAME) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkShaderInfoTypeAMD-import Graphics.Vulkan.Types.Enum.VkShaderStageFlags+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.Shader import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkShaderResourceUsageAMD-import Graphics.Vulkan.Types.Struct.VkShaderStatisticsInfoAMD+import Graphics.Vulkan.Types.Struct.Shader --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetShaderInfoAMD--- > ( VkDevice device--- > , VkPipeline pipeline--- > , VkShaderStageFlagBits shaderStage--- > , VkShaderInfoTypeAMD infoType--- > , size_t* pInfoSize--- > , void* pInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetShaderInfoAMD.html vkGetShaderInfoAMD registry at www.khronos.org>-foreign import ccall unsafe "vkGetShaderInfoAMD" vkGetShaderInfoAMD- ::- VkDevice -- ^ device- ->- VkPipeline -- ^ pipeline- ->- VkShaderStageFlagBits -- ^ shaderStage- ->- VkShaderInfoTypeAMD -- ^ infoType- -> Ptr CSize -- ^ pInfoSize- -> Ptr Void -- ^ pInfo- -> IO VkResult+pattern VkGetShaderInfoAMD :: CString +pattern VkGetShaderInfoAMD <- (is_VkGetShaderInfoAMD -> True)+ where VkGetShaderInfoAMD = _VkGetShaderInfoAMD++{-# INLINE _VkGetShaderInfoAMD #-}++_VkGetShaderInfoAMD :: CString+_VkGetShaderInfoAMD = Ptr "vkGetShaderInfoAMD\NUL"#++{-# INLINE is_VkGetShaderInfoAMD #-}++is_VkGetShaderInfoAMD :: CString -> Bool+is_VkGetShaderInfoAMD = (EQ ==) . cmpCStrings _VkGetShaderInfoAMD++type VkGetShaderInfoAMD = "vkGetShaderInfoAMD"+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- -- Error codes: 'VK_ERROR_FEATURE_NOT_PRESENT', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -84,19 +74,32 @@ -- > , void* pInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetShaderInfoAMD.html vkGetShaderInfoAMD registry at www.khronos.org>-foreign import ccall safe "vkGetShaderInfoAMD"- vkGetShaderInfoAMDSafe ::- VkDevice -- ^ device- ->- VkPipeline -- ^ pipeline- ->- VkShaderStageFlagBits -- ^ shaderStage- ->- VkShaderInfoTypeAMD -- ^ infoType- -> Ptr CSize -- ^ pInfoSize- -> Ptr Void -- ^ pInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetShaderInfoAMD vkGetShaderInfoAMD registry at www.khronos.org>+type HS_vkGetShaderInfoAMD =+ VkDevice -- ^ device+ ->+ VkPipeline -- ^ pipeline+ ->+ VkShaderStageFlagBits -- ^ shaderStage+ ->+ VkShaderInfoTypeAMD -- ^ infoType+ -> Ptr CSize -- ^ pInfoSize+ -> Ptr Void -- ^ pInfo+ -> IO VkResult++type PFN_vkGetShaderInfoAMD = FunPtr HS_vkGetShaderInfoAMD++foreign import ccall "dynamic" unwrapVkGetShaderInfoAMD ::+ PFN_vkGetShaderInfoAMD -> HS_vkGetShaderInfoAMD++instance VulkanProc "vkGetShaderInfoAMD" where+ type VkProcType "vkGetShaderInfoAMD" = HS_vkGetShaderInfoAMD+ vkProcSymbol = _VkGetShaderInfoAMD++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetShaderInfoAMD++ {-# INLINE unwrapVkProcPtr #-} pattern VK_AMD_SHADER_INFO_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,12 +23,11 @@ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkTextureLODGatherFormatPropertiesAMD,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD, -- > #include "vk_platform.h" VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION, pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION,@@ -37,15 +36,14 @@ pattern VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD) where import GHC.Ptr- (Ptr (..))+ (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2-import Graphics.Vulkan.Types.Struct.VkTextureLODGatherFormatPropertiesAMD+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD pattern VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_ANDROID_external_memory_android_hardware_buffer (-- * Vulkan extension: @VK_ANDROID_external_memory_android_hardware_buffer@@@ -21,46 +24,37 @@ -- -- Extension number: @130@ --- -- Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory'.+ -- Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory', 'VK_EXT_queue_family_foreign'. -- - -- ** Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory'.- module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferFormatPropertiesANDROID,- module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID,- module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferUsageANDROID,+ -- ** Required extensions: 'VK_KHR_sampler_ycbcr_conversion', 'VK_KHR_external_memory', 'VK_EXT_queue_family_foreign'.+ module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkChromaLocation,- module Graphics.Vulkan.Types.Struct.VkComponentMapping,- module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Struct.VkExternalFormatANDROID,- module Graphics.Vulkan.Types.Enum.VkFilter,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkImportAndroidHardwareBufferInfoANDROID,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryGetAndroidHardwareBufferInfoANDROID,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.ChromaLocation,+ module Graphics.Vulkan.Types.Struct.ComponentMapping,+ module Graphics.Vulkan.Types.Enum.ComponentSwizzle,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Filter,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Struct.Sampler,+ module Graphics.Vulkan.Types.Enum.Sampler,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkGetAndroidHardwareBufferPropertiesANDROID,- vkGetAndroidHardwareBufferPropertiesANDROIDSafe,- vkGetMemoryAndroidHardwareBufferANDROID,- vkGetMemoryAndroidHardwareBufferANDROIDSafe,+ VkGetAndroidHardwareBufferPropertiesANDROID,+ pattern VkGetAndroidHardwareBufferPropertiesANDROID,+ HS_vkGetAndroidHardwareBufferPropertiesANDROID,+ PFN_vkGetAndroidHardwareBufferPropertiesANDROID,+ VkGetMemoryAndroidHardwareBufferANDROID,+ pattern VkGetMemoryAndroidHardwareBufferANDROID,+ HS_vkGetMemoryAndroidHardwareBufferANDROID,+ PFN_vkGetMemoryAndroidHardwareBufferANDROID, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION, pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION,@@ -74,67 +68,54 @@ pattern VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, pattern VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Defines- (AHardwareBuffer)-import Graphics.Vulkan.Types.Enum.VkChromaLocation-import Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags- (VkExternalMemoryHandleTypeBitmask (..),- VkExternalMemoryHandleTypeFlagBits)-import Graphics.Vulkan.Types.Enum.VkFilter-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Defines (AHardwareBuffer)+import Graphics.Vulkan.Types.Enum.ChromaLocation+import Graphics.Vulkan.Types.Enum.ComponentSwizzle+import Graphics.Vulkan.Types.Enum.External (VkExternalMemoryHandleTypeBitmask (..),+ VkExternalMemoryHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferFormatPropertiesANDROID-import Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID-import Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferUsageANDROID-import Graphics.Vulkan.Types.Struct.VkComponentMapping-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkExternalFormatANDROID-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2-import Graphics.Vulkan.Types.Struct.VkImportAndroidHardwareBufferInfoANDROID-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryGetAndroidHardwareBufferInfoANDROID-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo+import Graphics.Vulkan.Types.Struct.ComponentMapping+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.PlatformAndroidKhr+import Graphics.Vulkan.Types.Struct.Sampler --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.------ > VkResult vkGetAndroidHardwareBufferPropertiesANDROID--- > ( VkDevice device--- > , const struct AHardwareBuffer* buffer--- > , VkAndroidHardwareBufferPropertiesANDROID* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html vkGetAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>-foreign import ccall unsafe- "vkGetAndroidHardwareBufferPropertiesANDROID"- vkGetAndroidHardwareBufferPropertiesANDROID ::- VkDevice -- ^ device- ->- Ptr AHardwareBuffer -- ^ buffer- ->- Ptr VkAndroidHardwareBufferPropertiesANDROID -- ^ pProperties- -> IO VkResult+pattern VkGetAndroidHardwareBufferPropertiesANDROID :: CString +pattern VkGetAndroidHardwareBufferPropertiesANDROID <-+ (is_VkGetAndroidHardwareBufferPropertiesANDROID -> True)+ where VkGetAndroidHardwareBufferPropertiesANDROID+ = _VkGetAndroidHardwareBufferPropertiesANDROID++{-# INLINE _VkGetAndroidHardwareBufferPropertiesANDROID #-}++_VkGetAndroidHardwareBufferPropertiesANDROID :: CString+_VkGetAndroidHardwareBufferPropertiesANDROID+ = Ptr "vkGetAndroidHardwareBufferPropertiesANDROID\NUL"#++{-# INLINE is_VkGetAndroidHardwareBufferPropertiesANDROID #-}++is_VkGetAndroidHardwareBufferPropertiesANDROID :: CString -> Bool+is_VkGetAndroidHardwareBufferPropertiesANDROID+ = (EQ ==) .+ cmpCStrings _VkGetAndroidHardwareBufferPropertiesANDROID++type VkGetAndroidHardwareBufferPropertiesANDROID =+ "vkGetAndroidHardwareBufferPropertiesANDROID"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR'.@@ -145,38 +126,56 @@ -- > , VkAndroidHardwareBufferPropertiesANDROID* pProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html vkGetAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>-foreign import ccall safe- "vkGetAndroidHardwareBufferPropertiesANDROID"- vkGetAndroidHardwareBufferPropertiesANDROIDSafe ::- VkDevice -- ^ device- ->- Ptr AHardwareBuffer -- ^ buffer- ->- Ptr VkAndroidHardwareBufferPropertiesANDROID -- ^ pProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>+type HS_vkGetAndroidHardwareBufferPropertiesANDROID =+ VkDevice -- ^ device+ ->+ Ptr AHardwareBuffer -- ^ buffer+ ->+ Ptr VkAndroidHardwareBufferPropertiesANDROID -- ^ pProperties+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetMemoryAndroidHardwareBufferANDROID--- > ( VkDevice device--- > , const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo--- > , struct AHardwareBuffer** pBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html vkGetMemoryAndroidHardwareBufferANDROID registry at www.khronos.org>-foreign import ccall unsafe- "vkGetMemoryAndroidHardwareBufferANDROID"- vkGetMemoryAndroidHardwareBufferANDROID ::- VkDevice -- ^ device- ->- Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID -- ^ pInfo- ->- Ptr (Ptr AHardwareBuffer) -- ^ pBuffer- -> IO VkResult+type PFN_vkGetAndroidHardwareBufferPropertiesANDROID =+ FunPtr HS_vkGetAndroidHardwareBufferPropertiesANDROID +foreign import ccall "dynamic"+ unwrapVkGetAndroidHardwareBufferPropertiesANDROID ::+ PFN_vkGetAndroidHardwareBufferPropertiesANDROID ->+ HS_vkGetAndroidHardwareBufferPropertiesANDROID++instance VulkanProc "vkGetAndroidHardwareBufferPropertiesANDROID"+ where+ type VkProcType "vkGetAndroidHardwareBufferPropertiesANDROID" =+ HS_vkGetAndroidHardwareBufferPropertiesANDROID+ vkProcSymbol = _VkGetAndroidHardwareBufferPropertiesANDROID++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetAndroidHardwareBufferPropertiesANDROID++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetMemoryAndroidHardwareBufferANDROID :: CString++pattern VkGetMemoryAndroidHardwareBufferANDROID <-+ (is_VkGetMemoryAndroidHardwareBufferANDROID -> True)+ where VkGetMemoryAndroidHardwareBufferANDROID+ = _VkGetMemoryAndroidHardwareBufferANDROID++{-# INLINE _VkGetMemoryAndroidHardwareBufferANDROID #-}++_VkGetMemoryAndroidHardwareBufferANDROID :: CString+_VkGetMemoryAndroidHardwareBufferANDROID+ = Ptr "vkGetMemoryAndroidHardwareBufferANDROID\NUL"#++{-# INLINE is_VkGetMemoryAndroidHardwareBufferANDROID #-}++is_VkGetMemoryAndroidHardwareBufferANDROID :: CString -> Bool+is_VkGetMemoryAndroidHardwareBufferANDROID+ = (EQ ==) . cmpCStrings _VkGetMemoryAndroidHardwareBufferANDROID++type VkGetMemoryAndroidHardwareBufferANDROID =+ "vkGetMemoryAndroidHardwareBufferANDROID"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -187,15 +186,32 @@ -- > , struct AHardwareBuffer** pBuffer -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryAndroidHardwareBufferANDROID.html vkGetMemoryAndroidHardwareBufferANDROID registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryAndroidHardwareBufferANDROID"- vkGetMemoryAndroidHardwareBufferANDROIDSafe ::- VkDevice -- ^ device- ->- Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID -- ^ pInfo- ->- Ptr (Ptr AHardwareBuffer) -- ^ pBuffer- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID registry at www.khronos.org>+type HS_vkGetMemoryAndroidHardwareBufferANDROID =+ VkDevice -- ^ device+ ->+ Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID -- ^ pInfo+ ->+ Ptr (Ptr AHardwareBuffer) -- ^ pBuffer+ -> IO VkResult++type PFN_vkGetMemoryAndroidHardwareBufferANDROID =+ FunPtr HS_vkGetMemoryAndroidHardwareBufferANDROID++foreign import ccall "dynamic"+ unwrapVkGetMemoryAndroidHardwareBufferANDROID ::+ PFN_vkGetMemoryAndroidHardwareBufferANDROID ->+ HS_vkGetMemoryAndroidHardwareBufferANDROID++instance VulkanProc "vkGetMemoryAndroidHardwareBufferANDROID" where+ type VkProcType "vkGetMemoryAndroidHardwareBufferANDROID" =+ HS_vkGetMemoryAndroidHardwareBufferANDROID+ vkProcSymbol = _VkGetMemoryAndroidHardwareBufferANDROID++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryAndroidHardwareBufferANDROID++ {-# INLINE unwrapVkProcPtr #-} pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_acquire_xlib_display (-- * Vulkan extension: @VK_EXT_acquire_xlib_display@@@ -25,39 +28,43 @@ -- -- ** Required extensions: 'VK_EXT_direct_mode_display'.- vkAcquireXlibDisplayEXT, vkAcquireXlibDisplayEXTSafe,- vkGetRandROutputDisplayEXT, vkGetRandROutputDisplayEXTSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ VkAcquireXlibDisplayEXT, pattern VkAcquireXlibDisplayEXT,+ HS_vkAcquireXlibDisplayEXT, PFN_vkAcquireXlibDisplayEXT,+ VkGetRandROutputDisplayEXT, pattern VkGetRandROutputDisplayEXT,+ HS_vkGetRandROutputDisplayEXT, PFN_vkGetRandROutputDisplayEXT,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION, pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION, VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME, pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkResult+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..))+import Graphics.Vulkan.Types.Enum.Result import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Include (Display, RROutput)+import Graphics.Vulkan.Types.Include (Display, RROutput) --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkAcquireXlibDisplayEXT--- > ( VkPhysicalDevice physicalDevice--- > , Display* dpy--- > , VkDisplayKHR display--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireXlibDisplayEXT.html vkAcquireXlibDisplayEXT registry at www.khronos.org>-foreign import ccall unsafe "vkAcquireXlibDisplayEXT"- vkAcquireXlibDisplayEXT ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr Display -- ^ dpy- -> VkDisplayKHR -- ^ display- -> IO VkResult+pattern VkAcquireXlibDisplayEXT :: CString +pattern VkAcquireXlibDisplayEXT <-+ (is_VkAcquireXlibDisplayEXT -> True)+ where VkAcquireXlibDisplayEXT = _VkAcquireXlibDisplayEXT++{-# INLINE _VkAcquireXlibDisplayEXT #-}++_VkAcquireXlibDisplayEXT :: CString+_VkAcquireXlibDisplayEXT = Ptr "vkAcquireXlibDisplayEXT\NUL"#++{-# INLINE is_VkAcquireXlibDisplayEXT #-}++is_VkAcquireXlibDisplayEXT :: CString -> Bool+is_VkAcquireXlibDisplayEXT+ = (EQ ==) . cmpCStrings _VkAcquireXlibDisplayEXT++type VkAcquireXlibDisplayEXT = "vkAcquireXlibDisplayEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_INITIALIZATION_FAILED'.@@ -68,33 +75,48 @@ -- > , VkDisplayKHR display -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireXlibDisplayEXT.html vkAcquireXlibDisplayEXT registry at www.khronos.org>-foreign import ccall safe "vkAcquireXlibDisplayEXT"- vkAcquireXlibDisplayEXTSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr Display -- ^ dpy- -> VkDisplayKHR -- ^ display- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT registry at www.khronos.org>+type HS_vkAcquireXlibDisplayEXT =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr Display -- ^ dpy+ -> VkDisplayKHR -- ^ display+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ > VkResult vkGetRandROutputDisplayEXT--- > ( VkPhysicalDevice physicalDevice--- > , Display* dpy--- > , RROutput rrOutput--- > , VkDisplayKHR* pDisplay--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRandROutputDisplayEXT.html vkGetRandROutputDisplayEXT registry at www.khronos.org>-foreign import ccall unsafe "vkGetRandROutputDisplayEXT"- vkGetRandROutputDisplayEXT ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Display -- ^ dpy- -> RROutput -- ^ rrOutput- -> Ptr VkDisplayKHR -- ^ pDisplay- -> IO VkResult+type PFN_vkAcquireXlibDisplayEXT =+ FunPtr HS_vkAcquireXlibDisplayEXT +foreign import ccall "dynamic" unwrapVkAcquireXlibDisplayEXT ::+ PFN_vkAcquireXlibDisplayEXT -> HS_vkAcquireXlibDisplayEXT++instance VulkanProc "vkAcquireXlibDisplayEXT" where+ type VkProcType "vkAcquireXlibDisplayEXT" =+ HS_vkAcquireXlibDisplayEXT+ vkProcSymbol = _VkAcquireXlibDisplayEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkAcquireXlibDisplayEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetRandROutputDisplayEXT :: CString++pattern VkGetRandROutputDisplayEXT <-+ (is_VkGetRandROutputDisplayEXT -> True)+ where VkGetRandROutputDisplayEXT = _VkGetRandROutputDisplayEXT++{-# INLINE _VkGetRandROutputDisplayEXT #-}++_VkGetRandROutputDisplayEXT :: CString+_VkGetRandROutputDisplayEXT = Ptr "vkGetRandROutputDisplayEXT\NUL"#++{-# INLINE is_VkGetRandROutputDisplayEXT #-}++is_VkGetRandROutputDisplayEXT :: CString -> Bool+is_VkGetRandROutputDisplayEXT+ = (EQ ==) . cmpCStrings _VkGetRandROutputDisplayEXT++type VkGetRandROutputDisplayEXT = "vkGetRandROutputDisplayEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- > VkResult vkGetRandROutputDisplayEXT@@ -104,15 +126,30 @@ -- > , VkDisplayKHR* pDisplay -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRandROutputDisplayEXT.html vkGetRandROutputDisplayEXT registry at www.khronos.org>-foreign import ccall safe "vkGetRandROutputDisplayEXT"- vkGetRandROutputDisplayEXTSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Display -- ^ dpy- -> RROutput -- ^ rrOutput- -> Ptr VkDisplayKHR -- ^ pDisplay- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT registry at www.khronos.org>+type HS_vkGetRandROutputDisplayEXT =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Display -- ^ dpy+ -> RROutput -- ^ rrOutput+ -> Ptr VkDisplayKHR -- ^ pDisplay+ -> IO VkResult++type PFN_vkGetRandROutputDisplayEXT =+ FunPtr HS_vkGetRandROutputDisplayEXT++foreign import ccall "dynamic" unwrapVkGetRandROutputDisplayEXT ::+ PFN_vkGetRandROutputDisplayEXT -> HS_vkGetRandROutputDisplayEXT++instance VulkanProc "vkGetRandROutputDisplayEXT" where+ type VkProcType "vkGetRandROutputDisplayEXT" =+ HS_vkGetRandROutputDisplayEXT+ vkProcSymbol = _VkGetRandROutputDisplayEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetRandROutputDisplayEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a
@@ -18,30 +18,19 @@ -- -- Extension number: @149@ module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkBlendFactor,- module Graphics.Vulkan.Types.Enum.VkBlendOp,- module Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT,+ module Graphics.Vulkan.Types.Enum.Blend, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,+ module Graphics.Vulkan.Types.Enum.Color, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,- module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,- module Graphics.Vulkan.Types.Enum.VkLogicOp,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Enum.LogicOp,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION,@@ -84,36 +73,23 @@ pattern VK_BLEND_OP_GREEN_EXT, pattern VK_BLEND_OP_BLUE_EXT, pattern VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkAccessFlags- (VkAccessBitmask (..),- VkAccessFlagBits)-import Graphics.Vulkan.Types.Enum.VkBlendFactor-import Graphics.Vulkan.Types.Enum.VkBlendOp-import Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT-import Graphics.Vulkan.Types.Enum.VkColorComponentFlags-import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags-import Graphics.Vulkan.Types.Enum.VkLogicOp-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAdvancedStateCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo+import Graphics.Vulkan.Types.Enum.AccessFlags (VkAccessBitmask (..),+ VkAccessFlagBits)+import Graphics.Vulkan.Types.Enum.Blend+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.LogicOp+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+import Graphics.Vulkan.Types.Struct.Pipeline pattern VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION :: (Num a, Eq a) => a
@@ -24,21 +24,16 @@ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkConservativeRasterizationModeEXT,- module Graphics.Vulkan.Types.Enum.VkCullModeFlags,- module Graphics.Vulkan.Types.Enum.VkFrontFace,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceConservativeRasterizationPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT,+ module Graphics.Vulkan.Types.Enum.CullModeFlags,+ module Graphics.Vulkan.Types.Enum.FrontFace,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationConservativeStateCreateInfoEXT,- module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkPolygonMode,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.PolygonMode,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION,@@ -47,25 +42,19 @@ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkConservativeRasterizationModeEXT-import Graphics.Vulkan.Types.Enum.VkCullModeFlags-import Graphics.Vulkan.Types.Enum.VkFrontFace-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkPolygonMode-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceConservativeRasterizationPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPipelineRasterizationConservativeStateCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo+import Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT+import Graphics.Vulkan.Types.Enum.CullModeFlags+import Graphics.Vulkan.Types.Enum.FrontFace+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.PolygonMode+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Pipeline pattern VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_debug_marker (-- * Vulkan extension: @VK_EXT_debug_marker@@@ -24,18 +27,23 @@ -- ** Required extensions: 'VK_EXT_debug_report'. module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Struct.VkDebugMarkerMarkerInfoEXT,- module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectNameInfoEXT,- module Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectTagInfoEXT,- module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Debug,+ module Graphics.Vulkan.Types.Enum.Debug,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkDebugMarkerSetObjectTagEXT, vkDebugMarkerSetObjectTagEXTSafe,- vkDebugMarkerSetObjectNameEXT, vkDebugMarkerSetObjectNameEXTSafe,- vkCmdDebugMarkerBeginEXT, vkCmdDebugMarkerBeginEXTSafe,- vkCmdDebugMarkerEndEXT, vkCmdDebugMarkerEndEXTSafe,- vkCmdDebugMarkerInsertEXT, vkCmdDebugMarkerInsertEXTSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ VkDebugMarkerSetObjectTagEXT, pattern VkDebugMarkerSetObjectTagEXT,+ HS_vkDebugMarkerSetObjectTagEXT, PFN_vkDebugMarkerSetObjectTagEXT,+ VkDebugMarkerSetObjectNameEXT,+ pattern VkDebugMarkerSetObjectNameEXT,+ HS_vkDebugMarkerSetObjectNameEXT,+ PFN_vkDebugMarkerSetObjectNameEXT, VkCmdDebugMarkerBeginEXT,+ pattern VkCmdDebugMarkerBeginEXT, HS_vkCmdDebugMarkerBeginEXT,+ PFN_vkCmdDebugMarkerBeginEXT, VkCmdDebugMarkerEndEXT,+ pattern VkCmdDebugMarkerEndEXT, HS_vkCmdDebugMarkerEndEXT,+ PFN_vkCmdDebugMarkerEndEXT, VkCmdDebugMarkerInsertEXT,+ pattern VkCmdDebugMarkerInsertEXT, HS_vkCmdDebugMarkerInsertEXT,+ PFN_vkCmdDebugMarkerInsertEXT,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_EXT_DEBUG_MARKER_SPEC_VERSION, pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION,@@ -45,32 +53,35 @@ pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT, pattern VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..))+import Graphics.Vulkan.Types.Enum.Debug+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkDebugMarkerMarkerInfoEXT-import Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectNameInfoEXT-import Graphics.Vulkan.Types.Struct.VkDebugMarkerObjectTagInfoEXT+import Graphics.Vulkan.Types.Struct.Debug --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkDebugMarkerSetObjectTagEXT--- > ( VkDevice device--- > , const VkDebugMarkerObjectTagInfoEXT* pTagInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectTagEXT.html vkDebugMarkerSetObjectTagEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDebugMarkerSetObjectTagEXT"- vkDebugMarkerSetObjectTagEXT ::- VkDevice -- ^ device- -> Ptr VkDebugMarkerObjectTagInfoEXT -- ^ pTagInfo- -> IO VkResult+pattern VkDebugMarkerSetObjectTagEXT :: CString +pattern VkDebugMarkerSetObjectTagEXT <-+ (is_VkDebugMarkerSetObjectTagEXT -> True)+ where VkDebugMarkerSetObjectTagEXT = _VkDebugMarkerSetObjectTagEXT++{-# INLINE _VkDebugMarkerSetObjectTagEXT #-}++_VkDebugMarkerSetObjectTagEXT :: CString+_VkDebugMarkerSetObjectTagEXT+ = Ptr "vkDebugMarkerSetObjectTagEXT\NUL"#++{-# INLINE is_VkDebugMarkerSetObjectTagEXT #-}++is_VkDebugMarkerSetObjectTagEXT :: CString -> Bool+is_VkDebugMarkerSetObjectTagEXT+ = (EQ ==) . cmpCStrings _VkDebugMarkerSetObjectTagEXT++type VkDebugMarkerSetObjectTagEXT = "vkDebugMarkerSetObjectTagEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -80,29 +91,51 @@ -- > , const VkDebugMarkerObjectTagInfoEXT* pTagInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectTagEXT.html vkDebugMarkerSetObjectTagEXT registry at www.khronos.org>-foreign import ccall safe "vkDebugMarkerSetObjectTagEXT"- vkDebugMarkerSetObjectTagEXTSafe ::- VkDevice -- ^ device- -> Ptr VkDebugMarkerObjectTagInfoEXT -- ^ pTagInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT registry at www.khronos.org>+type HS_vkDebugMarkerSetObjectTagEXT =+ VkDevice -- ^ device+ -> Ptr VkDebugMarkerObjectTagInfoEXT -- ^ pTagInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkDebugMarkerSetObjectNameEXT--- > ( VkDevice device--- > , const VkDebugMarkerObjectNameInfoEXT* pNameInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectNameEXT.html vkDebugMarkerSetObjectNameEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDebugMarkerSetObjectNameEXT"- vkDebugMarkerSetObjectNameEXT ::- VkDevice -- ^ device- -> Ptr VkDebugMarkerObjectNameInfoEXT -- ^ pNameInfo- -> IO VkResult+type PFN_vkDebugMarkerSetObjectTagEXT =+ FunPtr HS_vkDebugMarkerSetObjectTagEXT +foreign import ccall "dynamic" unwrapVkDebugMarkerSetObjectTagEXT+ ::+ PFN_vkDebugMarkerSetObjectTagEXT -> HS_vkDebugMarkerSetObjectTagEXT++instance VulkanProc "vkDebugMarkerSetObjectTagEXT" where+ type VkProcType "vkDebugMarkerSetObjectTagEXT" =+ HS_vkDebugMarkerSetObjectTagEXT+ vkProcSymbol = _VkDebugMarkerSetObjectTagEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDebugMarkerSetObjectTagEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDebugMarkerSetObjectNameEXT :: CString++pattern VkDebugMarkerSetObjectNameEXT <-+ (is_VkDebugMarkerSetObjectNameEXT -> True)+ where VkDebugMarkerSetObjectNameEXT+ = _VkDebugMarkerSetObjectNameEXT++{-# INLINE _VkDebugMarkerSetObjectNameEXT #-}++_VkDebugMarkerSetObjectNameEXT :: CString+_VkDebugMarkerSetObjectNameEXT+ = Ptr "vkDebugMarkerSetObjectNameEXT\NUL"#++{-# INLINE is_VkDebugMarkerSetObjectNameEXT #-}++is_VkDebugMarkerSetObjectNameEXT :: CString -> Bool+is_VkDebugMarkerSetObjectNameEXT+ = (EQ ==) . cmpCStrings _VkDebugMarkerSetObjectNameEXT++type VkDebugMarkerSetObjectNameEXT =+ "vkDebugMarkerSetObjectNameEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -112,102 +145,175 @@ -- > , const VkDebugMarkerObjectNameInfoEXT* pNameInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugMarkerSetObjectNameEXT.html vkDebugMarkerSetObjectNameEXT registry at www.khronos.org>-foreign import ccall safe "vkDebugMarkerSetObjectNameEXT"- vkDebugMarkerSetObjectNameEXTSafe ::- VkDevice -- ^ device- -> Ptr VkDebugMarkerObjectNameInfoEXT -- ^ pNameInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT registry at www.khronos.org>+type HS_vkDebugMarkerSetObjectNameEXT =+ VkDevice -- ^ device+ -> Ptr VkDebugMarkerObjectNameInfoEXT -- ^ pNameInfo+ -> IO VkResult --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdDebugMarkerBeginEXT--- > ( VkCommandBuffer commandBuffer--- > , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerBeginEXT.html vkCmdDebugMarkerBeginEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDebugMarkerBeginEXT"- vkCmdDebugMarkerBeginEXT ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo- -> IO ()+type PFN_vkDebugMarkerSetObjectNameEXT =+ FunPtr HS_vkDebugMarkerSetObjectNameEXT --- | queues: 'graphics', 'compute'.+foreign import ccall "dynamic" unwrapVkDebugMarkerSetObjectNameEXT+ ::+ PFN_vkDebugMarkerSetObjectNameEXT ->+ HS_vkDebugMarkerSetObjectNameEXT++instance VulkanProc "vkDebugMarkerSetObjectNameEXT" where+ type VkProcType "vkDebugMarkerSetObjectNameEXT" =+ HS_vkDebugMarkerSetObjectNameEXT+ vkProcSymbol = _VkDebugMarkerSetObjectNameEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDebugMarkerSetObjectNameEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDebugMarkerBeginEXT :: CString++pattern VkCmdDebugMarkerBeginEXT <-+ (is_VkCmdDebugMarkerBeginEXT -> True)+ where VkCmdDebugMarkerBeginEXT = _VkCmdDebugMarkerBeginEXT++{-# INLINE _VkCmdDebugMarkerBeginEXT #-}++_VkCmdDebugMarkerBeginEXT :: CString+_VkCmdDebugMarkerBeginEXT = Ptr "vkCmdDebugMarkerBeginEXT\NUL"#++{-# INLINE is_VkCmdDebugMarkerBeginEXT #-}++is_VkCmdDebugMarkerBeginEXT :: CString -> Bool+is_VkCmdDebugMarkerBeginEXT+ = (EQ ==) . cmpCStrings _VkCmdDebugMarkerBeginEXT++type VkCmdDebugMarkerBeginEXT = "vkCmdDebugMarkerBeginEXT"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdDebugMarkerBeginEXT+-- > void vkCmdDebugMarkerBeginEXT -- > ( VkCommandBuffer commandBuffer -- > , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerBeginEXT.html vkCmdDebugMarkerBeginEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdDebugMarkerBeginEXT"- vkCmdDebugMarkerBeginEXTSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT registry at www.khronos.org>+type HS_vkCmdDebugMarkerBeginEXT =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo+ -> IO () --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdDebugMarkerEndEXT--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerEndEXT.html vkCmdDebugMarkerEndEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDebugMarkerEndEXT"- vkCmdDebugMarkerEndEXT :: VkCommandBuffer -- ^ commandBuffer- -> IO ()+type PFN_vkCmdDebugMarkerBeginEXT =+ FunPtr HS_vkCmdDebugMarkerBeginEXT --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdDebugMarkerEndEXT--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerEndEXT.html vkCmdDebugMarkerEndEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdDebugMarkerEndEXT"- vkCmdDebugMarkerEndEXTSafe :: VkCommandBuffer -- ^ commandBuffer- -> IO ()+foreign import ccall "dynamic" unwrapVkCmdDebugMarkerBeginEXT ::+ PFN_vkCmdDebugMarkerBeginEXT -> HS_vkCmdDebugMarkerBeginEXT --- | queues: 'graphics', 'compute'.+instance VulkanProc "vkCmdDebugMarkerBeginEXT" where+ type VkProcType "vkCmdDebugMarkerBeginEXT" =+ HS_vkCmdDebugMarkerBeginEXT+ vkProcSymbol = _VkCmdDebugMarkerBeginEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDebugMarkerBeginEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDebugMarkerEndEXT :: CString++pattern VkCmdDebugMarkerEndEXT <-+ (is_VkCmdDebugMarkerEndEXT -> True)+ where VkCmdDebugMarkerEndEXT = _VkCmdDebugMarkerEndEXT++{-# INLINE _VkCmdDebugMarkerEndEXT #-}++_VkCmdDebugMarkerEndEXT :: CString+_VkCmdDebugMarkerEndEXT = Ptr "vkCmdDebugMarkerEndEXT\NUL"#++{-# INLINE is_VkCmdDebugMarkerEndEXT #-}++is_VkCmdDebugMarkerEndEXT :: CString -> Bool+is_VkCmdDebugMarkerEndEXT+ = (EQ ==) . cmpCStrings _VkCmdDebugMarkerEndEXT++type VkCmdDebugMarkerEndEXT = "vkCmdDebugMarkerEndEXT"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdDebugMarkerInsertEXT+-- > void vkCmdDebugMarkerEndEXT -- > ( VkCommandBuffer commandBuffer--- > , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerInsertEXT.html vkCmdDebugMarkerInsertEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDebugMarkerInsertEXT"- vkCmdDebugMarkerInsertEXT ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT registry at www.khronos.org>+type HS_vkCmdDebugMarkerEndEXT = VkCommandBuffer -- ^ commandBuffer+ -> IO () --- | queues: 'graphics', 'compute'.+type PFN_vkCmdDebugMarkerEndEXT = FunPtr HS_vkCmdDebugMarkerEndEXT++foreign import ccall "dynamic" unwrapVkCmdDebugMarkerEndEXT ::+ PFN_vkCmdDebugMarkerEndEXT -> HS_vkCmdDebugMarkerEndEXT++instance VulkanProc "vkCmdDebugMarkerEndEXT" where+ type VkProcType "vkCmdDebugMarkerEndEXT" =+ HS_vkCmdDebugMarkerEndEXT+ vkProcSymbol = _VkCmdDebugMarkerEndEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDebugMarkerEndEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDebugMarkerInsertEXT :: CString++pattern VkCmdDebugMarkerInsertEXT <-+ (is_VkCmdDebugMarkerInsertEXT -> True)+ where VkCmdDebugMarkerInsertEXT = _VkCmdDebugMarkerInsertEXT++{-# INLINE _VkCmdDebugMarkerInsertEXT #-}++_VkCmdDebugMarkerInsertEXT :: CString+_VkCmdDebugMarkerInsertEXT = Ptr "vkCmdDebugMarkerInsertEXT\NUL"#++{-# INLINE is_VkCmdDebugMarkerInsertEXT #-}++is_VkCmdDebugMarkerInsertEXT :: CString -> Bool+is_VkCmdDebugMarkerInsertEXT+ = (EQ ==) . cmpCStrings _VkCmdDebugMarkerInsertEXT++type VkCmdDebugMarkerInsertEXT = "vkCmdDebugMarkerInsertEXT"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdDebugMarkerInsertEXT+-- > void vkCmdDebugMarkerInsertEXT -- > ( VkCommandBuffer commandBuffer -- > , const VkDebugMarkerMarkerInfoEXT* pMarkerInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDebugMarkerInsertEXT.html vkCmdDebugMarkerInsertEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdDebugMarkerInsertEXT"- vkCmdDebugMarkerInsertEXTSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT registry at www.khronos.org>+type HS_vkCmdDebugMarkerInsertEXT =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkDebugMarkerMarkerInfoEXT -- ^ pMarkerInfo+ -> IO ()++type PFN_vkCmdDebugMarkerInsertEXT =+ FunPtr HS_vkCmdDebugMarkerInsertEXT++foreign import ccall "dynamic" unwrapVkCmdDebugMarkerInsertEXT ::+ PFN_vkCmdDebugMarkerInsertEXT -> HS_vkCmdDebugMarkerInsertEXT++instance VulkanProc "vkCmdDebugMarkerInsertEXT" where+ type VkProcType "vkCmdDebugMarkerInsertEXT" =+ HS_vkCmdDebugMarkerInsertEXT+ vkProcSymbol = _VkCmdDebugMarkerInsertEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDebugMarkerInsertEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DEBUG_MARKER_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,11 +1,14 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_debug_report (-- * Vulkan extension: @VK_EXT_debug_report@@@ -21,25 +24,30 @@ -- -- Extension number: @12@ module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+ module Graphics.Vulkan.Types.Struct.ApplicationInfo, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkDebugReportCallbackCreateInfoEXT,- module Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT,- module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT,+ module Graphics.Vulkan.Types.Struct.Debug,+ module Graphics.Vulkan.Types.Enum.Debug, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkCreateDebugReportCallbackEXT, vkCreateDebugReportCallbackEXTSafe,- vkDestroyDebugReportCallbackEXT,- vkDestroyDebugReportCallbackEXTSafe, vkDebugReportMessageEXT,- vkDebugReportMessageEXTSafe,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ VkCreateDebugReportCallbackEXT,+ pattern VkCreateDebugReportCallbackEXT,+ HS_vkCreateDebugReportCallbackEXT,+ PFN_vkCreateDebugReportCallbackEXT,+ VkDestroyDebugReportCallbackEXT,+ pattern VkDestroyDebugReportCallbackEXT,+ HS_vkDestroyDebugReportCallbackEXT,+ PFN_vkDestroyDebugReportCallbackEXT, VkDebugReportMessageEXT,+ pattern VkDebugReportMessageEXT, HS_vkDebugReportMessageEXT,+ PFN_vkDebugReportMessageEXT,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_EXT_DEBUG_REPORT_SPEC_VERSION, pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION, VK_EXT_DEBUG_REPORT_EXTENSION_NAME,@@ -52,47 +60,46 @@ pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT-import Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectType (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.Debug+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkApplicationInfo-import Graphics.Vulkan.Types.Struct.VkDebugReportCallbackCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.ApplicationInfo+import Graphics.Vulkan.Types.Struct.Debug+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkCreateDebugReportCallbackEXT--- > ( VkInstance instance--- > , const VkDebugReportCallbackCreateInfoEXT* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDebugReportCallbackEXT* pCallback--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugReportCallbackEXT.html vkCreateDebugReportCallbackEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDebugReportCallbackEXT"- vkCreateDebugReportCallbackEXT ::- VkInstance -- ^ instance- ->- Ptr VkDebugReportCallbackCreateInfoEXT -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDebugReportCallbackEXT -- ^ pCallback- -> IO VkResult+pattern VkCreateDebugReportCallbackEXT :: CString +pattern VkCreateDebugReportCallbackEXT <-+ (is_VkCreateDebugReportCallbackEXT -> True)+ where VkCreateDebugReportCallbackEXT+ = _VkCreateDebugReportCallbackEXT++{-# INLINE _VkCreateDebugReportCallbackEXT #-}++_VkCreateDebugReportCallbackEXT :: CString+_VkCreateDebugReportCallbackEXT+ = Ptr "vkCreateDebugReportCallbackEXT\NUL"#++{-# INLINE is_VkCreateDebugReportCallbackEXT #-}++is_VkCreateDebugReportCallbackEXT :: CString -> Bool+is_VkCreateDebugReportCallbackEXT+ = (EQ ==) . cmpCStrings _VkCreateDebugReportCallbackEXT++type VkCreateDebugReportCallbackEXT =+ "vkCreateDebugReportCallbackEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -104,76 +111,109 @@ -- > , VkDebugReportCallbackEXT* pCallback -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugReportCallbackEXT.html vkCreateDebugReportCallbackEXT registry at www.khronos.org>-foreign import ccall safe "vkCreateDebugReportCallbackEXT"- vkCreateDebugReportCallbackEXTSafe ::- VkInstance -- ^ instance- ->- Ptr VkDebugReportCallbackCreateInfoEXT -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDebugReportCallbackEXT -- ^ pCallback- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT registry at www.khronos.org>+type HS_vkCreateDebugReportCallbackEXT =+ VkInstance -- ^ instance+ ->+ Ptr VkDebugReportCallbackCreateInfoEXT -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDebugReportCallbackEXT -- ^ pCallback+ -> IO VkResult --- | > () vkDestroyDebugReportCallbackEXT--- > ( VkInstance instance--- > , VkDebugReportCallbackEXT callback--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugReportCallbackEXT.html vkDestroyDebugReportCallbackEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDebugReportCallbackEXT"- vkDestroyDebugReportCallbackEXT ::- VkInstance -- ^ instance- ->- VkDebugReportCallbackEXT -- ^ callback- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateDebugReportCallbackEXT =+ FunPtr HS_vkCreateDebugReportCallbackEXT --- | > () vkDestroyDebugReportCallbackEXT+foreign import ccall "dynamic" unwrapVkCreateDebugReportCallbackEXT+ ::+ PFN_vkCreateDebugReportCallbackEXT ->+ HS_vkCreateDebugReportCallbackEXT++instance VulkanProc "vkCreateDebugReportCallbackEXT" where+ type VkProcType "vkCreateDebugReportCallbackEXT" =+ HS_vkCreateDebugReportCallbackEXT+ vkProcSymbol = _VkCreateDebugReportCallbackEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDebugReportCallbackEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDebugReportCallbackEXT :: CString++pattern VkDestroyDebugReportCallbackEXT <-+ (is_VkDestroyDebugReportCallbackEXT -> True)+ where VkDestroyDebugReportCallbackEXT+ = _VkDestroyDebugReportCallbackEXT++{-# INLINE _VkDestroyDebugReportCallbackEXT #-}++_VkDestroyDebugReportCallbackEXT :: CString+_VkDestroyDebugReportCallbackEXT+ = Ptr "vkDestroyDebugReportCallbackEXT\NUL"#++{-# INLINE is_VkDestroyDebugReportCallbackEXT #-}++is_VkDestroyDebugReportCallbackEXT :: CString -> Bool+is_VkDestroyDebugReportCallbackEXT+ = (EQ ==) . cmpCStrings _VkDestroyDebugReportCallbackEXT++type VkDestroyDebugReportCallbackEXT =+ "vkDestroyDebugReportCallbackEXT"++-- | > void vkDestroyDebugReportCallbackEXT -- > ( VkInstance instance -- > , VkDebugReportCallbackEXT callback -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugReportCallbackEXT.html vkDestroyDebugReportCallbackEXT registry at www.khronos.org>-foreign import ccall safe "vkDestroyDebugReportCallbackEXT"- vkDestroyDebugReportCallbackEXTSafe ::- VkInstance -- ^ instance- ->- VkDebugReportCallbackEXT -- ^ callback- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT registry at www.khronos.org>+type HS_vkDestroyDebugReportCallbackEXT =+ VkInstance -- ^ instance+ ->+ VkDebugReportCallbackEXT -- ^ callback+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO () --- | > () vkDebugReportMessageEXT--- > ( VkInstance instance--- > , VkDebugReportFlagsEXT flags--- > , VkDebugReportObjectTypeEXT objectType--- > , uint64_t object--- > , size_t location--- > , int32_t messageCode--- > , const char* pLayerPrefix--- > , const char* pMessage--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugReportMessageEXT.html vkDebugReportMessageEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDebugReportMessageEXT"- vkDebugReportMessageEXT ::- VkInstance -- ^ instance- ->- VkDebugReportFlagsEXT -- ^ flags- ->- VkDebugReportObjectTypeEXT -- ^ objectType- ->- Word64 -- ^ object- -> CSize -- ^ location- -> Int32 -- ^ messageCode- -> CString -- ^ pLayerPrefix- -> CString -- ^ pMessage- -> IO ()+type PFN_vkDestroyDebugReportCallbackEXT =+ FunPtr HS_vkDestroyDebugReportCallbackEXT --- | > () vkDebugReportMessageEXT+foreign import ccall "dynamic"+ unwrapVkDestroyDebugReportCallbackEXT ::+ PFN_vkDestroyDebugReportCallbackEXT ->+ HS_vkDestroyDebugReportCallbackEXT++instance VulkanProc "vkDestroyDebugReportCallbackEXT" where+ type VkProcType "vkDestroyDebugReportCallbackEXT" =+ HS_vkDestroyDebugReportCallbackEXT+ vkProcSymbol = _VkDestroyDebugReportCallbackEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDebugReportCallbackEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDebugReportMessageEXT :: CString++pattern VkDebugReportMessageEXT <-+ (is_VkDebugReportMessageEXT -> True)+ where VkDebugReportMessageEXT = _VkDebugReportMessageEXT++{-# INLINE _VkDebugReportMessageEXT #-}++_VkDebugReportMessageEXT :: CString+_VkDebugReportMessageEXT = Ptr "vkDebugReportMessageEXT\NUL"#++{-# INLINE is_VkDebugReportMessageEXT #-}++is_VkDebugReportMessageEXT :: CString -> Bool+is_VkDebugReportMessageEXT+ = (EQ ==) . cmpCStrings _VkDebugReportMessageEXT++type VkDebugReportMessageEXT = "vkDebugReportMessageEXT"++-- | > void vkDebugReportMessageEXT -- > ( VkInstance instance -- > , VkDebugReportFlagsEXT flags -- > , VkDebugReportObjectTypeEXT objectType@@ -184,21 +224,36 @@ -- > , const char* pMessage -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDebugReportMessageEXT.html vkDebugReportMessageEXT registry at www.khronos.org>-foreign import ccall safe "vkDebugReportMessageEXT"- vkDebugReportMessageEXTSafe ::- VkInstance -- ^ instance- ->- VkDebugReportFlagsEXT -- ^ flags- ->- VkDebugReportObjectTypeEXT -- ^ objectType- ->- Word64 -- ^ object- -> CSize -- ^ location- -> Int32 -- ^ messageCode- -> CString -- ^ pLayerPrefix- -> CString -- ^ pMessage- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDebugReportMessageEXT vkDebugReportMessageEXT registry at www.khronos.org>+type HS_vkDebugReportMessageEXT =+ VkInstance -- ^ instance+ ->+ VkDebugReportFlagsEXT -- ^ flags+ ->+ VkDebugReportObjectTypeEXT -- ^ objectType+ ->+ Word64 -- ^ object+ -> CSize -- ^ location+ -> Int32 -- ^ messageCode+ -> CString -- ^ pLayerPrefix+ -> CString -- ^ pMessage+ -> IO ()++type PFN_vkDebugReportMessageEXT =+ FunPtr HS_vkDebugReportMessageEXT++foreign import ccall "dynamic" unwrapVkDebugReportMessageEXT ::+ PFN_vkDebugReportMessageEXT -> HS_vkDebugReportMessageEXT++instance VulkanProc "vkDebugReportMessageEXT" where+ type VkProcType "vkDebugReportMessageEXT" =+ HS_vkDebugReportMessageEXT+ vkProcSymbol = _VkDebugReportMessageEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDebugReportMessageEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DEBUG_REPORT_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_debug_utils (-- * Vulkan extension: @VK_EXT_debug_utils@@@ -20,39 +23,56 @@ -- -- Extension number: @129@ module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+ module Graphics.Vulkan.Types.Struct.ApplicationInfo, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkDebugUtilsLabelEXT,- module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT,- module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT,- module Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT,+ module Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT,+ module Graphics.Vulkan.Types.Enum.Debug,+ module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCreateInfoEXT,- module Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectNameInfoEXT,- module Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectTagInfoEXT,- module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkObjectType,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCreateInfoEXT,+ module Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT,+ module Graphics.Vulkan.Types.Struct.Debug,+ module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,+ module Graphics.Vulkan.Types.Enum.Object,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkSetDebugUtilsObjectNameEXT, vkSetDebugUtilsObjectNameEXTSafe,- vkSetDebugUtilsObjectTagEXT, vkSetDebugUtilsObjectTagEXTSafe,- vkQueueBeginDebugUtilsLabelEXT, vkQueueBeginDebugUtilsLabelEXTSafe,- vkQueueEndDebugUtilsLabelEXT, vkQueueEndDebugUtilsLabelEXTSafe,- vkQueueInsertDebugUtilsLabelEXT,- vkQueueInsertDebugUtilsLabelEXTSafe, vkCmdBeginDebugUtilsLabelEXT,- vkCmdBeginDebugUtilsLabelEXTSafe, vkCmdEndDebugUtilsLabelEXT,- vkCmdEndDebugUtilsLabelEXTSafe, vkCmdInsertDebugUtilsLabelEXT,- vkCmdInsertDebugUtilsLabelEXTSafe, vkCreateDebugUtilsMessengerEXT,- vkCreateDebugUtilsMessengerEXTSafe,- vkDestroyDebugUtilsMessengerEXT,- vkDestroyDebugUtilsMessengerEXTSafe, vkSubmitDebugUtilsMessageEXT,- vkSubmitDebugUtilsMessageEXTSafe,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ VkSetDebugUtilsObjectNameEXT, pattern VkSetDebugUtilsObjectNameEXT,+ HS_vkSetDebugUtilsObjectNameEXT, PFN_vkSetDebugUtilsObjectNameEXT,+ VkSetDebugUtilsObjectTagEXT, pattern VkSetDebugUtilsObjectTagEXT,+ HS_vkSetDebugUtilsObjectTagEXT, PFN_vkSetDebugUtilsObjectTagEXT,+ VkQueueBeginDebugUtilsLabelEXT,+ pattern VkQueueBeginDebugUtilsLabelEXT,+ HS_vkQueueBeginDebugUtilsLabelEXT,+ PFN_vkQueueBeginDebugUtilsLabelEXT, VkQueueEndDebugUtilsLabelEXT,+ pattern VkQueueEndDebugUtilsLabelEXT,+ HS_vkQueueEndDebugUtilsLabelEXT, PFN_vkQueueEndDebugUtilsLabelEXT,+ VkQueueInsertDebugUtilsLabelEXT,+ pattern VkQueueInsertDebugUtilsLabelEXT,+ HS_vkQueueInsertDebugUtilsLabelEXT,+ PFN_vkQueueInsertDebugUtilsLabelEXT, VkCmdBeginDebugUtilsLabelEXT,+ pattern VkCmdBeginDebugUtilsLabelEXT,+ HS_vkCmdBeginDebugUtilsLabelEXT, PFN_vkCmdBeginDebugUtilsLabelEXT,+ VkCmdEndDebugUtilsLabelEXT, pattern VkCmdEndDebugUtilsLabelEXT,+ HS_vkCmdEndDebugUtilsLabelEXT, PFN_vkCmdEndDebugUtilsLabelEXT,+ VkCmdInsertDebugUtilsLabelEXT,+ pattern VkCmdInsertDebugUtilsLabelEXT,+ HS_vkCmdInsertDebugUtilsLabelEXT,+ PFN_vkCmdInsertDebugUtilsLabelEXT, VkCreateDebugUtilsMessengerEXT,+ pattern VkCreateDebugUtilsMessengerEXT,+ HS_vkCreateDebugUtilsMessengerEXT,+ PFN_vkCreateDebugUtilsMessengerEXT,+ VkDestroyDebugUtilsMessengerEXT,+ pattern VkDestroyDebugUtilsMessengerEXT,+ HS_vkDestroyDebugUtilsMessengerEXT,+ PFN_vkDestroyDebugUtilsMessengerEXT, VkSubmitDebugUtilsMessageEXT,+ pattern VkSubmitDebugUtilsMessageEXT,+ HS_vkSubmitDebugUtilsMessageEXT, PFN_vkSubmitDebugUtilsMessageEXT,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_EXT_DEBUG_UTILS_SPEC_VERSION, pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION, VK_EXT_DEBUG_UTILS_EXTENSION_NAME,@@ -64,45 +84,48 @@ pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT, pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT-import Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.Debug+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkApplicationInfo-import Graphics.Vulkan.Types.Struct.VkDebugUtilsLabelEXT-import Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT-import Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectNameInfoEXT-import Graphics.Vulkan.Types.Struct.VkDebugUtilsObjectTagInfoEXT-import Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.ApplicationInfo+import Graphics.Vulkan.Types.Struct.Debug+import Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT+import Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT+import Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCreateInfoEXT+import Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetDebugUtilsObjectNameEXT--- > ( VkDevice device--- > , const VkDebugUtilsObjectNameInfoEXT* pNameInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectNameEXT.html vkSetDebugUtilsObjectNameEXT registry at www.khronos.org>-foreign import ccall unsafe "vkSetDebugUtilsObjectNameEXT"- vkSetDebugUtilsObjectNameEXT ::- VkDevice -- ^ device- -> Ptr VkDebugUtilsObjectNameInfoEXT -- ^ pNameInfo- -> IO VkResult+pattern VkSetDebugUtilsObjectNameEXT :: CString +pattern VkSetDebugUtilsObjectNameEXT <-+ (is_VkSetDebugUtilsObjectNameEXT -> True)+ where VkSetDebugUtilsObjectNameEXT = _VkSetDebugUtilsObjectNameEXT++{-# INLINE _VkSetDebugUtilsObjectNameEXT #-}++_VkSetDebugUtilsObjectNameEXT :: CString+_VkSetDebugUtilsObjectNameEXT+ = Ptr "vkSetDebugUtilsObjectNameEXT\NUL"#++{-# INLINE is_VkSetDebugUtilsObjectNameEXT #-}++is_VkSetDebugUtilsObjectNameEXT :: CString -> Bool+is_VkSetDebugUtilsObjectNameEXT+ = (EQ ==) . cmpCStrings _VkSetDebugUtilsObjectNameEXT++type VkSetDebugUtilsObjectNameEXT = "vkSetDebugUtilsObjectNameEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -112,29 +135,49 @@ -- > , const VkDebugUtilsObjectNameInfoEXT* pNameInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectNameEXT.html vkSetDebugUtilsObjectNameEXT registry at www.khronos.org>-foreign import ccall safe "vkSetDebugUtilsObjectNameEXT"- vkSetDebugUtilsObjectNameEXTSafe ::- VkDevice -- ^ device- -> Ptr VkDebugUtilsObjectNameInfoEXT -- ^ pNameInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT registry at www.khronos.org>+type HS_vkSetDebugUtilsObjectNameEXT =+ VkDevice -- ^ device+ -> Ptr VkDebugUtilsObjectNameInfoEXT -- ^ pNameInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkSetDebugUtilsObjectTagEXT--- > ( VkDevice device--- > , const VkDebugUtilsObjectTagInfoEXT* pTagInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectTagEXT.html vkSetDebugUtilsObjectTagEXT registry at www.khronos.org>-foreign import ccall unsafe "vkSetDebugUtilsObjectTagEXT"- vkSetDebugUtilsObjectTagEXT ::- VkDevice -- ^ device- -> Ptr VkDebugUtilsObjectTagInfoEXT -- ^ pTagInfo- -> IO VkResult+type PFN_vkSetDebugUtilsObjectNameEXT =+ FunPtr HS_vkSetDebugUtilsObjectNameEXT +foreign import ccall "dynamic" unwrapVkSetDebugUtilsObjectNameEXT+ ::+ PFN_vkSetDebugUtilsObjectNameEXT -> HS_vkSetDebugUtilsObjectNameEXT++instance VulkanProc "vkSetDebugUtilsObjectNameEXT" where+ type VkProcType "vkSetDebugUtilsObjectNameEXT" =+ HS_vkSetDebugUtilsObjectNameEXT+ vkProcSymbol = _VkSetDebugUtilsObjectNameEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkSetDebugUtilsObjectNameEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkSetDebugUtilsObjectTagEXT :: CString++pattern VkSetDebugUtilsObjectTagEXT <-+ (is_VkSetDebugUtilsObjectTagEXT -> True)+ where VkSetDebugUtilsObjectTagEXT = _VkSetDebugUtilsObjectTagEXT++{-# INLINE _VkSetDebugUtilsObjectTagEXT #-}++_VkSetDebugUtilsObjectTagEXT :: CString+_VkSetDebugUtilsObjectTagEXT+ = Ptr "vkSetDebugUtilsObjectTagEXT\NUL"#++{-# INLINE is_VkSetDebugUtilsObjectTagEXT #-}++is_VkSetDebugUtilsObjectTagEXT :: CString -> Bool+is_VkSetDebugUtilsObjectTagEXT+ = (EQ ==) . cmpCStrings _VkSetDebugUtilsObjectTagEXT++type VkSetDebugUtilsObjectTagEXT = "vkSetDebugUtilsObjectTagEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -144,192 +187,351 @@ -- > , const VkDebugUtilsObjectTagInfoEXT* pTagInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetDebugUtilsObjectTagEXT.html vkSetDebugUtilsObjectTagEXT registry at www.khronos.org>-foreign import ccall safe "vkSetDebugUtilsObjectTagEXT"- vkSetDebugUtilsObjectTagEXTSafe ::- VkDevice -- ^ device- -> Ptr VkDebugUtilsObjectTagInfoEXT -- ^ pTagInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT registry at www.khronos.org>+type HS_vkSetDebugUtilsObjectTagEXT =+ VkDevice -- ^ device+ -> Ptr VkDebugUtilsObjectTagInfoEXT -- ^ pTagInfo+ -> IO VkResult --- | > () vkQueueBeginDebugUtilsLabelEXT--- > ( VkQueue queue--- > , const VkDebugUtilsLabelEXT* pLabelInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBeginDebugUtilsLabelEXT.html vkQueueBeginDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall unsafe "vkQueueBeginDebugUtilsLabelEXT"- vkQueueBeginDebugUtilsLabelEXT ::- VkQueue -- ^ queue- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+type PFN_vkSetDebugUtilsObjectTagEXT =+ FunPtr HS_vkSetDebugUtilsObjectTagEXT --- | > () vkQueueBeginDebugUtilsLabelEXT+foreign import ccall "dynamic" unwrapVkSetDebugUtilsObjectTagEXT ::+ PFN_vkSetDebugUtilsObjectTagEXT -> HS_vkSetDebugUtilsObjectTagEXT++instance VulkanProc "vkSetDebugUtilsObjectTagEXT" where+ type VkProcType "vkSetDebugUtilsObjectTagEXT" =+ HS_vkSetDebugUtilsObjectTagEXT+ vkProcSymbol = _VkSetDebugUtilsObjectTagEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkSetDebugUtilsObjectTagEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueueBeginDebugUtilsLabelEXT :: CString++pattern VkQueueBeginDebugUtilsLabelEXT <-+ (is_VkQueueBeginDebugUtilsLabelEXT -> True)+ where VkQueueBeginDebugUtilsLabelEXT+ = _VkQueueBeginDebugUtilsLabelEXT++{-# INLINE _VkQueueBeginDebugUtilsLabelEXT #-}++_VkQueueBeginDebugUtilsLabelEXT :: CString+_VkQueueBeginDebugUtilsLabelEXT+ = Ptr "vkQueueBeginDebugUtilsLabelEXT\NUL"#++{-# INLINE is_VkQueueBeginDebugUtilsLabelEXT #-}++is_VkQueueBeginDebugUtilsLabelEXT :: CString -> Bool+is_VkQueueBeginDebugUtilsLabelEXT+ = (EQ ==) . cmpCStrings _VkQueueBeginDebugUtilsLabelEXT++type VkQueueBeginDebugUtilsLabelEXT =+ "vkQueueBeginDebugUtilsLabelEXT"++-- | > void vkQueueBeginDebugUtilsLabelEXT -- > ( VkQueue queue -- > , const VkDebugUtilsLabelEXT* pLabelInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueBeginDebugUtilsLabelEXT.html vkQueueBeginDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall safe "vkQueueBeginDebugUtilsLabelEXT"- vkQueueBeginDebugUtilsLabelEXTSafe ::- VkQueue -- ^ queue- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT registry at www.khronos.org>+type HS_vkQueueBeginDebugUtilsLabelEXT =+ VkQueue -- ^ queue+ -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+ -> IO () --- | > () vkQueueEndDebugUtilsLabelEXT--- > ( VkQueue queue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueEndDebugUtilsLabelEXT.html vkQueueEndDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall unsafe "vkQueueEndDebugUtilsLabelEXT"- vkQueueEndDebugUtilsLabelEXT :: VkQueue -- ^ queue- -> IO ()+type PFN_vkQueueBeginDebugUtilsLabelEXT =+ FunPtr HS_vkQueueBeginDebugUtilsLabelEXT --- | > () vkQueueEndDebugUtilsLabelEXT--- > ( VkQueue queue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueEndDebugUtilsLabelEXT.html vkQueueEndDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall safe "vkQueueEndDebugUtilsLabelEXT"- vkQueueEndDebugUtilsLabelEXTSafe :: VkQueue -- ^ queue- -> IO ()+foreign import ccall "dynamic" unwrapVkQueueBeginDebugUtilsLabelEXT+ ::+ PFN_vkQueueBeginDebugUtilsLabelEXT ->+ HS_vkQueueBeginDebugUtilsLabelEXT --- | > () vkQueueInsertDebugUtilsLabelEXT+instance VulkanProc "vkQueueBeginDebugUtilsLabelEXT" where+ type VkProcType "vkQueueBeginDebugUtilsLabelEXT" =+ HS_vkQueueBeginDebugUtilsLabelEXT+ vkProcSymbol = _VkQueueBeginDebugUtilsLabelEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueueBeginDebugUtilsLabelEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueueEndDebugUtilsLabelEXT :: CString++pattern VkQueueEndDebugUtilsLabelEXT <-+ (is_VkQueueEndDebugUtilsLabelEXT -> True)+ where VkQueueEndDebugUtilsLabelEXT = _VkQueueEndDebugUtilsLabelEXT++{-# INLINE _VkQueueEndDebugUtilsLabelEXT #-}++_VkQueueEndDebugUtilsLabelEXT :: CString+_VkQueueEndDebugUtilsLabelEXT+ = Ptr "vkQueueEndDebugUtilsLabelEXT\NUL"#++{-# INLINE is_VkQueueEndDebugUtilsLabelEXT #-}++is_VkQueueEndDebugUtilsLabelEXT :: CString -> Bool+is_VkQueueEndDebugUtilsLabelEXT+ = (EQ ==) . cmpCStrings _VkQueueEndDebugUtilsLabelEXT++type VkQueueEndDebugUtilsLabelEXT = "vkQueueEndDebugUtilsLabelEXT"++-- | > void vkQueueEndDebugUtilsLabelEXT -- > ( VkQueue queue--- > , const VkDebugUtilsLabelEXT* pLabelInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueInsertDebugUtilsLabelEXT.html vkQueueInsertDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall unsafe "vkQueueInsertDebugUtilsLabelEXT"- vkQueueInsertDebugUtilsLabelEXT ::- VkQueue -- ^ queue- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT registry at www.khronos.org>+type HS_vkQueueEndDebugUtilsLabelEXT = VkQueue -- ^ queue+ -> IO () --- | > () vkQueueInsertDebugUtilsLabelEXT+type PFN_vkQueueEndDebugUtilsLabelEXT =+ FunPtr HS_vkQueueEndDebugUtilsLabelEXT++foreign import ccall "dynamic" unwrapVkQueueEndDebugUtilsLabelEXT+ ::+ PFN_vkQueueEndDebugUtilsLabelEXT -> HS_vkQueueEndDebugUtilsLabelEXT++instance VulkanProc "vkQueueEndDebugUtilsLabelEXT" where+ type VkProcType "vkQueueEndDebugUtilsLabelEXT" =+ HS_vkQueueEndDebugUtilsLabelEXT+ vkProcSymbol = _VkQueueEndDebugUtilsLabelEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueueEndDebugUtilsLabelEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueueInsertDebugUtilsLabelEXT :: CString++pattern VkQueueInsertDebugUtilsLabelEXT <-+ (is_VkQueueInsertDebugUtilsLabelEXT -> True)+ where VkQueueInsertDebugUtilsLabelEXT+ = _VkQueueInsertDebugUtilsLabelEXT++{-# INLINE _VkQueueInsertDebugUtilsLabelEXT #-}++_VkQueueInsertDebugUtilsLabelEXT :: CString+_VkQueueInsertDebugUtilsLabelEXT+ = Ptr "vkQueueInsertDebugUtilsLabelEXT\NUL"#++{-# INLINE is_VkQueueInsertDebugUtilsLabelEXT #-}++is_VkQueueInsertDebugUtilsLabelEXT :: CString -> Bool+is_VkQueueInsertDebugUtilsLabelEXT+ = (EQ ==) . cmpCStrings _VkQueueInsertDebugUtilsLabelEXT++type VkQueueInsertDebugUtilsLabelEXT =+ "vkQueueInsertDebugUtilsLabelEXT"++-- | > void vkQueueInsertDebugUtilsLabelEXT -- > ( VkQueue queue -- > , const VkDebugUtilsLabelEXT* pLabelInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueueInsertDebugUtilsLabelEXT.html vkQueueInsertDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall safe "vkQueueInsertDebugUtilsLabelEXT"- vkQueueInsertDebugUtilsLabelEXTSafe ::- VkQueue -- ^ queue- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT registry at www.khronos.org>+type HS_vkQueueInsertDebugUtilsLabelEXT =+ VkQueue -- ^ queue+ -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+ -> IO () --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdBeginDebugUtilsLabelEXT--- > ( VkCommandBuffer commandBuffer--- > , const VkDebugUtilsLabelEXT* pLabelInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginDebugUtilsLabelEXT.html vkCmdBeginDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdBeginDebugUtilsLabelEXT"- vkCmdBeginDebugUtilsLabelEXT ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+type PFN_vkQueueInsertDebugUtilsLabelEXT =+ FunPtr HS_vkQueueInsertDebugUtilsLabelEXT --- | queues: 'graphics', 'compute'.+foreign import ccall "dynamic"+ unwrapVkQueueInsertDebugUtilsLabelEXT ::+ PFN_vkQueueInsertDebugUtilsLabelEXT ->+ HS_vkQueueInsertDebugUtilsLabelEXT++instance VulkanProc "vkQueueInsertDebugUtilsLabelEXT" where+ type VkProcType "vkQueueInsertDebugUtilsLabelEXT" =+ HS_vkQueueInsertDebugUtilsLabelEXT+ vkProcSymbol = _VkQueueInsertDebugUtilsLabelEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueueInsertDebugUtilsLabelEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdBeginDebugUtilsLabelEXT :: CString++pattern VkCmdBeginDebugUtilsLabelEXT <-+ (is_VkCmdBeginDebugUtilsLabelEXT -> True)+ where VkCmdBeginDebugUtilsLabelEXT = _VkCmdBeginDebugUtilsLabelEXT++{-# INLINE _VkCmdBeginDebugUtilsLabelEXT #-}++_VkCmdBeginDebugUtilsLabelEXT :: CString+_VkCmdBeginDebugUtilsLabelEXT+ = Ptr "vkCmdBeginDebugUtilsLabelEXT\NUL"#++{-# INLINE is_VkCmdBeginDebugUtilsLabelEXT #-}++is_VkCmdBeginDebugUtilsLabelEXT :: CString -> Bool+is_VkCmdBeginDebugUtilsLabelEXT+ = (EQ ==) . cmpCStrings _VkCmdBeginDebugUtilsLabelEXT++type VkCmdBeginDebugUtilsLabelEXT = "vkCmdBeginDebugUtilsLabelEXT"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdBeginDebugUtilsLabelEXT+-- > void vkCmdBeginDebugUtilsLabelEXT -- > ( VkCommandBuffer commandBuffer -- > , const VkDebugUtilsLabelEXT* pLabelInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBeginDebugUtilsLabelEXT.html vkCmdBeginDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdBeginDebugUtilsLabelEXT"- vkCmdBeginDebugUtilsLabelEXTSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT registry at www.khronos.org>+type HS_vkCmdBeginDebugUtilsLabelEXT =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+ -> IO () --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdEndDebugUtilsLabelEXT--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndDebugUtilsLabelEXT.html vkCmdEndDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdEndDebugUtilsLabelEXT"- vkCmdEndDebugUtilsLabelEXT :: VkCommandBuffer -- ^ commandBuffer- -> IO ()+type PFN_vkCmdBeginDebugUtilsLabelEXT =+ FunPtr HS_vkCmdBeginDebugUtilsLabelEXT --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdEndDebugUtilsLabelEXT--- > ( VkCommandBuffer commandBuffer--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdEndDebugUtilsLabelEXT.html vkCmdEndDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdEndDebugUtilsLabelEXT"- vkCmdEndDebugUtilsLabelEXTSafe :: VkCommandBuffer -- ^ commandBuffer- -> IO ()+foreign import ccall "dynamic" unwrapVkCmdBeginDebugUtilsLabelEXT+ ::+ PFN_vkCmdBeginDebugUtilsLabelEXT -> HS_vkCmdBeginDebugUtilsLabelEXT --- | queues: 'graphics', 'compute'.+instance VulkanProc "vkCmdBeginDebugUtilsLabelEXT" where+ type VkProcType "vkCmdBeginDebugUtilsLabelEXT" =+ HS_vkCmdBeginDebugUtilsLabelEXT+ vkProcSymbol = _VkCmdBeginDebugUtilsLabelEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdBeginDebugUtilsLabelEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdEndDebugUtilsLabelEXT :: CString++pattern VkCmdEndDebugUtilsLabelEXT <-+ (is_VkCmdEndDebugUtilsLabelEXT -> True)+ where VkCmdEndDebugUtilsLabelEXT = _VkCmdEndDebugUtilsLabelEXT++{-# INLINE _VkCmdEndDebugUtilsLabelEXT #-}++_VkCmdEndDebugUtilsLabelEXT :: CString+_VkCmdEndDebugUtilsLabelEXT = Ptr "vkCmdEndDebugUtilsLabelEXT\NUL"#++{-# INLINE is_VkCmdEndDebugUtilsLabelEXT #-}++is_VkCmdEndDebugUtilsLabelEXT :: CString -> Bool+is_VkCmdEndDebugUtilsLabelEXT+ = (EQ ==) . cmpCStrings _VkCmdEndDebugUtilsLabelEXT++type VkCmdEndDebugUtilsLabelEXT = "vkCmdEndDebugUtilsLabelEXT"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdInsertDebugUtilsLabelEXT+-- > void vkCmdEndDebugUtilsLabelEXT -- > ( VkCommandBuffer commandBuffer--- > , const VkDebugUtilsLabelEXT* pLabelInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdInsertDebugUtilsLabelEXT.html vkCmdInsertDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdInsertDebugUtilsLabelEXT"- vkCmdInsertDebugUtilsLabelEXT ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT registry at www.khronos.org>+type HS_vkCmdEndDebugUtilsLabelEXT = VkCommandBuffer -- ^ commandBuffer+ -> IO () --- | queues: 'graphics', 'compute'.+type PFN_vkCmdEndDebugUtilsLabelEXT =+ FunPtr HS_vkCmdEndDebugUtilsLabelEXT++foreign import ccall "dynamic" unwrapVkCmdEndDebugUtilsLabelEXT ::+ PFN_vkCmdEndDebugUtilsLabelEXT -> HS_vkCmdEndDebugUtilsLabelEXT++instance VulkanProc "vkCmdEndDebugUtilsLabelEXT" where+ type VkProcType "vkCmdEndDebugUtilsLabelEXT" =+ HS_vkCmdEndDebugUtilsLabelEXT+ vkProcSymbol = _VkCmdEndDebugUtilsLabelEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdEndDebugUtilsLabelEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdInsertDebugUtilsLabelEXT :: CString++pattern VkCmdInsertDebugUtilsLabelEXT <-+ (is_VkCmdInsertDebugUtilsLabelEXT -> True)+ where VkCmdInsertDebugUtilsLabelEXT+ = _VkCmdInsertDebugUtilsLabelEXT++{-# INLINE _VkCmdInsertDebugUtilsLabelEXT #-}++_VkCmdInsertDebugUtilsLabelEXT :: CString+_VkCmdInsertDebugUtilsLabelEXT+ = Ptr "vkCmdInsertDebugUtilsLabelEXT\NUL"#++{-# INLINE is_VkCmdInsertDebugUtilsLabelEXT #-}++is_VkCmdInsertDebugUtilsLabelEXT :: CString -> Bool+is_VkCmdInsertDebugUtilsLabelEXT+ = (EQ ==) . cmpCStrings _VkCmdInsertDebugUtilsLabelEXT++type VkCmdInsertDebugUtilsLabelEXT =+ "vkCmdInsertDebugUtilsLabelEXT"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdInsertDebugUtilsLabelEXT+-- > void vkCmdInsertDebugUtilsLabelEXT -- > ( VkCommandBuffer commandBuffer -- > , const VkDebugUtilsLabelEXT* pLabelInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdInsertDebugUtilsLabelEXT.html vkCmdInsertDebugUtilsLabelEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdInsertDebugUtilsLabelEXT"- vkCmdInsertDebugUtilsLabelEXTSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT registry at www.khronos.org>+type HS_vkCmdInsertDebugUtilsLabelEXT =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkDebugUtilsLabelEXT -- ^ pLabelInfo+ -> IO () --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkCreateDebugUtilsMessengerEXT--- > ( VkInstance instance--- > , const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDebugUtilsMessengerEXT* pMessenger--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugUtilsMessengerEXT.html vkCreateDebugUtilsMessengerEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDebugUtilsMessengerEXT"- vkCreateDebugUtilsMessengerEXT ::- VkInstance -- ^ instance- ->- Ptr VkDebugUtilsMessengerCreateInfoEXT -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDebugUtilsMessengerEXT -- ^ pMessenger- -> IO VkResult+type PFN_vkCmdInsertDebugUtilsLabelEXT =+ FunPtr HS_vkCmdInsertDebugUtilsLabelEXT +foreign import ccall "dynamic" unwrapVkCmdInsertDebugUtilsLabelEXT+ ::+ PFN_vkCmdInsertDebugUtilsLabelEXT ->+ HS_vkCmdInsertDebugUtilsLabelEXT++instance VulkanProc "vkCmdInsertDebugUtilsLabelEXT" where+ type VkProcType "vkCmdInsertDebugUtilsLabelEXT" =+ HS_vkCmdInsertDebugUtilsLabelEXT+ vkProcSymbol = _VkCmdInsertDebugUtilsLabelEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdInsertDebugUtilsLabelEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateDebugUtilsMessengerEXT :: CString++pattern VkCreateDebugUtilsMessengerEXT <-+ (is_VkCreateDebugUtilsMessengerEXT -> True)+ where VkCreateDebugUtilsMessengerEXT+ = _VkCreateDebugUtilsMessengerEXT++{-# INLINE _VkCreateDebugUtilsMessengerEXT #-}++_VkCreateDebugUtilsMessengerEXT :: CString+_VkCreateDebugUtilsMessengerEXT+ = Ptr "vkCreateDebugUtilsMessengerEXT\NUL"#++{-# INLINE is_VkCreateDebugUtilsMessengerEXT #-}++is_VkCreateDebugUtilsMessengerEXT :: CString -> Bool+is_VkCreateDebugUtilsMessengerEXT+ = (EQ ==) . cmpCStrings _VkCreateDebugUtilsMessengerEXT++type VkCreateDebugUtilsMessengerEXT =+ "vkCreateDebugUtilsMessengerEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -341,85 +543,143 @@ -- > , VkDebugUtilsMessengerEXT* pMessenger -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDebugUtilsMessengerEXT.html vkCreateDebugUtilsMessengerEXT registry at www.khronos.org>-foreign import ccall safe "vkCreateDebugUtilsMessengerEXT"- vkCreateDebugUtilsMessengerEXTSafe ::- VkInstance -- ^ instance- ->- Ptr VkDebugUtilsMessengerCreateInfoEXT -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDebugUtilsMessengerEXT -- ^ pMessenger- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT registry at www.khronos.org>+type HS_vkCreateDebugUtilsMessengerEXT =+ VkInstance -- ^ instance+ ->+ Ptr VkDebugUtilsMessengerCreateInfoEXT -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDebugUtilsMessengerEXT -- ^ pMessenger+ -> IO VkResult --- | > () vkDestroyDebugUtilsMessengerEXT--- > ( VkInstance instance--- > , VkDebugUtilsMessengerEXT messenger--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugUtilsMessengerEXT.html vkDestroyDebugUtilsMessengerEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDebugUtilsMessengerEXT"- vkDestroyDebugUtilsMessengerEXT ::- VkInstance -- ^ instance- ->- VkDebugUtilsMessengerEXT -- ^ messenger- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateDebugUtilsMessengerEXT =+ FunPtr HS_vkCreateDebugUtilsMessengerEXT --- | > () vkDestroyDebugUtilsMessengerEXT+foreign import ccall "dynamic" unwrapVkCreateDebugUtilsMessengerEXT+ ::+ PFN_vkCreateDebugUtilsMessengerEXT ->+ HS_vkCreateDebugUtilsMessengerEXT++instance VulkanProc "vkCreateDebugUtilsMessengerEXT" where+ type VkProcType "vkCreateDebugUtilsMessengerEXT" =+ HS_vkCreateDebugUtilsMessengerEXT+ vkProcSymbol = _VkCreateDebugUtilsMessengerEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDebugUtilsMessengerEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDebugUtilsMessengerEXT :: CString++pattern VkDestroyDebugUtilsMessengerEXT <-+ (is_VkDestroyDebugUtilsMessengerEXT -> True)+ where VkDestroyDebugUtilsMessengerEXT+ = _VkDestroyDebugUtilsMessengerEXT++{-# INLINE _VkDestroyDebugUtilsMessengerEXT #-}++_VkDestroyDebugUtilsMessengerEXT :: CString+_VkDestroyDebugUtilsMessengerEXT+ = Ptr "vkDestroyDebugUtilsMessengerEXT\NUL"#++{-# INLINE is_VkDestroyDebugUtilsMessengerEXT #-}++is_VkDestroyDebugUtilsMessengerEXT :: CString -> Bool+is_VkDestroyDebugUtilsMessengerEXT+ = (EQ ==) . cmpCStrings _VkDestroyDebugUtilsMessengerEXT++type VkDestroyDebugUtilsMessengerEXT =+ "vkDestroyDebugUtilsMessengerEXT"++-- | > void vkDestroyDebugUtilsMessengerEXT -- > ( VkInstance instance -- > , VkDebugUtilsMessengerEXT messenger -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDebugUtilsMessengerEXT.html vkDestroyDebugUtilsMessengerEXT registry at www.khronos.org>-foreign import ccall safe "vkDestroyDebugUtilsMessengerEXT"- vkDestroyDebugUtilsMessengerEXTSafe ::- VkInstance -- ^ instance- ->- VkDebugUtilsMessengerEXT -- ^ messenger- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT registry at www.khronos.org>+type HS_vkDestroyDebugUtilsMessengerEXT =+ VkInstance -- ^ instance+ ->+ VkDebugUtilsMessengerEXT -- ^ messenger+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO () --- | > () vkSubmitDebugUtilsMessageEXT--- > ( VkInstance instance--- > , VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity--- > , VkDebugUtilsMessageTypeFlagsEXT messageTypes--- > , const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSubmitDebugUtilsMessageEXT.html vkSubmitDebugUtilsMessageEXT registry at www.khronos.org>-foreign import ccall unsafe "vkSubmitDebugUtilsMessageEXT"- vkSubmitDebugUtilsMessageEXT ::- VkInstance -- ^ instance- ->- VkDebugUtilsMessageSeverityFlagBitsEXT -- ^ messageSeverity- ->- VkDebugUtilsMessageTypeFlagsEXT -- ^ messageTypes- ->- Ptr VkDebugUtilsMessengerCallbackDataEXT -- ^ pCallbackData- -> IO ()+type PFN_vkDestroyDebugUtilsMessengerEXT =+ FunPtr HS_vkDestroyDebugUtilsMessengerEXT --- | > () vkSubmitDebugUtilsMessageEXT+foreign import ccall "dynamic"+ unwrapVkDestroyDebugUtilsMessengerEXT ::+ PFN_vkDestroyDebugUtilsMessengerEXT ->+ HS_vkDestroyDebugUtilsMessengerEXT++instance VulkanProc "vkDestroyDebugUtilsMessengerEXT" where+ type VkProcType "vkDestroyDebugUtilsMessengerEXT" =+ HS_vkDestroyDebugUtilsMessengerEXT+ vkProcSymbol = _VkDestroyDebugUtilsMessengerEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDebugUtilsMessengerEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkSubmitDebugUtilsMessageEXT :: CString++pattern VkSubmitDebugUtilsMessageEXT <-+ (is_VkSubmitDebugUtilsMessageEXT -> True)+ where VkSubmitDebugUtilsMessageEXT = _VkSubmitDebugUtilsMessageEXT++{-# INLINE _VkSubmitDebugUtilsMessageEXT #-}++_VkSubmitDebugUtilsMessageEXT :: CString+_VkSubmitDebugUtilsMessageEXT+ = Ptr "vkSubmitDebugUtilsMessageEXT\NUL"#++{-# INLINE is_VkSubmitDebugUtilsMessageEXT #-}++is_VkSubmitDebugUtilsMessageEXT :: CString -> Bool+is_VkSubmitDebugUtilsMessageEXT+ = (EQ ==) . cmpCStrings _VkSubmitDebugUtilsMessageEXT++type VkSubmitDebugUtilsMessageEXT = "vkSubmitDebugUtilsMessageEXT"++-- | > void vkSubmitDebugUtilsMessageEXT -- > ( VkInstance instance -- > , VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity -- > , VkDebugUtilsMessageTypeFlagsEXT messageTypes -- > , const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSubmitDebugUtilsMessageEXT.html vkSubmitDebugUtilsMessageEXT registry at www.khronos.org>-foreign import ccall safe "vkSubmitDebugUtilsMessageEXT"- vkSubmitDebugUtilsMessageEXTSafe ::- VkInstance -- ^ instance- ->- VkDebugUtilsMessageSeverityFlagBitsEXT -- ^ messageSeverity- ->- VkDebugUtilsMessageTypeFlagsEXT -- ^ messageTypes- ->- Ptr VkDebugUtilsMessengerCallbackDataEXT -- ^ pCallbackData- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT registry at www.khronos.org>+type HS_vkSubmitDebugUtilsMessageEXT =+ VkInstance -- ^ instance+ ->+ VkDebugUtilsMessageSeverityFlagBitsEXT -- ^ messageSeverity+ ->+ VkDebugUtilsMessageTypeFlagsEXT -- ^ messageTypes+ ->+ Ptr VkDebugUtilsMessengerCallbackDataEXT -- ^ pCallbackData+ -> IO ()++type PFN_vkSubmitDebugUtilsMessageEXT =+ FunPtr HS_vkSubmitDebugUtilsMessageEXT++foreign import ccall "dynamic" unwrapVkSubmitDebugUtilsMessageEXT+ ::+ PFN_vkSubmitDebugUtilsMessageEXT -> HS_vkSubmitDebugUtilsMessageEXT++instance VulkanProc "vkSubmitDebugUtilsMessageEXT" where+ type VkProcType "vkSubmitDebugUtilsMessageEXT" =+ HS_vkSubmitDebugUtilsMessageEXT+ vkProcSymbol = _VkSubmitDebugUtilsMessageEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkSubmitDebugUtilsMessageEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: (Num a, Eq a) => a
@@ -0,0 +1,139 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing+ (-- * Vulkan extension: @VK_EXT_descriptor_indexing@+ -- |+ --+ -- supported: @vulkan@+ --+ -- contact: @Jeff Bolz @jbolz@+ --+ -- author: @NV@+ --+ -- type: @device@+ --+ -- Extension number: @162@+ --+ -- Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_maintenance3'.+ --++ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_maintenance3'.+ module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.BaseTypes,+ module Graphics.Vulkan.Types.Enum.Descriptor,+ module Graphics.Vulkan.Types.Struct.Descriptor,+ module Graphics.Vulkan.Types.Bitmasks,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Enum.StructureType,+ -- > #include "vk_platform.h"+ VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION,+ pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION,+ VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME,+ pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME,+ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT,+ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT,+ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT,+ pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT,+ pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT,+ pattern VK_ERROR_FRAGMENTATION_EXT)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Bitmasks+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.Result (VkResult (..))+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures++pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: (Num a, Eq a) =>+ a++pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2++type VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2++pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: CString++pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME <-+ (is_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME -> True)+ where VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ = _VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME++{-# INLINE _VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME #-}++_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: CString+_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ = Ptr "VK_EXT_descriptor_indexing\NUL"#++{-# INLINE is_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME #-}++is_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: CString -> Bool+is_VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME+ = (EQ ==) . cmpCStrings _VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME++type VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME =+ "VK_EXT_descriptor_indexing"++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT+ = VkStructureType 1000161000++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT+ = VkStructureType 1000161001++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT+ = VkStructureType 1000161002++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT+ = VkStructureType 1000161003++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT+ = VkStructureType 1000161004++-- | bitpos = @1@+pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT ::+ VkDescriptorPoolCreateFlagBits++pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT =+ VkDescriptorPoolCreateFlagBits 2++-- | bitpos = @1@+pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT+ :: VkDescriptorSetLayoutCreateFlagBits++pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT+ = VkDescriptorSetLayoutCreateFlagBits 2++pattern VK_ERROR_FRAGMENTATION_EXT :: VkResult++pattern VK_ERROR_FRAGMENTATION_EXT = VkResult (-1000161000)
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_direct_mode_display (-- * Vulkan extension: @VK_EXT_direct_mode_display@@@ -23,33 +26,38 @@ -- -- ** Required extensions: 'VK_KHR_display'.- vkReleaseDisplayEXT, vkReleaseDisplayEXTSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ VkReleaseDisplayEXT, pattern VkReleaseDisplayEXT,+ HS_vkReleaseDisplayEXT, PFN_vkReleaseDisplayEXT,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION, pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION, VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME, pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkResult+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..))+import Graphics.Vulkan.Types.Enum.Result import Graphics.Vulkan.Types.Handles --- | Success codes: 'VK_SUCCESS'.------ > VkResult vkReleaseDisplayEXT--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayKHR display--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkReleaseDisplayEXT.html vkReleaseDisplayEXT registry at www.khronos.org>-foreign import ccall unsafe "vkReleaseDisplayEXT"- vkReleaseDisplayEXT ::- VkPhysicalDevice -- ^ physicalDevice- -> VkDisplayKHR -- ^ display- -> IO VkResult+pattern VkReleaseDisplayEXT :: CString +pattern VkReleaseDisplayEXT <- (is_VkReleaseDisplayEXT -> True)+ where VkReleaseDisplayEXT = _VkReleaseDisplayEXT++{-# INLINE _VkReleaseDisplayEXT #-}++_VkReleaseDisplayEXT :: CString+_VkReleaseDisplayEXT = Ptr "vkReleaseDisplayEXT\NUL"#++{-# INLINE is_VkReleaseDisplayEXT #-}++is_VkReleaseDisplayEXT :: CString -> Bool+is_VkReleaseDisplayEXT = (EQ ==) . cmpCStrings _VkReleaseDisplayEXT++type VkReleaseDisplayEXT = "vkReleaseDisplayEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- > VkResult vkReleaseDisplayEXT@@ -57,12 +65,25 @@ -- > , VkDisplayKHR display -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkReleaseDisplayEXT.html vkReleaseDisplayEXT registry at www.khronos.org>-foreign import ccall safe "vkReleaseDisplayEXT"- vkReleaseDisplayEXTSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> VkDisplayKHR -- ^ display- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkReleaseDisplayEXT vkReleaseDisplayEXT registry at www.khronos.org>+type HS_vkReleaseDisplayEXT =+ VkPhysicalDevice -- ^ physicalDevice+ -> VkDisplayKHR -- ^ display+ -> IO VkResult++type PFN_vkReleaseDisplayEXT = FunPtr HS_vkReleaseDisplayEXT++foreign import ccall "dynamic" unwrapVkReleaseDisplayEXT ::+ PFN_vkReleaseDisplayEXT -> HS_vkReleaseDisplayEXT++instance VulkanProc "vkReleaseDisplayEXT" where+ type VkProcType "vkReleaseDisplayEXT" = HS_vkReleaseDisplayEXT+ vkProcSymbol = _VkReleaseDisplayEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkReleaseDisplayEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_discard_rectangles (-- * Vulkan extension: @VK_EXT_discard_rectangles@@@ -24,56 +27,38 @@ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkBlendFactor,- module Graphics.Vulkan.Types.Enum.VkBlendOp,+ module Graphics.Vulkan.Types.Enum.Blend, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkColorComponentFlags,- module Graphics.Vulkan.Types.Enum.VkCompareOp,- module Graphics.Vulkan.Types.Enum.VkCullModeFlags,- module Graphics.Vulkan.Types.Enum.VkDiscardRectangleModeEXT,- module Graphics.Vulkan.Types.Enum.VkDynamicState,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkFrontFace,- module Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo,- module Graphics.Vulkan.Types.Enum.VkLogicOp,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceDiscardRectanglePropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompareOp,+ module Graphics.Vulkan.Types.Enum.CullModeFlags,+ module Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT,+ module Graphics.Vulkan.Types.Enum.DynamicState,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.FrontFace,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.LogicOp,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags,- module Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineDiscardRectangleStateCreateInfoEXT,- module Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkPolygonMode,- module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,- module Graphics.Vulkan.Types.Struct.VkSpecializationInfo,- module Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry,- module Graphics.Vulkan.Types.Enum.VkStencilOp,- module Graphics.Vulkan.Types.Struct.VkStencilOpState,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,- module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,- module Graphics.Vulkan.Types.Enum.VkVertexInputRate,- module Graphics.Vulkan.Types.Struct.VkViewport,+ module Graphics.Vulkan.Types.Enum.Pipeline,+ module Graphics.Vulkan.Types.Enum.PolygonMode,+ module Graphics.Vulkan.Types.Enum.PrimitiveTopology,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Struct.Specialization,+ module Graphics.Vulkan.Types.Enum.Stencil,+ module Graphics.Vulkan.Types.Struct.StencilOpState,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.VertexInput,+ module Graphics.Vulkan.Types.Enum.VertexInputRate,+ module Graphics.Vulkan.Types.Struct.Viewport, -- > #include "vk_platform.h"- vkCmdSetDiscardRectangleEXT, vkCmdSetDiscardRectangleEXTSafe,+ VkCmdSetDiscardRectangleEXT, pattern VkCmdSetDiscardRectangleEXT,+ HS_vkCmdSetDiscardRectangleEXT, PFN_vkCmdSetDiscardRectangleEXT, module Graphics.Vulkan.Types.Handles, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION,@@ -83,98 +68,94 @@ pattern VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT, pattern VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkBlendFactor-import Graphics.Vulkan.Types.Enum.VkBlendOp-import Graphics.Vulkan.Types.Enum.VkColorComponentFlags-import Graphics.Vulkan.Types.Enum.VkCompareOp-import Graphics.Vulkan.Types.Enum.VkCullModeFlags-import Graphics.Vulkan.Types.Enum.VkDiscardRectangleModeEXT-import Graphics.Vulkan.Types.Enum.VkDynamicState-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkFrontFace-import Graphics.Vulkan.Types.Enum.VkLogicOp-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags-import Graphics.Vulkan.Types.Enum.VkPolygonMode-import Graphics.Vulkan.Types.Enum.VkPrimitiveTopology-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkShaderStageFlags-import Graphics.Vulkan.Types.Enum.VkStencilOp-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkVertexInputRate+import Graphics.Vulkan.Types.Enum.Blend+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompareOp+import Graphics.Vulkan.Types.Enum.CullModeFlags+import Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT+import Graphics.Vulkan.Types.Enum.DynamicState+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.FrontFace+import Graphics.Vulkan.Types.Enum.LogicOp+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.PolygonMode+import Graphics.Vulkan.Types.Enum.PrimitiveTopology+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.Stencil+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.VertexInputRate import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkGraphicsPipelineCreateInfo-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceDiscardRectanglePropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendAttachmentState-import Graphics.Vulkan.Types.Struct.VkPipelineColorBlendStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineDepthStencilStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineDiscardRectangleStateCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkPipelineDynamicStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineInputAssemblyStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineRasterizationStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineShaderStageCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineTessellationStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkSpecializationInfo-import Graphics.Vulkan.Types.Struct.VkSpecializationMapEntry-import Graphics.Vulkan.Types.Struct.VkStencilOpState-import Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription-import Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription-import Graphics.Vulkan.Types.Struct.VkViewport+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.Specialization+import Graphics.Vulkan.Types.Struct.StencilOpState+import Graphics.Vulkan.Types.Struct.VertexInput+import Graphics.Vulkan.Types.Struct.Viewport --- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetDiscardRectangleEXT--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstDiscardRectangle--- > , uint32_t discardRectangleCount--- > , const VkRect2D* pDiscardRectangles--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDiscardRectangleEXT.html vkCmdSetDiscardRectangleEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDiscardRectangleEXT"- vkCmdSetDiscardRectangleEXT ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ firstDiscardRectangle- -> Word32 -- ^ discardRectangleCount- -> Ptr VkRect2D -- ^ pDiscardRectangles- -> IO ()+pattern VkCmdSetDiscardRectangleEXT :: CString --- | queues: 'graphics'.+pattern VkCmdSetDiscardRectangleEXT <-+ (is_VkCmdSetDiscardRectangleEXT -> True)+ where VkCmdSetDiscardRectangleEXT = _VkCmdSetDiscardRectangleEXT++{-# INLINE _VkCmdSetDiscardRectangleEXT #-}++_VkCmdSetDiscardRectangleEXT :: CString+_VkCmdSetDiscardRectangleEXT+ = Ptr "vkCmdSetDiscardRectangleEXT\NUL"#++{-# INLINE is_VkCmdSetDiscardRectangleEXT #-}++is_VkCmdSetDiscardRectangleEXT :: CString -> Bool+is_VkCmdSetDiscardRectangleEXT+ = (EQ ==) . cmpCStrings _VkCmdSetDiscardRectangleEXT++type VkCmdSetDiscardRectangleEXT = "vkCmdSetDiscardRectangleEXT"++-- | Queues: 'graphics'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdSetDiscardRectangleEXT+-- > void vkCmdSetDiscardRectangleEXT -- > ( VkCommandBuffer commandBuffer -- > , uint32_t firstDiscardRectangle -- > , uint32_t discardRectangleCount -- > , const VkRect2D* pDiscardRectangles -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDiscardRectangleEXT.html vkCmdSetDiscardRectangleEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdSetDiscardRectangleEXT"- vkCmdSetDiscardRectangleEXTSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ firstDiscardRectangle- -> Word32 -- ^ discardRectangleCount- -> Ptr VkRect2D -- ^ pDiscardRectangles- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT registry at www.khronos.org>+type HS_vkCmdSetDiscardRectangleEXT =+ VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ firstDiscardRectangle+ -> Word32 -- ^ discardRectangleCount+ -> Ptr VkRect2D -- ^ pDiscardRectangles+ -> IO ()++type PFN_vkCmdSetDiscardRectangleEXT =+ FunPtr HS_vkCmdSetDiscardRectangleEXT++foreign import ccall "dynamic" unwrapVkCmdSetDiscardRectangleEXT ::+ PFN_vkCmdSetDiscardRectangleEXT -> HS_vkCmdSetDiscardRectangleEXT++instance VulkanProc "vkCmdSetDiscardRectangleEXT" where+ type VkProcType "vkCmdSetDiscardRectangleEXT" =+ HS_vkCmdSetDiscardRectangleEXT+ vkProcSymbol = _VkCmdSetDiscardRectangleEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetDiscardRectangleEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_display_control (-- * Vulkan extension: @VK_EXT_display_control@@@ -25,37 +28,37 @@ -- ** Required extensions: 'VK_EXT_display_surface_counter', 'VK_KHR_swapchain'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceEventInfoEXT,- module Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT,- module Graphics.Vulkan.Types.Struct.VkDisplayEventInfoEXT,- module Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT,- module Graphics.Vulkan.Types.Struct.VkDisplayPowerInfoEXT,- module Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkSwapchainCounterCreateInfoEXT,- module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Struct.Display,+ module Graphics.Vulkan.Types.Enum.Display,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.PresentModeKHR,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.Surface,+ module Graphics.Vulkan.Types.Struct.SwapchainC,+ module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR, -- > #include "vk_platform.h"- vkDisplayPowerControlEXT, vkDisplayPowerControlEXTSafe,- vkRegisterDeviceEventEXT, vkRegisterDeviceEventEXTSafe,- vkRegisterDisplayEventEXT, vkRegisterDisplayEventEXTSafe,- vkGetSwapchainCounterEXT, vkGetSwapchainCounterEXTSafe,+ VkDisplayPowerControlEXT, pattern VkDisplayPowerControlEXT,+ HS_vkDisplayPowerControlEXT, PFN_vkDisplayPowerControlEXT,+ VkRegisterDeviceEventEXT, pattern VkRegisterDeviceEventEXT,+ HS_vkRegisterDeviceEventEXT, PFN_vkRegisterDeviceEventEXT,+ VkRegisterDisplayEventEXT, pattern VkRegisterDisplayEventEXT,+ HS_vkRegisterDisplayEventEXT, PFN_vkRegisterDisplayEventEXT,+ VkGetSwapchainCounterEXT, pattern VkGetSwapchainCounterEXT,+ HS_vkGetSwapchainCounterEXT, PFN_vkGetSwapchainCounterEXT, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_EXT_DISPLAY_CONTROL_SPEC_VERSION, pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION, VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME,@@ -65,52 +68,51 @@ pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT, pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT-import Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT-import Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkPresentModeKHR-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.Display+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.PresentModeKHR+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface+import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkDeviceEventInfoEXT-import Graphics.Vulkan.Types.Struct.VkDisplayEventInfoEXT-import Graphics.Vulkan.Types.Struct.VkDisplayPowerInfoEXT-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkSwapchainCounterCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Display+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.SwapchainC --- | Success codes: 'VK_SUCCESS'.------ > VkResult vkDisplayPowerControlEXT--- > ( VkDevice device--- > , VkDisplayKHR display--- > , const VkDisplayPowerInfoEXT* pDisplayPowerInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDisplayPowerControlEXT.html vkDisplayPowerControlEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDisplayPowerControlEXT"- vkDisplayPowerControlEXT ::- VkDevice -- ^ device- ->- VkDisplayKHR -- ^ display- -> Ptr VkDisplayPowerInfoEXT -- ^ pDisplayPowerInfo- -> IO VkResult+pattern VkDisplayPowerControlEXT :: CString +pattern VkDisplayPowerControlEXT <-+ (is_VkDisplayPowerControlEXT -> True)+ where VkDisplayPowerControlEXT = _VkDisplayPowerControlEXT++{-# INLINE _VkDisplayPowerControlEXT #-}++_VkDisplayPowerControlEXT :: CString+_VkDisplayPowerControlEXT = Ptr "vkDisplayPowerControlEXT\NUL"#++{-# INLINE is_VkDisplayPowerControlEXT #-}++is_VkDisplayPowerControlEXT :: CString -> Bool+is_VkDisplayPowerControlEXT+ = (EQ ==) . cmpCStrings _VkDisplayPowerControlEXT++type VkDisplayPowerControlEXT = "vkDisplayPowerControlEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- > VkResult vkDisplayPowerControlEXT@@ -119,35 +121,49 @@ -- > , const VkDisplayPowerInfoEXT* pDisplayPowerInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDisplayPowerControlEXT.html vkDisplayPowerControlEXT registry at www.khronos.org>-foreign import ccall safe "vkDisplayPowerControlEXT"- vkDisplayPowerControlEXTSafe ::- VkDevice -- ^ device- ->- VkDisplayKHR -- ^ display- -> Ptr VkDisplayPowerInfoEXT -- ^ pDisplayPowerInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDisplayPowerControlEXT vkDisplayPowerControlEXT registry at www.khronos.org>+type HS_vkDisplayPowerControlEXT =+ VkDevice -- ^ device+ ->+ VkDisplayKHR -- ^ display+ -> Ptr VkDisplayPowerInfoEXT -- ^ pDisplayPowerInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ > VkResult vkRegisterDeviceEventEXT--- > ( VkDevice device--- > , const VkDeviceEventInfoEXT* pDeviceEventInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkFence* pFence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDeviceEventEXT.html vkRegisterDeviceEventEXT registry at www.khronos.org>-foreign import ccall unsafe "vkRegisterDeviceEventEXT"- vkRegisterDeviceEventEXT ::- VkDevice -- ^ device- ->- Ptr VkDeviceEventInfoEXT -- ^ pDeviceEventInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFence -- ^ pFence- -> IO VkResult+type PFN_vkDisplayPowerControlEXT =+ FunPtr HS_vkDisplayPowerControlEXT +foreign import ccall "dynamic" unwrapVkDisplayPowerControlEXT ::+ PFN_vkDisplayPowerControlEXT -> HS_vkDisplayPowerControlEXT++instance VulkanProc "vkDisplayPowerControlEXT" where+ type VkProcType "vkDisplayPowerControlEXT" =+ HS_vkDisplayPowerControlEXT+ vkProcSymbol = _VkDisplayPowerControlEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDisplayPowerControlEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkRegisterDeviceEventEXT :: CString++pattern VkRegisterDeviceEventEXT <-+ (is_VkRegisterDeviceEventEXT -> True)+ where VkRegisterDeviceEventEXT = _VkRegisterDeviceEventEXT++{-# INLINE _VkRegisterDeviceEventEXT #-}++_VkRegisterDeviceEventEXT :: CString+_VkRegisterDeviceEventEXT = Ptr "vkRegisterDeviceEventEXT\NUL"#++{-# INLINE is_VkRegisterDeviceEventEXT #-}++is_VkRegisterDeviceEventEXT :: CString -> Bool+is_VkRegisterDeviceEventEXT+ = (EQ ==) . cmpCStrings _VkRegisterDeviceEventEXT++type VkRegisterDeviceEventEXT = "vkRegisterDeviceEventEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- > VkResult vkRegisterDeviceEventEXT@@ -157,40 +173,51 @@ -- > , VkFence* pFence -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDeviceEventEXT.html vkRegisterDeviceEventEXT registry at www.khronos.org>-foreign import ccall safe "vkRegisterDeviceEventEXT"- vkRegisterDeviceEventEXTSafe ::- VkDevice -- ^ device- ->- Ptr VkDeviceEventInfoEXT -- ^ pDeviceEventInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFence -- ^ pFence- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT registry at www.khronos.org>+type HS_vkRegisterDeviceEventEXT =+ VkDevice -- ^ device+ ->+ Ptr VkDeviceEventInfoEXT -- ^ pDeviceEventInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ > VkResult vkRegisterDisplayEventEXT--- > ( VkDevice device--- > , VkDisplayKHR display--- > , const VkDisplayEventInfoEXT* pDisplayEventInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkFence* pFence--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDisplayEventEXT.html vkRegisterDisplayEventEXT registry at www.khronos.org>-foreign import ccall unsafe "vkRegisterDisplayEventEXT"- vkRegisterDisplayEventEXT ::- VkDevice -- ^ device- ->- VkDisplayKHR -- ^ display- ->- Ptr VkDisplayEventInfoEXT -- ^ pDisplayEventInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFence -- ^ pFence- -> IO VkResult+type PFN_vkRegisterDeviceEventEXT =+ FunPtr HS_vkRegisterDeviceEventEXT +foreign import ccall "dynamic" unwrapVkRegisterDeviceEventEXT ::+ PFN_vkRegisterDeviceEventEXT -> HS_vkRegisterDeviceEventEXT++instance VulkanProc "vkRegisterDeviceEventEXT" where+ type VkProcType "vkRegisterDeviceEventEXT" =+ HS_vkRegisterDeviceEventEXT+ vkProcSymbol = _VkRegisterDeviceEventEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkRegisterDeviceEventEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkRegisterDisplayEventEXT :: CString++pattern VkRegisterDisplayEventEXT <-+ (is_VkRegisterDisplayEventEXT -> True)+ where VkRegisterDisplayEventEXT = _VkRegisterDisplayEventEXT++{-# INLINE _VkRegisterDisplayEventEXT #-}++_VkRegisterDisplayEventEXT :: CString+_VkRegisterDisplayEventEXT = Ptr "vkRegisterDisplayEventEXT\NUL"#++{-# INLINE is_VkRegisterDisplayEventEXT #-}++is_VkRegisterDisplayEventEXT :: CString -> Bool+is_VkRegisterDisplayEventEXT+ = (EQ ==) . cmpCStrings _VkRegisterDisplayEventEXT++type VkRegisterDisplayEventEXT = "vkRegisterDisplayEventEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- > VkResult vkRegisterDisplayEventEXT@@ -201,41 +228,53 @@ -- > , VkFence* pFence -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterDisplayEventEXT.html vkRegisterDisplayEventEXT registry at www.khronos.org>-foreign import ccall safe "vkRegisterDisplayEventEXT"- vkRegisterDisplayEventEXTSafe ::- VkDevice -- ^ device- ->- VkDisplayKHR -- ^ display- ->- Ptr VkDisplayEventInfoEXT -- ^ pDisplayEventInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkFence -- ^ pFence- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT registry at www.khronos.org>+type HS_vkRegisterDisplayEventEXT =+ VkDevice -- ^ device+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr VkDisplayEventInfoEXT -- ^ pDisplayEventInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkFence -- ^ pFence+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR'.------ > VkResult vkGetSwapchainCounterEXT--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , VkSurfaceCounterFlagBitsEXT counter--- > , uint64_t* pCounterValue--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainCounterEXT.html vkGetSwapchainCounterEXT registry at www.khronos.org>-foreign import ccall unsafe "vkGetSwapchainCounterEXT"- vkGetSwapchainCounterEXT ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- ->- VkSurfaceCounterFlagBitsEXT -- ^ counter- -> Ptr Word64 -- ^ pCounterValue- -> IO VkResult+type PFN_vkRegisterDisplayEventEXT =+ FunPtr HS_vkRegisterDisplayEventEXT +foreign import ccall "dynamic" unwrapVkRegisterDisplayEventEXT ::+ PFN_vkRegisterDisplayEventEXT -> HS_vkRegisterDisplayEventEXT++instance VulkanProc "vkRegisterDisplayEventEXT" where+ type VkProcType "vkRegisterDisplayEventEXT" =+ HS_vkRegisterDisplayEventEXT+ vkProcSymbol = _VkRegisterDisplayEventEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkRegisterDisplayEventEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetSwapchainCounterEXT :: CString++pattern VkGetSwapchainCounterEXT <-+ (is_VkGetSwapchainCounterEXT -> True)+ where VkGetSwapchainCounterEXT = _VkGetSwapchainCounterEXT++{-# INLINE _VkGetSwapchainCounterEXT #-}++_VkGetSwapchainCounterEXT :: CString+_VkGetSwapchainCounterEXT = Ptr "vkGetSwapchainCounterEXT\NUL"#++{-# INLINE is_VkGetSwapchainCounterEXT #-}++is_VkGetSwapchainCounterEXT :: CString -> Bool+is_VkGetSwapchainCounterEXT+ = (EQ ==) . cmpCStrings _VkGetSwapchainCounterEXT++type VkGetSwapchainCounterEXT = "vkGetSwapchainCounterEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR'.@@ -247,16 +286,31 @@ -- > , uint64_t* pCounterValue -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainCounterEXT.html vkGetSwapchainCounterEXT registry at www.khronos.org>-foreign import ccall safe "vkGetSwapchainCounterEXT"- vkGetSwapchainCounterEXTSafe ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- ->- VkSurfaceCounterFlagBitsEXT -- ^ counter- -> Ptr Word64 -- ^ pCounterValue- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT registry at www.khronos.org>+type HS_vkGetSwapchainCounterEXT =+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ VkSurfaceCounterFlagBitsEXT -- ^ counter+ -> Ptr Word64 -- ^ pCounterValue+ -> IO VkResult++type PFN_vkGetSwapchainCounterEXT =+ FunPtr HS_vkGetSwapchainCounterEXT++foreign import ccall "dynamic" unwrapVkGetSwapchainCounterEXT ::+ PFN_vkGetSwapchainCounterEXT -> HS_vkGetSwapchainCounterEXT++instance VulkanProc "vkGetSwapchainCounterEXT" where+ type VkProcType "vkGetSwapchainCounterEXT" =+ HS_vkGetSwapchainCounterEXT+ vkProcSymbol = _VkGetSwapchainCounterEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetSwapchainCounterEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_display_surface_counter (-- * Vulkan extension: @VK_EXT_display_surface_counter@@@ -24,19 +27,20 @@ -- -- ** Required extensions: 'VK_KHR_display'.- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkExtent2D,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Struct.Extent, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2EXT,- module Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Surface,+ module Graphics.Vulkan.Types.Enum.Surface, -- > #include "vk_platform.h"- vkGetPhysicalDeviceSurfaceCapabilities2EXT,- vkGetPhysicalDeviceSurfaceCapabilities2EXTSafe,+ VkGetPhysicalDeviceSurfaceCapabilities2EXT,+ pattern VkGetPhysicalDeviceSurfaceCapabilities2EXT,+ HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT,+ PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION, pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION,@@ -45,39 +49,41 @@ pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2EXT+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Surface --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT--- > ( VkPhysicalDevice physicalDevice--- > , VkSurfaceKHR surface--- > , VkSurfaceCapabilities2EXT* pSurfaceCapabilities--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceSurfaceCapabilities2EXT"- vkGetPhysicalDeviceSurfaceCapabilities2EXT ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkSurfaceKHR -- ^ surface- -> Ptr VkSurfaceCapabilities2EXT -- ^ pSurfaceCapabilities- -> IO VkResult+pattern VkGetPhysicalDeviceSurfaceCapabilities2EXT :: CString +pattern VkGetPhysicalDeviceSurfaceCapabilities2EXT <-+ (is_VkGetPhysicalDeviceSurfaceCapabilities2EXT -> True)+ where VkGetPhysicalDeviceSurfaceCapabilities2EXT+ = _VkGetPhysicalDeviceSurfaceCapabilities2EXT++{-# INLINE _VkGetPhysicalDeviceSurfaceCapabilities2EXT #-}++_VkGetPhysicalDeviceSurfaceCapabilities2EXT :: CString+_VkGetPhysicalDeviceSurfaceCapabilities2EXT+ = Ptr "vkGetPhysicalDeviceSurfaceCapabilities2EXT\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfaceCapabilities2EXT #-}++is_VkGetPhysicalDeviceSurfaceCapabilities2EXT :: CString -> Bool+is_VkGetPhysicalDeviceSurfaceCapabilities2EXT+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfaceCapabilities2EXT++type VkGetPhysicalDeviceSurfaceCapabilities2EXT =+ "vkGetPhysicalDeviceSurfaceCapabilities2EXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -88,15 +94,32 @@ -- > , VkSurfaceCapabilities2EXT* pSurfaceCapabilities -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2EXT.html vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceSurfaceCapabilities2EXT"- vkGetPhysicalDeviceSurfaceCapabilities2EXTSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkSurfaceKHR -- ^ surface- -> Ptr VkSurfaceCapabilities2EXT -- ^ pSurfaceCapabilities- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr VkSurfaceCapabilities2EXT -- ^ pSurfaceCapabilities+ -> IO VkResult++type PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT =+ FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXT ::+ PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT ->+ HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT++instance VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2EXT"+ where+ type VkProcType "vkGetPhysicalDeviceSurfaceCapabilities2EXT" =+ HS_vkGetPhysicalDeviceSurfaceCapabilities2EXT+ vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2EXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceCapabilities2EXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION :: (Num a, Eq a) => a
@@ -28,10 +28,10 @@ pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME, pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags (VkExternalMemoryHandleTypeBitmask (..),- VkExternalMemoryHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.External (VkExternalMemoryHandleTypeBitmask (..),+ VkExternalMemoryHandleTypeFlagBits) pattern VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_external_memory_host (-- * Vulkan extension: @VK_EXT_external_memory_host@@@ -26,24 +29,20 @@ -- ** Required extensions: 'VK_KHR_external_memory'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR,+ module Graphics.Vulkan.Types.Enum.External, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkImportMemoryHostPointerInfoEXT,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryHostPointerPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalMemoryHostPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Import,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkGetMemoryHostPointerPropertiesEXT,- vkGetMemoryHostPointerPropertiesEXTSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ VkGetMemoryHostPointerPropertiesEXT,+ pattern VkGetMemoryHostPointerPropertiesEXT,+ HS_vkGetMemoryHostPointerPropertiesEXT,+ PFN_vkGetMemoryHostPointerPropertiesEXT,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION,@@ -55,49 +54,43 @@ pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkImportMemoryHostPointerInfoEXT-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryHostPointerPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalMemoryHostPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import Graphics.Vulkan.Types.Struct.Import+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.PhysicalDevice --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkGetMemoryHostPointerPropertiesEXT--- > ( VkDevice device--- > , VkExternalMemoryHandleTypeFlagBits handleType--- > , const void* pHostPointer--- > , VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryHostPointerPropertiesEXT.html vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org>-foreign import ccall unsafe "vkGetMemoryHostPointerPropertiesEXT"- vkGetMemoryHostPointerPropertiesEXT ::- VkDevice -- ^ device- ->- VkExternalMemoryHandleTypeFlagBits -- ^ handleType- ->- Ptr Void -- ^ pHostPointer- -> Ptr VkMemoryHostPointerPropertiesEXT -- ^ pMemoryHostPointerProperties- -> IO VkResult+pattern VkGetMemoryHostPointerPropertiesEXT :: CString +pattern VkGetMemoryHostPointerPropertiesEXT <-+ (is_VkGetMemoryHostPointerPropertiesEXT -> True)+ where VkGetMemoryHostPointerPropertiesEXT+ = _VkGetMemoryHostPointerPropertiesEXT++{-# INLINE _VkGetMemoryHostPointerPropertiesEXT #-}++_VkGetMemoryHostPointerPropertiesEXT :: CString+_VkGetMemoryHostPointerPropertiesEXT+ = Ptr "vkGetMemoryHostPointerPropertiesEXT\NUL"#++{-# INLINE is_VkGetMemoryHostPointerPropertiesEXT #-}++is_VkGetMemoryHostPointerPropertiesEXT :: CString -> Bool+is_VkGetMemoryHostPointerPropertiesEXT+ = (EQ ==) . cmpCStrings _VkGetMemoryHostPointerPropertiesEXT++type VkGetMemoryHostPointerPropertiesEXT =+ "vkGetMemoryHostPointerPropertiesEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -109,16 +102,33 @@ -- > , VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryHostPointerPropertiesEXT.html vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryHostPointerPropertiesEXT"- vkGetMemoryHostPointerPropertiesEXTSafe ::- VkDevice -- ^ device- ->- VkExternalMemoryHandleTypeFlagBits -- ^ handleType- ->- Ptr Void -- ^ pHostPointer- -> Ptr VkMemoryHostPointerPropertiesEXT -- ^ pMemoryHostPointerProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT registry at www.khronos.org>+type HS_vkGetMemoryHostPointerPropertiesEXT =+ VkDevice -- ^ device+ ->+ VkExternalMemoryHandleTypeFlagBits -- ^ handleType+ ->+ Ptr Void -- ^ pHostPointer+ -> Ptr VkMemoryHostPointerPropertiesEXT -- ^ pMemoryHostPointerProperties+ -> IO VkResult++type PFN_vkGetMemoryHostPointerPropertiesEXT =+ FunPtr HS_vkGetMemoryHostPointerPropertiesEXT++foreign import ccall "dynamic"+ unwrapVkGetMemoryHostPointerPropertiesEXT ::+ PFN_vkGetMemoryHostPointerPropertiesEXT ->+ HS_vkGetMemoryHostPointerPropertiesEXT++instance VulkanProc "vkGetMemoryHostPointerPropertiesEXT" where+ type VkProcType "vkGetMemoryHostPointerPropertiesEXT" =+ HS_vkGetMemoryHostPointerPropertiesEXT+ vkProcSymbol = _VkGetMemoryHostPointerPropertiesEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryHostPointerPropertiesEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION :: (Num a, Eq a) => a
@@ -17,12 +17,11 @@ -- type: @device@ -- -- Extension number: @175@- module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,- module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Struct.Device, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Queue,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION, pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION,@@ -31,17 +30,14 @@ pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT, pattern VK_ERROR_NOT_PERMITTED_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags-import Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT-import Graphics.Vulkan.Types.Enum.VkResult- (VkResult (..))-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceQueueGlobalPriorityCreateInfoEXT+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.Queue+import Graphics.Vulkan.Types.Enum.Result (VkResult (..))+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Device pattern VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_hdr_metadata (-- * Vulkan extension: @VK_EXT_hdr_metadata@@@ -23,11 +26,12 @@ -- -- ** Required extensions: 'VK_KHR_swapchain'.- module Graphics.Vulkan.Types.Struct.VkHdrMetadataEXT,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkXYColorEXT,+ module Graphics.Vulkan.Types.Struct.HdrMetadataEXT,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.XYColorEXT, -- > #include "vk_platform.h"- vkSetHdrMetadataEXT, vkSetHdrMetadataEXTSafe,+ VkSetHdrMetadataEXT, pattern VkSetHdrMetadataEXT,+ HS_vkSetHdrMetadataEXT, PFN_vkSetHdrMetadataEXT, module Graphics.Vulkan.Types.Handles, VK_EXT_HDR_METADATA_SPEC_VERSION, pattern VK_EXT_HDR_METADATA_SPEC_VERSION,@@ -35,46 +39,60 @@ pattern VK_EXT_HDR_METADATA_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_HDR_METADATA_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..))+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkHdrMetadataEXT-import Graphics.Vulkan.Types.Struct.VkXYColorEXT+import Graphics.Vulkan.Types.Struct.HdrMetadataEXT+import Graphics.Vulkan.Types.Struct.XYColorEXT --- | > () vkSetHdrMetadataEXT--- > ( VkDevice device--- > , uint32_t swapchainCount--- > , const VkSwapchainKHR* pSwapchains--- > , const VkHdrMetadataEXT* pMetadata--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetHdrMetadataEXT.html vkSetHdrMetadataEXT registry at www.khronos.org>-foreign import ccall unsafe "vkSetHdrMetadataEXT"- vkSetHdrMetadataEXT ::- VkDevice -- ^ device- ->- Word32 -- ^ swapchainCount- -> Ptr VkSwapchainKHR -- ^ pSwapchains- -> Ptr VkHdrMetadataEXT -- ^ pMetadata- -> IO ()+pattern VkSetHdrMetadataEXT :: CString --- | > () vkSetHdrMetadataEXT+pattern VkSetHdrMetadataEXT <- (is_VkSetHdrMetadataEXT -> True)+ where VkSetHdrMetadataEXT = _VkSetHdrMetadataEXT++{-# INLINE _VkSetHdrMetadataEXT #-}++_VkSetHdrMetadataEXT :: CString+_VkSetHdrMetadataEXT = Ptr "vkSetHdrMetadataEXT\NUL"#++{-# INLINE is_VkSetHdrMetadataEXT #-}++is_VkSetHdrMetadataEXT :: CString -> Bool+is_VkSetHdrMetadataEXT = (EQ ==) . cmpCStrings _VkSetHdrMetadataEXT++type VkSetHdrMetadataEXT = "vkSetHdrMetadataEXT"++-- | > void vkSetHdrMetadataEXT -- > ( VkDevice device -- > , uint32_t swapchainCount -- > , const VkSwapchainKHR* pSwapchains -- > , const VkHdrMetadataEXT* pMetadata -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkSetHdrMetadataEXT.html vkSetHdrMetadataEXT registry at www.khronos.org>-foreign import ccall safe "vkSetHdrMetadataEXT"- vkSetHdrMetadataEXTSafe ::- VkDevice -- ^ device- ->- Word32 -- ^ swapchainCount- -> Ptr VkSwapchainKHR -- ^ pSwapchains- -> Ptr VkHdrMetadataEXT -- ^ pMetadata- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkSetHdrMetadataEXT vkSetHdrMetadataEXT registry at www.khronos.org>+type HS_vkSetHdrMetadataEXT =+ VkDevice -- ^ device+ ->+ Word32 -- ^ swapchainCount+ -> Ptr VkSwapchainKHR -- ^ pSwapchains+ -> Ptr VkHdrMetadataEXT -- ^ pMetadata+ -> IO ()++type PFN_vkSetHdrMetadataEXT = FunPtr HS_vkSetHdrMetadataEXT++foreign import ccall "dynamic" unwrapVkSetHdrMetadataEXT ::+ PFN_vkSetHdrMetadataEXT -> HS_vkSetHdrMetadataEXT++instance VulkanProc "vkSetHdrMetadataEXT" where+ type VkProcType "vkSetHdrMetadataEXT" = HS_vkSetHdrMetadataEXT+ vkProcSymbol = _VkSetHdrMetadataEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkSetHdrMetadataEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_HDR_METADATA_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_sample_locations (-- * Vulkan extension: @VK_EXT_sample_locations@@@ -20,40 +23,32 @@ -- -- Extension number: @144@ module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkAccessFlags,- module Graphics.Vulkan.Types.Struct.VkAttachmentSampleLocationsEXT,+ module Graphics.Vulkan.Types.Enum.AccessFlags,+ module Graphics.Vulkan.Types.Struct.Attachment, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkClearColorValue,- module Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue,- module Graphics.Vulkan.Types.Struct.VkClearValue,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier,- module Graphics.Vulkan.Types.Struct.VkImageSubresourceRange,- module Graphics.Vulkan.Types.Struct.VkMultisamplePropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSampleLocationsPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,+ module Graphics.Vulkan.Types.Struct.Clear,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineSampleLocationsStateCreateInfoEXT,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo,- module Graphics.Vulkan.Types.Struct.VkRenderPassSampleLocationsBeginInfoEXT,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Struct.VkSampleLocationEXT,- module Graphics.Vulkan.Types.Struct.VkSampleLocationsInfoEXT,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSubpassSampleLocationsEXT,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Struct.RenderPass,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Struct.SampleLocation,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Subpass, -- > #include "vk_platform.h"- vkCmdSetSampleLocationsEXT, vkCmdSetSampleLocationsEXTSafe,- vkGetPhysicalDeviceMultisamplePropertiesEXT,- vkGetPhysicalDeviceMultisamplePropertiesEXTSafe,+ VkCmdSetSampleLocationsEXT, pattern VkCmdSetSampleLocationsEXT,+ HS_vkCmdSetSampleLocationsEXT, PFN_vkCmdSetSampleLocationsEXT,+ VkGetPhysicalDeviceMultisamplePropertiesEXT,+ pattern VkGetPhysicalDeviceMultisamplePropertiesEXT,+ HS_vkGetPhysicalDeviceMultisamplePropertiesEXT,+ PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT, module Graphics.Vulkan.Types.Handles, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION, pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION,@@ -67,109 +62,136 @@ pattern VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT, pattern VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkAccessFlags-import Graphics.Vulkan.Types.Enum.VkDynamicState- (VkDynamicState (..))-import Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags- (VkImageCreateBitmask (..),- VkImageCreateFlagBits)-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.AccessFlags+import Graphics.Vulkan.Types.Enum.DynamicState (VkDynamicState (..))+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAttachmentSampleLocationsEXT-import Graphics.Vulkan.Types.Struct.VkClearColorValue-import Graphics.Vulkan.Types.Struct.VkClearDepthStencilValue-import Graphics.Vulkan.Types.Struct.VkClearValue-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkImageMemoryBarrier-import Graphics.Vulkan.Types.Struct.VkImageSubresourceRange-import Graphics.Vulkan.Types.Struct.VkMultisamplePropertiesEXT-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSampleLocationsPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineSampleLocationsStateCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkRenderPassBeginInfo-import Graphics.Vulkan.Types.Struct.VkRenderPassSampleLocationsBeginInfoEXT-import Graphics.Vulkan.Types.Struct.VkSampleLocationEXT-import Graphics.Vulkan.Types.Struct.VkSampleLocationsInfoEXT-import Graphics.Vulkan.Types.Struct.VkSubpassSampleLocationsEXT+import Graphics.Vulkan.Types.Struct.Attachment+import Graphics.Vulkan.Types.Struct.Clear+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.RenderPass+import Graphics.Vulkan.Types.Struct.SampleLocation+import Graphics.Vulkan.Types.Struct.Subpass --- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetSampleLocationsEXT--- > ( VkCommandBuffer commandBuffer--- > , const VkSampleLocationsInfoEXT* pSampleLocationsInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetSampleLocationsEXT.html vkCmdSetSampleLocationsEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetSampleLocationsEXT"- vkCmdSetSampleLocationsEXT ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkSampleLocationsInfoEXT -- ^ pSampleLocationsInfo- -> IO ()+pattern VkCmdSetSampleLocationsEXT :: CString --- | queues: 'graphics'.+pattern VkCmdSetSampleLocationsEXT <-+ (is_VkCmdSetSampleLocationsEXT -> True)+ where VkCmdSetSampleLocationsEXT = _VkCmdSetSampleLocationsEXT++{-# INLINE _VkCmdSetSampleLocationsEXT #-}++_VkCmdSetSampleLocationsEXT :: CString+_VkCmdSetSampleLocationsEXT = Ptr "vkCmdSetSampleLocationsEXT\NUL"#++{-# INLINE is_VkCmdSetSampleLocationsEXT #-}++is_VkCmdSetSampleLocationsEXT :: CString -> Bool+is_VkCmdSetSampleLocationsEXT+ = (EQ ==) . cmpCStrings _VkCmdSetSampleLocationsEXT++type VkCmdSetSampleLocationsEXT = "vkCmdSetSampleLocationsEXT"++-- | Queues: 'graphics'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdSetSampleLocationsEXT+-- > void vkCmdSetSampleLocationsEXT -- > ( VkCommandBuffer commandBuffer -- > , const VkSampleLocationsInfoEXT* pSampleLocationsInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetSampleLocationsEXT.html vkCmdSetSampleLocationsEXT registry at www.khronos.org>-foreign import ccall safe "vkCmdSetSampleLocationsEXT"- vkCmdSetSampleLocationsEXTSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkSampleLocationsInfoEXT -- ^ pSampleLocationsInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT registry at www.khronos.org>+type HS_vkCmdSetSampleLocationsEXT =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkSampleLocationsInfoEXT -- ^ pSampleLocationsInfo+ -> IO () --- | > () vkGetPhysicalDeviceMultisamplePropertiesEXT--- > ( VkPhysicalDevice physicalDevice--- > , VkSampleCountFlagBits samples--- > , VkMultisamplePropertiesEXT* pMultisampleProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html vkGetPhysicalDeviceMultisamplePropertiesEXT registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceMultisamplePropertiesEXT"- vkGetPhysicalDeviceMultisamplePropertiesEXT ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkSampleCountFlagBits -- ^ samples- -> Ptr VkMultisamplePropertiesEXT -- ^ pMultisampleProperties- -> IO ()+type PFN_vkCmdSetSampleLocationsEXT =+ FunPtr HS_vkCmdSetSampleLocationsEXT --- | > () vkGetPhysicalDeviceMultisamplePropertiesEXT+foreign import ccall "dynamic" unwrapVkCmdSetSampleLocationsEXT ::+ PFN_vkCmdSetSampleLocationsEXT -> HS_vkCmdSetSampleLocationsEXT++instance VulkanProc "vkCmdSetSampleLocationsEXT" where+ type VkProcType "vkCmdSetSampleLocationsEXT" =+ HS_vkCmdSetSampleLocationsEXT+ vkProcSymbol = _VkCmdSetSampleLocationsEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetSampleLocationsEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceMultisamplePropertiesEXT :: CString++pattern VkGetPhysicalDeviceMultisamplePropertiesEXT <-+ (is_VkGetPhysicalDeviceMultisamplePropertiesEXT -> True)+ where VkGetPhysicalDeviceMultisamplePropertiesEXT+ = _VkGetPhysicalDeviceMultisamplePropertiesEXT++{-# INLINE _VkGetPhysicalDeviceMultisamplePropertiesEXT #-}++_VkGetPhysicalDeviceMultisamplePropertiesEXT :: CString+_VkGetPhysicalDeviceMultisamplePropertiesEXT+ = Ptr "vkGetPhysicalDeviceMultisamplePropertiesEXT\NUL"#++{-# INLINE is_VkGetPhysicalDeviceMultisamplePropertiesEXT #-}++is_VkGetPhysicalDeviceMultisamplePropertiesEXT :: CString -> Bool+is_VkGetPhysicalDeviceMultisamplePropertiesEXT+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceMultisamplePropertiesEXT++type VkGetPhysicalDeviceMultisamplePropertiesEXT =+ "vkGetPhysicalDeviceMultisamplePropertiesEXT"++-- | > void vkGetPhysicalDeviceMultisamplePropertiesEXT -- > ( VkPhysicalDevice physicalDevice -- > , VkSampleCountFlagBits samples -- > , VkMultisamplePropertiesEXT* pMultisampleProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMultisamplePropertiesEXT.html vkGetPhysicalDeviceMultisamplePropertiesEXT registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceMultisamplePropertiesEXT"- vkGetPhysicalDeviceMultisamplePropertiesEXTSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkSampleCountFlagBits -- ^ samples- -> Ptr VkMultisamplePropertiesEXT -- ^ pMultisampleProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMultisamplePropertiesEXT =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSampleCountFlagBits -- ^ samples+ -> Ptr VkMultisamplePropertiesEXT -- ^ pMultisampleProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT =+ FunPtr HS_vkGetPhysicalDeviceMultisamplePropertiesEXT++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceMultisamplePropertiesEXT ::+ PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT ->+ HS_vkGetPhysicalDeviceMultisamplePropertiesEXT++instance VulkanProc "vkGetPhysicalDeviceMultisamplePropertiesEXT"+ where+ type VkProcType "vkGetPhysicalDeviceMultisamplePropertiesEXT" =+ HS_vkGetPhysicalDeviceMultisamplePropertiesEXT+ vkProcSymbol = _VkGetPhysicalDeviceMultisamplePropertiesEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMultisamplePropertiesEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION :: (Num a, Eq a) => a
@@ -24,23 +24,16 @@ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkBorderColor,- module Graphics.Vulkan.Types.Enum.VkCompareOp,- module Graphics.Vulkan.Types.Enum.VkFilter,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode,+ module Graphics.Vulkan.Types.Enum.BorderColor,+ module Graphics.Vulkan.Types.Enum.CompareOp,+ module Graphics.Vulkan.Types.Enum.Filter,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.Sampler, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode,- module Graphics.Vulkan.Types.Struct.VkSamplerReductionModeCreateInfoEXT,- module Graphics.Vulkan.Types.Enum.VkSamplerReductionModeEXT,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Sampler,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION, pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION,@@ -50,30 +43,21 @@ pattern VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT, pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkBorderColor-import Graphics.Vulkan.Types.Enum.VkCompareOp-import Graphics.Vulkan.Types.Enum.VkFilter-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags- (VkFormatFeatureBitmask (..),- VkFormatFeatureFlagBits)-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSamplerAddressMode-import Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode-import Graphics.Vulkan.Types.Enum.VkSamplerReductionModeEXT-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkSamplerCreateInfo-import Graphics.Vulkan.Types.Struct.VkSamplerReductionModeCreateInfoEXT+import Graphics.Vulkan.Types.Enum.BorderColor+import Graphics.Vulkan.Types.Enum.CompareOp+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format (VkFormatFeatureBitmask (..),+ VkFormatFeatureFlagBits)+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Sampler pattern VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION :: (Num a, Eq a) => a
@@ -41,9 +41,9 @@ pattern VK_COLOR_SPACE_PASS_THROUGH_EXT, pattern VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR (VkColorSpaceKHR (..))+import Graphics.Vulkan.Types.Enum.Color (VkColorSpaceKHR (..)) pattern VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_EXT_validation_cache (-- * Vulkan extension: @VK_EXT_validation_cache@@@ -22,22 +25,25 @@ module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo,- module Graphics.Vulkan.Types.Struct.VkShaderModuleValidationCacheCreateInfoEXT,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkValidationCacheCreateInfoEXT,- module Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT,+ module Graphics.Vulkan.Types.Struct.Shader,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Validation,+ module Graphics.Vulkan.Types.Enum.ValidationC, -- > #include "vk_platform.h"- vkCreateValidationCacheEXT, vkCreateValidationCacheEXTSafe,- vkDestroyValidationCacheEXT, vkDestroyValidationCacheEXTSafe,- vkMergeValidationCachesEXT, vkMergeValidationCachesEXTSafe,- vkGetValidationCacheDataEXT, vkGetValidationCacheDataEXTSafe,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ VkCreateValidationCacheEXT, pattern VkCreateValidationCacheEXT,+ HS_vkCreateValidationCacheEXT, PFN_vkCreateValidationCacheEXT,+ VkDestroyValidationCacheEXT, pattern VkDestroyValidationCacheEXT,+ HS_vkDestroyValidationCacheEXT, PFN_vkDestroyValidationCacheEXT,+ VkMergeValidationCachesEXT, pattern VkMergeValidationCachesEXT,+ HS_vkMergeValidationCachesEXT, PFN_vkMergeValidationCachesEXT,+ VkGetValidationCacheDataEXT, pattern VkGetValidationCacheDataEXT,+ HS_vkGetValidationCacheDataEXT, PFN_vkGetValidationCacheDataEXT,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_EXT_VALIDATION_CACHE_SPEC_VERSION, pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION, VK_EXT_VALIDATION_CACHE_EXTENSION_NAME,@@ -47,50 +53,43 @@ pattern VK_OBJECT_TYPE_VALIDATION_CACHE_EXT, pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT- (VkDebugReportObjectTypeEXT (..))-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectType- (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope-import Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT+import Graphics.Vulkan.Types.Enum.Debug (VkDebugReportObjectTypeEXT (..))+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Enum.ValidationC import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkShaderModuleCreateInfo-import Graphics.Vulkan.Types.Struct.VkShaderModuleValidationCacheCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkValidationCacheCreateInfoEXT+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Shader+import Graphics.Vulkan.Types.Struct.Validation --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkCreateValidationCacheEXT--- > ( VkDevice device--- > , const VkValidationCacheCreateInfoEXT* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkValidationCacheEXT* pValidationCache--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateValidationCacheEXT.html vkCreateValidationCacheEXT registry at www.khronos.org>-foreign import ccall unsafe "vkCreateValidationCacheEXT"- vkCreateValidationCacheEXT ::- VkDevice -- ^ device- ->- Ptr VkValidationCacheCreateInfoEXT -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkValidationCacheEXT -- ^ pValidationCache- -> IO VkResult+pattern VkCreateValidationCacheEXT :: CString +pattern VkCreateValidationCacheEXT <-+ (is_VkCreateValidationCacheEXT -> True)+ where VkCreateValidationCacheEXT = _VkCreateValidationCacheEXT++{-# INLINE _VkCreateValidationCacheEXT #-}++_VkCreateValidationCacheEXT :: CString+_VkCreateValidationCacheEXT = Ptr "vkCreateValidationCacheEXT\NUL"#++{-# INLINE is_VkCreateValidationCacheEXT #-}++is_VkCreateValidationCacheEXT :: CString -> Bool+is_VkCreateValidationCacheEXT+ = (EQ ==) . cmpCStrings _VkCreateValidationCacheEXT++type VkCreateValidationCacheEXT = "vkCreateValidationCacheEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -102,70 +101,102 @@ -- > , VkValidationCacheEXT* pValidationCache -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateValidationCacheEXT.html vkCreateValidationCacheEXT registry at www.khronos.org>-foreign import ccall safe "vkCreateValidationCacheEXT"- vkCreateValidationCacheEXTSafe ::- VkDevice -- ^ device- ->- Ptr VkValidationCacheCreateInfoEXT -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkValidationCacheEXT -- ^ pValidationCache- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateValidationCacheEXT vkCreateValidationCacheEXT registry at www.khronos.org>+type HS_vkCreateValidationCacheEXT =+ VkDevice -- ^ device+ ->+ Ptr VkValidationCacheCreateInfoEXT -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkValidationCacheEXT -- ^ pValidationCache+ -> IO VkResult --- | > () vkDestroyValidationCacheEXT--- > ( VkDevice device--- > , VkValidationCacheEXT validationCache--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyValidationCacheEXT.html vkDestroyValidationCacheEXT registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyValidationCacheEXT"- vkDestroyValidationCacheEXT ::- VkDevice -- ^ device- ->- VkValidationCacheEXT -- ^ validationCache- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateValidationCacheEXT =+ FunPtr HS_vkCreateValidationCacheEXT --- | > () vkDestroyValidationCacheEXT+foreign import ccall "dynamic" unwrapVkCreateValidationCacheEXT ::+ PFN_vkCreateValidationCacheEXT -> HS_vkCreateValidationCacheEXT++instance VulkanProc "vkCreateValidationCacheEXT" where+ type VkProcType "vkCreateValidationCacheEXT" =+ HS_vkCreateValidationCacheEXT+ vkProcSymbol = _VkCreateValidationCacheEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateValidationCacheEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyValidationCacheEXT :: CString++pattern VkDestroyValidationCacheEXT <-+ (is_VkDestroyValidationCacheEXT -> True)+ where VkDestroyValidationCacheEXT = _VkDestroyValidationCacheEXT++{-# INLINE _VkDestroyValidationCacheEXT #-}++_VkDestroyValidationCacheEXT :: CString+_VkDestroyValidationCacheEXT+ = Ptr "vkDestroyValidationCacheEXT\NUL"#++{-# INLINE is_VkDestroyValidationCacheEXT #-}++is_VkDestroyValidationCacheEXT :: CString -> Bool+is_VkDestroyValidationCacheEXT+ = (EQ ==) . cmpCStrings _VkDestroyValidationCacheEXT++type VkDestroyValidationCacheEXT = "vkDestroyValidationCacheEXT"++-- | > void vkDestroyValidationCacheEXT -- > ( VkDevice device -- > , VkValidationCacheEXT validationCache -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyValidationCacheEXT.html vkDestroyValidationCacheEXT registry at www.khronos.org>-foreign import ccall safe "vkDestroyValidationCacheEXT"- vkDestroyValidationCacheEXTSafe ::- VkDevice -- ^ device- ->- VkValidationCacheEXT -- ^ validationCache- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT registry at www.khronos.org>+type HS_vkDestroyValidationCacheEXT =+ VkDevice -- ^ device+ ->+ VkValidationCacheEXT -- ^ validationCache+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO () --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkMergeValidationCachesEXT--- > ( VkDevice device--- > , VkValidationCacheEXT dstCache--- > , uint32_t srcCacheCount--- > , const VkValidationCacheEXT* pSrcCaches--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergeValidationCachesEXT.html vkMergeValidationCachesEXT registry at www.khronos.org>-foreign import ccall unsafe "vkMergeValidationCachesEXT"- vkMergeValidationCachesEXT ::- VkDevice -- ^ device- ->- VkValidationCacheEXT -- ^ dstCache- ->- Word32 -- ^ srcCacheCount- -> Ptr VkValidationCacheEXT -- ^ pSrcCaches- -> IO VkResult+type PFN_vkDestroyValidationCacheEXT =+ FunPtr HS_vkDestroyValidationCacheEXT +foreign import ccall "dynamic" unwrapVkDestroyValidationCacheEXT ::+ PFN_vkDestroyValidationCacheEXT -> HS_vkDestroyValidationCacheEXT++instance VulkanProc "vkDestroyValidationCacheEXT" where+ type VkProcType "vkDestroyValidationCacheEXT" =+ HS_vkDestroyValidationCacheEXT+ vkProcSymbol = _VkDestroyValidationCacheEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyValidationCacheEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkMergeValidationCachesEXT :: CString++pattern VkMergeValidationCachesEXT <-+ (is_VkMergeValidationCachesEXT -> True)+ where VkMergeValidationCachesEXT = _VkMergeValidationCachesEXT++{-# INLINE _VkMergeValidationCachesEXT #-}++_VkMergeValidationCachesEXT :: CString+_VkMergeValidationCachesEXT = Ptr "vkMergeValidationCachesEXT\NUL"#++{-# INLINE is_VkMergeValidationCachesEXT #-}++is_VkMergeValidationCachesEXT :: CString -> Bool+is_VkMergeValidationCachesEXT+ = (EQ ==) . cmpCStrings _VkMergeValidationCachesEXT++type VkMergeValidationCachesEXT = "vkMergeValidationCachesEXT"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -177,38 +208,52 @@ -- > , const VkValidationCacheEXT* pSrcCaches -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkMergeValidationCachesEXT.html vkMergeValidationCachesEXT registry at www.khronos.org>-foreign import ccall safe "vkMergeValidationCachesEXT"- vkMergeValidationCachesEXTSafe ::- VkDevice -- ^ device- ->- VkValidationCacheEXT -- ^ dstCache- ->- Word32 -- ^ srcCacheCount- -> Ptr VkValidationCacheEXT -- ^ pSrcCaches- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkMergeValidationCachesEXT vkMergeValidationCachesEXT registry at www.khronos.org>+type HS_vkMergeValidationCachesEXT =+ VkDevice -- ^ device+ ->+ VkValidationCacheEXT -- ^ dstCache+ ->+ Word32 -- ^ srcCacheCount+ -> Ptr VkValidationCacheEXT -- ^ pSrcCaches+ -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetValidationCacheDataEXT--- > ( VkDevice device--- > , VkValidationCacheEXT validationCache--- > , size_t* pDataSize--- > , void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetValidationCacheDataEXT.html vkGetValidationCacheDataEXT registry at www.khronos.org>-foreign import ccall unsafe "vkGetValidationCacheDataEXT"- vkGetValidationCacheDataEXT ::- VkDevice -- ^ device- ->- VkValidationCacheEXT -- ^ validationCache- -> Ptr CSize -- ^ pDataSize- -> Ptr Void -- ^ pData- -> IO VkResult+type PFN_vkMergeValidationCachesEXT =+ FunPtr HS_vkMergeValidationCachesEXT +foreign import ccall "dynamic" unwrapVkMergeValidationCachesEXT ::+ PFN_vkMergeValidationCachesEXT -> HS_vkMergeValidationCachesEXT++instance VulkanProc "vkMergeValidationCachesEXT" where+ type VkProcType "vkMergeValidationCachesEXT" =+ HS_vkMergeValidationCachesEXT+ vkProcSymbol = _VkMergeValidationCachesEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkMergeValidationCachesEXT++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetValidationCacheDataEXT :: CString++pattern VkGetValidationCacheDataEXT <-+ (is_VkGetValidationCacheDataEXT -> True)+ where VkGetValidationCacheDataEXT = _VkGetValidationCacheDataEXT++{-# INLINE _VkGetValidationCacheDataEXT #-}++_VkGetValidationCacheDataEXT :: CString+_VkGetValidationCacheDataEXT+ = Ptr "vkGetValidationCacheDataEXT\NUL"#++{-# INLINE is_VkGetValidationCacheDataEXT #-}++is_VkGetValidationCacheDataEXT :: CString -> Bool+is_VkGetValidationCacheDataEXT+ = (EQ ==) . cmpCStrings _VkGetValidationCacheDataEXT++type VkGetValidationCacheDataEXT = "vkGetValidationCacheDataEXT"+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -220,15 +265,30 @@ -- > , void* pData -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetValidationCacheDataEXT.html vkGetValidationCacheDataEXT registry at www.khronos.org>-foreign import ccall safe "vkGetValidationCacheDataEXT"- vkGetValidationCacheDataEXTSafe ::- VkDevice -- ^ device- ->- VkValidationCacheEXT -- ^ validationCache- -> Ptr CSize -- ^ pDataSize- -> Ptr Void -- ^ pData- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT registry at www.khronos.org>+type HS_vkGetValidationCacheDataEXT =+ VkDevice -- ^ device+ ->+ VkValidationCacheEXT -- ^ validationCache+ -> Ptr CSize -- ^ pDataSize+ -> Ptr Void -- ^ pData+ -> IO VkResult++type PFN_vkGetValidationCacheDataEXT =+ FunPtr HS_vkGetValidationCacheDataEXT++foreign import ccall "dynamic" unwrapVkGetValidationCacheDataEXT ::+ PFN_vkGetValidationCacheDataEXT -> HS_vkGetValidationCacheDataEXT++instance VulkanProc "vkGetValidationCacheDataEXT" where+ type VkProcType "vkGetValidationCacheDataEXT" =+ HS_vkGetValidationCacheDataEXT+ vkProcSymbol = _VkGetValidationCacheDataEXT++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetValidationCacheDataEXT++ {-# INLINE unwrapVkProcPtr #-} pattern VK_EXT_VALIDATION_CACHE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -18,13 +18,13 @@ -- -- Extension number: @62@ module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Struct.VkApplicationInfo,+ module Graphics.Vulkan.Types.Struct.ApplicationInfo, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkValidationCheckEXT,- module Graphics.Vulkan.Types.Struct.VkValidationFlagsEXT,+ module Graphics.Vulkan.Types.Struct.InstanceCreateInfo,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.ValidationC,+ module Graphics.Vulkan.Types.Struct.Validation, -- > #include "vk_platform.h" VK_EXT_VALIDATION_FLAGS_SPEC_VERSION, pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION,@@ -32,15 +32,15 @@ pattern VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkValidationCheckEXT-import Graphics.Vulkan.Types.Struct.VkApplicationInfo-import Graphics.Vulkan.Types.Struct.VkInstanceCreateInfo-import Graphics.Vulkan.Types.Struct.VkValidationFlagsEXT+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.ValidationC+import Graphics.Vulkan.Types.Struct.ApplicationInfo+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo+import Graphics.Vulkan.Types.Struct.Validation pattern VK_EXT_VALIDATION_FLAGS_SPEC_VERSION :: (Num a, Eq a) => a
@@ -24,22 +24,15 @@ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,- module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputDivisorStateCreateInfoEXT,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Struct.Pipeline, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription,- module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription,- module Graphics.Vulkan.Types.Struct.VkVertexInputBindingDivisorDescriptionEXT,- module Graphics.Vulkan.Types.Enum.VkVertexInputRate,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.VertexInput,+ module Graphics.Vulkan.Types.Enum.VertexInputRate, -- > #include "vk_platform.h" VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION,@@ -48,26 +41,18 @@ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkVertexInputRate-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT-import Graphics.Vulkan.Types.Struct.VkPipelineVertexInputDivisorStateCreateInfoEXT-import Graphics.Vulkan.Types.Struct.VkPipelineVertexInputStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkVertexInputAttributeDescription-import Graphics.Vulkan.Types.Struct.VkVertexInputBindingDescription-import Graphics.Vulkan.Types.Struct.VkVertexInputBindingDivisorDescriptionEXT+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.VertexInputRate+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.VertexInput pattern VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_GOOGLE_display_timing (-- * Vulkan extension: @VK_GOOGLE_display_timing@@@ -23,18 +26,20 @@ -- -- ** Required extensions: 'VK_KHR_swapchain'.- module Graphics.Vulkan.Types.Struct.VkPastPresentationTimingGOOGLE,- module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPresentTimeGOOGLE,- module Graphics.Vulkan.Types.Struct.VkPresentTimesInfoGOOGLE,- module Graphics.Vulkan.Types.Struct.VkRefreshCycleDurationGOOGLE,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE,+ module Graphics.Vulkan.Types.Struct.Present,+ module Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkGetRefreshCycleDurationGOOGLE,- vkGetRefreshCycleDurationGOOGLESafe,- vkGetPastPresentationTimingGOOGLE,- vkGetPastPresentationTimingGOOGLESafe,+ VkGetRefreshCycleDurationGOOGLE,+ pattern VkGetRefreshCycleDurationGOOGLE,+ HS_vkGetRefreshCycleDurationGOOGLE,+ PFN_vkGetRefreshCycleDurationGOOGLE,+ VkGetPastPresentationTimingGOOGLE,+ pattern VkGetPastPresentationTimingGOOGLE,+ HS_vkGetPastPresentationTimingGOOGLE,+ PFN_vkGetPastPresentationTimingGOOGLE, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.Handles, VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION,@@ -43,36 +48,38 @@ pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..))+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkPastPresentationTimingGOOGLE-import Graphics.Vulkan.Types.Struct.VkPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkPresentTimeGOOGLE-import Graphics.Vulkan.Types.Struct.VkPresentTimesInfoGOOGLE-import Graphics.Vulkan.Types.Struct.VkRefreshCycleDurationGOOGLE+import Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE+import Graphics.Vulkan.Types.Struct.Present+import Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetRefreshCycleDurationGOOGLE--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRefreshCycleDurationGOOGLE.html vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org>-foreign import ccall unsafe "vkGetRefreshCycleDurationGOOGLE"- vkGetRefreshCycleDurationGOOGLE ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- -> Ptr VkRefreshCycleDurationGOOGLE -- ^ pDisplayTimingProperties- -> IO VkResult+pattern VkGetRefreshCycleDurationGOOGLE :: CString +pattern VkGetRefreshCycleDurationGOOGLE <-+ (is_VkGetRefreshCycleDurationGOOGLE -> True)+ where VkGetRefreshCycleDurationGOOGLE+ = _VkGetRefreshCycleDurationGOOGLE++{-# INLINE _VkGetRefreshCycleDurationGOOGLE #-}++_VkGetRefreshCycleDurationGOOGLE :: CString+_VkGetRefreshCycleDurationGOOGLE+ = Ptr "vkGetRefreshCycleDurationGOOGLE\NUL"#++{-# INLINE is_VkGetRefreshCycleDurationGOOGLE #-}++is_VkGetRefreshCycleDurationGOOGLE :: CString -> Bool+is_VkGetRefreshCycleDurationGOOGLE+ = (EQ ==) . cmpCStrings _VkGetRefreshCycleDurationGOOGLE++type VkGetRefreshCycleDurationGOOGLE =+ "vkGetRefreshCycleDurationGOOGLE"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -83,37 +90,54 @@ -- > , VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetRefreshCycleDurationGOOGLE.html vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org>-foreign import ccall safe "vkGetRefreshCycleDurationGOOGLE"- vkGetRefreshCycleDurationGOOGLESafe ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- -> Ptr VkRefreshCycleDurationGOOGLE -- ^ pDisplayTimingProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE registry at www.khronos.org>+type HS_vkGetRefreshCycleDurationGOOGLE =+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ -> Ptr VkRefreshCycleDurationGOOGLE -- ^ pDisplayTimingProperties+ -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetPastPresentationTimingGOOGLE--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , uint32_t* pPresentationTimingCount--- > , VkPastPresentationTimingGOOGLE* pPresentationTimings--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPastPresentationTimingGOOGLE.html vkGetPastPresentationTimingGOOGLE registry at www.khronos.org>-foreign import ccall unsafe "vkGetPastPresentationTimingGOOGLE"- vkGetPastPresentationTimingGOOGLE ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- ->- Ptr Word32 -- ^ pPresentationTimingCount- -> Ptr VkPastPresentationTimingGOOGLE -- ^ pPresentationTimings- -> IO VkResult+type PFN_vkGetRefreshCycleDurationGOOGLE =+ FunPtr HS_vkGetRefreshCycleDurationGOOGLE +foreign import ccall "dynamic"+ unwrapVkGetRefreshCycleDurationGOOGLE ::+ PFN_vkGetRefreshCycleDurationGOOGLE ->+ HS_vkGetRefreshCycleDurationGOOGLE++instance VulkanProc "vkGetRefreshCycleDurationGOOGLE" where+ type VkProcType "vkGetRefreshCycleDurationGOOGLE" =+ HS_vkGetRefreshCycleDurationGOOGLE+ vkProcSymbol = _VkGetRefreshCycleDurationGOOGLE++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetRefreshCycleDurationGOOGLE++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPastPresentationTimingGOOGLE :: CString++pattern VkGetPastPresentationTimingGOOGLE <-+ (is_VkGetPastPresentationTimingGOOGLE -> True)+ where VkGetPastPresentationTimingGOOGLE+ = _VkGetPastPresentationTimingGOOGLE++{-# INLINE _VkGetPastPresentationTimingGOOGLE #-}++_VkGetPastPresentationTimingGOOGLE :: CString+_VkGetPastPresentationTimingGOOGLE+ = Ptr "vkGetPastPresentationTimingGOOGLE\NUL"#++{-# INLINE is_VkGetPastPresentationTimingGOOGLE #-}++is_VkGetPastPresentationTimingGOOGLE :: CString -> Bool+is_VkGetPastPresentationTimingGOOGLE+ = (EQ ==) . cmpCStrings _VkGetPastPresentationTimingGOOGLE++type VkGetPastPresentationTimingGOOGLE =+ "vkGetPastPresentationTimingGOOGLE"+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- -- Error codes: 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -125,16 +149,33 @@ -- > , VkPastPresentationTimingGOOGLE* pPresentationTimings -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPastPresentationTimingGOOGLE.html vkGetPastPresentationTimingGOOGLE registry at www.khronos.org>-foreign import ccall safe "vkGetPastPresentationTimingGOOGLE"- vkGetPastPresentationTimingGOOGLESafe ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- ->- Ptr Word32 -- ^ pPresentationTimingCount- -> Ptr VkPastPresentationTimingGOOGLE -- ^ pPresentationTimings- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE registry at www.khronos.org>+type HS_vkGetPastPresentationTimingGOOGLE =+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ Ptr Word32 -- ^ pPresentationTimingCount+ -> Ptr VkPastPresentationTimingGOOGLE -- ^ pPresentationTimings+ -> IO VkResult++type PFN_vkGetPastPresentationTimingGOOGLE =+ FunPtr HS_vkGetPastPresentationTimingGOOGLE++foreign import ccall "dynamic"+ unwrapVkGetPastPresentationTimingGOOGLE ::+ PFN_vkGetPastPresentationTimingGOOGLE ->+ HS_vkGetPastPresentationTimingGOOGLE++instance VulkanProc "vkGetPastPresentationTimingGOOGLE" where+ type VkProcType "vkGetPastPresentationTimingGOOGLE" =+ HS_vkGetPastPresentationTimingGOOGLE+ vkProcSymbol = _VkGetPastPresentationTimingGOOGLE++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPastPresentationTimingGOOGLE++ {-# INLINE unwrapVkProcPtr #-} pattern VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION :: (Num a, Eq a) => a
@@ -24,11 +24,11 @@ pattern VK_FILTER_CUBIC_IMG, pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkFilter (VkFilter (..))-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags (VkFormatFeatureBitmask (..),- VkFormatFeatureFlagBits)+import Graphics.Vulkan.Types.Enum.Filter (VkFilter (..))+import Graphics.Vulkan.Types.Enum.Format (VkFormatFeatureBitmask (..),+ VkFormatFeatureFlagBits) pattern VK_IMG_FILTER_CUBIC_SPEC_VERSION :: (Num a, Eq a) => a
@@ -30,9 +30,9 @@ pattern VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG, pattern VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkFormat (VkFormat (..))+import Graphics.Vulkan.Types.Enum.Format (VkFormat (..)) pattern VK_IMG_FORMAT_PVRTC_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,19 +23,17 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.- module Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeaturesKHR,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice, VK_KHR_16BIT_STORAGE_SPEC_VERSION, pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, pattern VK_KHR_16BIT_STORAGE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.VkPhysicalDevice16BitStorageFeaturesKHR+import Graphics.Vulkan.Types.Struct.PhysicalDevice pattern VK_KHR_16BIT_STORAGE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_android_surface (-- * Vulkan extension: @VK_KHR_android_surface@@@ -26,51 +32,80 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkAndroidSurfaceCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"+ VkCreateAndroidSurfaceKHR, pattern VkCreateAndroidSurfaceKHR,+ HS_vkCreateAndroidSurfaceKHR, PFN_vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHR, vkCreateAndroidSurfaceKHRSafe, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.Defines,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_ANDROID_SURFACE_SPEC_VERSION, pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION, VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, pattern VK_KHR_ANDROID_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Defines-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkAndroidSurfaceCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformAndroidKhr+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateAndroidSurfaceKHR :: CString++pattern VkCreateAndroidSurfaceKHR <-+ (is_VkCreateAndroidSurfaceKHR -> True)+ where VkCreateAndroidSurfaceKHR = _VkCreateAndroidSurfaceKHR++{-# INLINE _VkCreateAndroidSurfaceKHR #-}++_VkCreateAndroidSurfaceKHR :: CString+_VkCreateAndroidSurfaceKHR = Ptr "vkCreateAndroidSurfaceKHR\NUL"#++{-# INLINE is_VkCreateAndroidSurfaceKHR #-}++is_VkCreateAndroidSurfaceKHR :: CString -> Bool+is_VkCreateAndroidSurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateAndroidSurfaceKHR++type VkCreateAndroidSurfaceKHR = "vkCreateAndroidSurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'. ----- > VkResult vkCreateAndroidSurfaceKHR--- > ( VkInstance instance--- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateAndroidSurfaceKHR+-- > ( VkInstance instance+-- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateAndroidSurfaceKHR.html vkCreateAndroidSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateAndroidSurfaceKHR" vkCreateAndroidSurfaceKHR :: VkInstance -- ^ instance@@ -81,18 +116,65 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'. ----- > VkResult vkCreateAndroidSurfaceKHR--- > ( VkInstance instance--- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateAndroidSurfaceKHR+-- > ( VkInstance instance+-- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateAndroidSurfaceKHR.html vkCreateAndroidSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateAndroidSurfaceKHRSafe@ and @vkCreateAndroidSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateAndroidSurfaceKHR <- vkGetInstanceProc @VkCreateAndroidSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateAndroidSurfaceKHR <- vkGetProc @VkCreateAndroidSurfaceKHR+--+vkCreateAndroidSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateAndroidSurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateAndroidSurfaceKHR)++{-# NOINLINE vkCreateAndroidSurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateAndroidSurfaceKHR+-- > ( VkInstance instance+-- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateAndroidSurfaceKHR" vkCreateAndroidSurfaceKHRSafe :: VkInstance -- ^ instance@@ -102,6 +184,83 @@ Ptr VkAllocationCallbacks -- ^ pAllocator -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateAndroidSurfaceKHR+-- > ( VkInstance instance+-- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateAndroidSurfaceKHRSafe@ and @vkCreateAndroidSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateAndroidSurfaceKHR <- vkGetInstanceProc @VkCreateAndroidSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateAndroidSurfaceKHR <- vkGetProc @VkCreateAndroidSurfaceKHR+--+vkCreateAndroidSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateAndroidSurfaceKHRSafe = vkCreateAndroidSurfaceKHR++{-# INLINE vkCreateAndroidSurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateAndroidSurfaceKHR+-- > ( VkInstance instance+-- > , const VkAndroidSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR registry at www.khronos.org>+type HS_vkCreateAndroidSurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkAndroidSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateAndroidSurfaceKHR =+ FunPtr HS_vkCreateAndroidSurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateAndroidSurfaceKHR ::+ PFN_vkCreateAndroidSurfaceKHR -> HS_vkCreateAndroidSurfaceKHR++instance VulkanProc "vkCreateAndroidSurfaceKHR" where+ type VkProcType "vkCreateAndroidSurfaceKHR" =+ HS_vkCreateAndroidSurfaceKHR+ vkProcSymbol = _VkCreateAndroidSurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateAndroidSurfaceKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_ANDROID_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_bind_memory2 (-- * Vulkan extension: @VK_KHR_bind_memory2@@@ -19,17 +22,15 @@ -- type: @device@ -- -- Extension number: @158@- module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR,- vkBindBufferMemory2KHR, vkBindBufferMemory2KHRSafe,- vkBindImageMemory2KHR, vkBindImageMemory2KHRSafe,- module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.Struct.Bind, VkBindBufferMemory2KHR,+ pattern VkBindBufferMemory2KHR, HS_vkBindBufferMemory2KHR,+ PFN_vkBindBufferMemory2KHR, VkBindImageMemory2KHR,+ pattern VkBindImageMemory2KHR, HS_vkBindImageMemory2KHR,+ PFN_vkBindImageMemory2KHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo, VK_KHR_BIND_MEMORY_2_SPEC_VERSION, pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION, VK_KHR_BIND_MEMORY_2_EXTENSION_NAME,@@ -38,40 +39,37 @@ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR, pattern VK_IMAGE_CREATE_ALIAS_BIT_KHR) where-import GHC.Ptr (Ptr (..))-import Graphics.Vulkan.Core_1_1 (pattern VK_IMAGE_CREATE_ALIAS_BIT,- pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_IMAGE_CREATE_ALIAS_BIT,+ pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindBufferMemoryInfoKHR-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfoKHR+import Graphics.Vulkan.Types.Struct.Bind --- | This is an alias for `vkBindBufferMemory2`.------ Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindBufferMemory2KHR--- > ( VkDevice device--- > , uint32_t bindInfoCount--- > , const VkBindBufferMemoryInfo* pBindInfos--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2KHR.html vkBindBufferMemory2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkBindBufferMemory2"- vkBindBufferMemory2KHR ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos- -> IO VkResult+pattern VkBindBufferMemory2KHR :: CString +pattern VkBindBufferMemory2KHR <-+ (is_VkBindBufferMemory2KHR -> True)+ where VkBindBufferMemory2KHR = _VkBindBufferMemory2KHR++{-# INLINE _VkBindBufferMemory2KHR #-}++_VkBindBufferMemory2KHR :: CString+_VkBindBufferMemory2KHR = Ptr "vkBindBufferMemory2KHR\NUL"#++{-# INLINE is_VkBindBufferMemory2KHR #-}++is_VkBindBufferMemory2KHR :: CString -> Bool+is_VkBindBufferMemory2KHR+ = (EQ ==) . cmpCStrings _VkBindBufferMemory2KHR++type VkBindBufferMemory2KHR = "vkBindBufferMemory2KHR"+ -- | This is an alias for `vkBindBufferMemory2`. -- -- Success codes: 'VK_SUCCESS'.@@ -84,34 +82,46 @@ -- > , const VkBindBufferMemoryInfo* pBindInfos -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindBufferMemory2KHR.html vkBindBufferMemory2KHR registry at www.khronos.org>-foreign import ccall safe "vkBindBufferMemory2"- vkBindBufferMemory2KHRSafe ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindBufferMemory2KHR vkBindBufferMemory2KHR registry at www.khronos.org>+type HS_vkBindBufferMemory2KHR =+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindBufferMemoryInfo -- ^ pBindInfos+ -> IO VkResult --- | This is an alias for `vkBindImageMemory2`.------ Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkBindImageMemory2KHR--- > ( VkDevice device--- > , uint32_t bindInfoCount--- > , const VkBindImageMemoryInfo* pBindInfos--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2KHR.html vkBindImageMemory2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkBindImageMemory2"- vkBindImageMemory2KHR ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos- -> IO VkResult+type PFN_vkBindBufferMemory2KHR = FunPtr HS_vkBindBufferMemory2KHR +foreign import ccall "dynamic" unwrapVkBindBufferMemory2KHR ::+ PFN_vkBindBufferMemory2KHR -> HS_vkBindBufferMemory2KHR++instance VulkanProc "vkBindBufferMemory2KHR" where+ type VkProcType "vkBindBufferMemory2KHR" =+ HS_vkBindBufferMemory2KHR+ vkProcSymbol = _VkBindBufferMemory2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBindBufferMemory2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkBindImageMemory2KHR :: CString++pattern VkBindImageMemory2KHR <- (is_VkBindImageMemory2KHR -> True)+ where VkBindImageMemory2KHR = _VkBindImageMemory2KHR++{-# INLINE _VkBindImageMemory2KHR #-}++_VkBindImageMemory2KHR :: CString+_VkBindImageMemory2KHR = Ptr "vkBindImageMemory2KHR\NUL"#++{-# INLINE is_VkBindImageMemory2KHR #-}++is_VkBindImageMemory2KHR :: CString -> Bool+is_VkBindImageMemory2KHR+ = (EQ ==) . cmpCStrings _VkBindImageMemory2KHR++type VkBindImageMemory2KHR = "vkBindImageMemory2KHR"+ -- | This is an alias for `vkBindImageMemory2`. -- -- Success codes: 'VK_SUCCESS'.@@ -124,13 +134,26 @@ -- > , const VkBindImageMemoryInfo* pBindInfos -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkBindImageMemory2KHR.html vkBindImageMemory2KHR registry at www.khronos.org>-foreign import ccall safe "vkBindImageMemory2"- vkBindImageMemory2KHRSafe ::- VkDevice -- ^ device- -> Word32 -- ^ bindInfoCount- -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkBindImageMemory2KHR vkBindImageMemory2KHR registry at www.khronos.org>+type HS_vkBindImageMemory2KHR =+ VkDevice -- ^ device+ -> Word32 -- ^ bindInfoCount+ -> Ptr VkBindImageMemoryInfo -- ^ pBindInfos+ -> IO VkResult++type PFN_vkBindImageMemory2KHR = FunPtr HS_vkBindImageMemory2KHR++foreign import ccall "dynamic" unwrapVkBindImageMemory2KHR ::+ PFN_vkBindImageMemory2KHR -> HS_vkBindImageMemory2KHR++instance VulkanProc "vkBindImageMemory2KHR" where+ type VkProcType "vkBindImageMemory2KHR" = HS_vkBindImageMemory2KHR+ vkProcSymbol = _VkBindImageMemory2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkBindImageMemory2KHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_BIND_MEMORY_2_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,8 +23,7 @@ -- -- ** Required extensions: 'VK_KHR_get_memory_requirements2'.- module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirementsKHR,+ module Graphics.Vulkan.Types.Struct.Memory, VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION, pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION, VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME,@@ -32,12 +31,11 @@ pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR, pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))-import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,- pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,+ pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.VkMemoryDedicatedAllocateInfoKHR-import Graphics.Vulkan.Types.Struct.VkMemoryDedicatedRequirementsKHR+import Graphics.Vulkan.Types.Struct.Memory pattern VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template (-- * Vulkan extension: @VK_KHR_descriptor_update_template@@@ -20,29 +23,30 @@ -- -- Extension number: @86@ module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR,- module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR,- vkCreateDescriptorUpdateTemplateKHR,- vkCreateDescriptorUpdateTemplateKHRSafe,- vkDestroyDescriptorUpdateTemplateKHR,- vkDestroyDescriptorUpdateTemplateKHRSafe,- vkUpdateDescriptorSetWithTemplateKHR,- vkUpdateDescriptorSetWithTemplateKHRSafe,+ module Graphics.Vulkan.Types.Struct.Descriptor,+ module Graphics.Vulkan.Types.Enum.Descriptor,+ VkCreateDescriptorUpdateTemplateKHR,+ pattern VkCreateDescriptorUpdateTemplateKHR,+ HS_vkCreateDescriptorUpdateTemplateKHR,+ PFN_vkCreateDescriptorUpdateTemplateKHR,+ VkDestroyDescriptorUpdateTemplateKHR,+ pattern VkDestroyDescriptorUpdateTemplateKHR,+ HS_vkDestroyDescriptorUpdateTemplateKHR,+ PFN_vkDestroyDescriptorUpdateTemplateKHR,+ VkUpdateDescriptorSetWithTemplateKHR,+ pattern VkUpdateDescriptorSetWithTemplateKHR,+ HS_vkUpdateDescriptorSetWithTemplateKHR,+ PFN_vkUpdateDescriptorSetWithTemplateKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkDescriptorType,- module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Pipeline,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION, pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION, VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME,@@ -51,67 +55,58 @@ pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR, pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR, -- ** Required extensions: 'VK_KHR_push_descriptor'.- vkCmdPushDescriptorSetWithTemplateKHR,- vkCmdPushDescriptorSetWithTemplateKHRSafe,+ pattern VkCmdPushDescriptorSetWithTemplateKHR,+ HS_vkCmdPushDescriptorSetWithTemplateKHR,+ PFN_vkCmdPushDescriptorSetWithTemplateKHR, pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR, -- ** Required extensions: 'VK_EXT_debug_report'. pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,- pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO)-import Graphics.Vulkan.Ext.VK_EXT_debug_report- (pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT)-import Graphics.Vulkan.Ext.VK_KHR_push_descriptor- (pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,- vkCmdPushDescriptorSetWithTemplateKHR,- vkCmdPushDescriptorSetWithTemplateKHRSafe)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,+ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO)+import Graphics.Vulkan.Ext.VK_EXT_debug_report (pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT)+import Graphics.Vulkan.Ext.VK_KHR_push_descriptor (HS_vkCmdPushDescriptorSetWithTemplateKHR,+ PFN_vkCmdPushDescriptorSetWithTemplateKHR,+ pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR,+ pattern VkCmdPushDescriptorSetWithTemplateKHR) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDescriptorType-import Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType-import Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntry-import Graphics.Vulkan.Types.Struct.VkDescriptorUpdateTemplateEntryKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Descriptor --- | This is an alias for `vkCreateDescriptorUpdateTemplate`.------ Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDescriptorUpdateTemplateKHR--- > ( VkDevice device--- > , const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplateKHR.html vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDescriptorUpdateTemplate"- vkCreateDescriptorUpdateTemplateKHR ::- VkDevice -- ^ device- ->- Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate- -> IO VkResult+pattern VkCreateDescriptorUpdateTemplateKHR :: CString +pattern VkCreateDescriptorUpdateTemplateKHR <-+ (is_VkCreateDescriptorUpdateTemplateKHR -> True)+ where VkCreateDescriptorUpdateTemplateKHR+ = _VkCreateDescriptorUpdateTemplateKHR++{-# INLINE _VkCreateDescriptorUpdateTemplateKHR #-}++_VkCreateDescriptorUpdateTemplateKHR :: CString+_VkCreateDescriptorUpdateTemplateKHR+ = Ptr "vkCreateDescriptorUpdateTemplateKHR\NUL"#++{-# INLINE is_VkCreateDescriptorUpdateTemplateKHR #-}++is_VkCreateDescriptorUpdateTemplateKHR :: CString -> Bool+is_VkCreateDescriptorUpdateTemplateKHR+ = (EQ ==) . cmpCStrings _VkCreateDescriptorUpdateTemplateKHR++type VkCreateDescriptorUpdateTemplateKHR =+ "vkCreateDescriptorUpdateTemplateKHR"+ -- | This is an alias for `vkCreateDescriptorUpdateTemplate`. -- -- Success codes: 'VK_SUCCESS'.@@ -125,89 +120,148 @@ -- > , VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDescriptorUpdateTemplateKHR.html vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org>-foreign import ccall safe "vkCreateDescriptorUpdateTemplate"- vkCreateDescriptorUpdateTemplateKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR registry at www.khronos.org>+type HS_vkCreateDescriptorUpdateTemplateKHR =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorUpdateTemplateCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkDescriptorUpdateTemplate -- ^ pDescriptorUpdateTemplate+ -> IO VkResult --- | This is an alias for `vkDestroyDescriptorUpdateTemplate`.------ > () vkDestroyDescriptorUpdateTemplateKHR--- > ( VkDevice device--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplateKHR.html vkDestroyDescriptorUpdateTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyDescriptorUpdateTemplate"- vkDestroyDescriptorUpdateTemplateKHR ::- VkDevice -- ^ device- ->- VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateDescriptorUpdateTemplateKHR =+ FunPtr HS_vkCreateDescriptorUpdateTemplateKHR +foreign import ccall "dynamic"+ unwrapVkCreateDescriptorUpdateTemplateKHR ::+ PFN_vkCreateDescriptorUpdateTemplateKHR ->+ HS_vkCreateDescriptorUpdateTemplateKHR++instance VulkanProc "vkCreateDescriptorUpdateTemplateKHR" where+ type VkProcType "vkCreateDescriptorUpdateTemplateKHR" =+ HS_vkCreateDescriptorUpdateTemplateKHR+ vkProcSymbol = _VkCreateDescriptorUpdateTemplateKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDescriptorUpdateTemplateKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyDescriptorUpdateTemplateKHR :: CString++pattern VkDestroyDescriptorUpdateTemplateKHR <-+ (is_VkDestroyDescriptorUpdateTemplateKHR -> True)+ where VkDestroyDescriptorUpdateTemplateKHR+ = _VkDestroyDescriptorUpdateTemplateKHR++{-# INLINE _VkDestroyDescriptorUpdateTemplateKHR #-}++_VkDestroyDescriptorUpdateTemplateKHR :: CString+_VkDestroyDescriptorUpdateTemplateKHR+ = Ptr "vkDestroyDescriptorUpdateTemplateKHR\NUL"#++{-# INLINE is_VkDestroyDescriptorUpdateTemplateKHR #-}++is_VkDestroyDescriptorUpdateTemplateKHR :: CString -> Bool+is_VkDestroyDescriptorUpdateTemplateKHR+ = (EQ ==) . cmpCStrings _VkDestroyDescriptorUpdateTemplateKHR++type VkDestroyDescriptorUpdateTemplateKHR =+ "vkDestroyDescriptorUpdateTemplateKHR"+ -- | This is an alias for `vkDestroyDescriptorUpdateTemplate`. ----- > () vkDestroyDescriptorUpdateTemplateKHR+-- > void vkDestroyDescriptorUpdateTemplateKHR -- > ( VkDevice device -- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyDescriptorUpdateTemplateKHR.html vkDestroyDescriptorUpdateTemplateKHR registry at www.khronos.org>-foreign import ccall safe "vkDestroyDescriptorUpdateTemplate"- vkDestroyDescriptorUpdateTemplateKHRSafe ::- VkDevice -- ^ device- ->- VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR registry at www.khronos.org>+type HS_vkDestroyDescriptorUpdateTemplateKHR =+ VkDevice -- ^ device+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO () --- | This is an alias for `vkUpdateDescriptorSetWithTemplate`.------ > () vkUpdateDescriptorSetWithTemplateKHR--- > ( VkDevice device--- > , VkDescriptorSet descriptorSet--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , const void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html vkUpdateDescriptorSetWithTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkUpdateDescriptorSetWithTemplate"- vkUpdateDescriptorSetWithTemplateKHR ::- VkDevice -- ^ device- ->- VkDescriptorSet -- ^ descriptorSet- -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr Void -- ^ pData- -> IO ()+type PFN_vkDestroyDescriptorUpdateTemplateKHR =+ FunPtr HS_vkDestroyDescriptorUpdateTemplateKHR +foreign import ccall "dynamic"+ unwrapVkDestroyDescriptorUpdateTemplateKHR ::+ PFN_vkDestroyDescriptorUpdateTemplateKHR ->+ HS_vkDestroyDescriptorUpdateTemplateKHR++instance VulkanProc "vkDestroyDescriptorUpdateTemplateKHR" where+ type VkProcType "vkDestroyDescriptorUpdateTemplateKHR" =+ HS_vkDestroyDescriptorUpdateTemplateKHR+ vkProcSymbol = _VkDestroyDescriptorUpdateTemplateKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyDescriptorUpdateTemplateKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkUpdateDescriptorSetWithTemplateKHR :: CString++pattern VkUpdateDescriptorSetWithTemplateKHR <-+ (is_VkUpdateDescriptorSetWithTemplateKHR -> True)+ where VkUpdateDescriptorSetWithTemplateKHR+ = _VkUpdateDescriptorSetWithTemplateKHR++{-# INLINE _VkUpdateDescriptorSetWithTemplateKHR #-}++_VkUpdateDescriptorSetWithTemplateKHR :: CString+_VkUpdateDescriptorSetWithTemplateKHR+ = Ptr "vkUpdateDescriptorSetWithTemplateKHR\NUL"#++{-# INLINE is_VkUpdateDescriptorSetWithTemplateKHR #-}++is_VkUpdateDescriptorSetWithTemplateKHR :: CString -> Bool+is_VkUpdateDescriptorSetWithTemplateKHR+ = (EQ ==) . cmpCStrings _VkUpdateDescriptorSetWithTemplateKHR++type VkUpdateDescriptorSetWithTemplateKHR =+ "vkUpdateDescriptorSetWithTemplateKHR"+ -- | This is an alias for `vkUpdateDescriptorSetWithTemplate`. ----- > () vkUpdateDescriptorSetWithTemplateKHR+-- > void vkUpdateDescriptorSetWithTemplateKHR -- > ( VkDevice device -- > , VkDescriptorSet descriptorSet -- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate -- > , const void* pData -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html vkUpdateDescriptorSetWithTemplateKHR registry at www.khronos.org>-foreign import ccall safe "vkUpdateDescriptorSetWithTemplate"- vkUpdateDescriptorSetWithTemplateKHRSafe ::- VkDevice -- ^ device- ->- VkDescriptorSet -- ^ descriptorSet- -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- -> Ptr Void -- ^ pData- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR registry at www.khronos.org>+type HS_vkUpdateDescriptorSetWithTemplateKHR =+ VkDevice -- ^ device+ ->+ VkDescriptorSet -- ^ descriptorSet+ -> VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ -> Ptr Void -- ^ pData+ -> IO ()++type PFN_vkUpdateDescriptorSetWithTemplateKHR =+ FunPtr HS_vkUpdateDescriptorSetWithTemplateKHR++foreign import ccall "dynamic"+ unwrapVkUpdateDescriptorSetWithTemplateKHR ::+ PFN_vkUpdateDescriptorSetWithTemplateKHR ->+ HS_vkUpdateDescriptorSetWithTemplateKHR++instance VulkanProc "vkUpdateDescriptorSetWithTemplateKHR" where+ type VkProcType "vkUpdateDescriptorSetWithTemplateKHR" =+ HS_vkUpdateDescriptorSetWithTemplateKHR+ vkProcSymbol = _VkUpdateDescriptorSetWithTemplateKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkUpdateDescriptorSetWithTemplateKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,11 +1,14 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_device_group (-- * Vulkan extension: @VK_KHR_device_group@@@ -25,20 +28,20 @@ -- -- ** Required extensions: 'VK_KHR_device_group_creation'.- module Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHR,- module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagBitsKHR,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHR,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.Memory,+ module Graphics.Vulkan.Types.Struct.Memory, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagBitsKHR,- vkGetDeviceGroupPeerMemoryFeaturesKHR,- vkGetDeviceGroupPeerMemoryFeaturesKHRSafe, vkCmdSetDeviceMaskKHR,- vkCmdSetDeviceMaskKHRSafe, vkCmdDispatchBaseKHR,- vkCmdDispatchBaseKHRSafe, module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag,+ VkGetDeviceGroupPeerMemoryFeaturesKHR,+ pattern VkGetDeviceGroupPeerMemoryFeaturesKHR,+ HS_vkGetDeviceGroupPeerMemoryFeaturesKHR,+ PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR, VkCmdSetDeviceMaskKHR,+ pattern VkCmdSetDeviceMaskKHR, HS_vkCmdSetDeviceMaskKHR,+ PFN_vkCmdSetDeviceMaskKHR, VkCmdDispatchBaseKHR,+ pattern VkCmdDispatchBaseKHR, HS_vkCmdDispatchBaseKHR,+ PFN_vkCmdDispatchBaseKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags, module Graphics.Vulkan.Types.Handles, VK_KHR_DEVICE_GROUP_SPEC_VERSION, pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION,@@ -58,51 +61,43 @@ pattern VK_PIPELINE_CREATE_DISPATCH_BASE_KHR, pattern VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR, -- ** Required extensions: 'VK_KHR_bind_memory2', 'VK_KHR_device_group_creation'.- module Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHR,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHR,+ module Graphics.Vulkan.Types.Struct.Bind, pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR, pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR, pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, -- ** Required extensions: 'VK_KHR_surface', 'VK_KHR_device_group_creation'.- module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR,- module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkGetDeviceGroupPresentCapabilitiesKHR,- vkGetDeviceGroupPresentCapabilitiesKHRSafe,- vkGetDeviceGroupSurfacePresentModesKHR,- vkGetDeviceGroupSurfacePresentModesKHRSafe,- vkGetPhysicalDevicePresentRectanglesKHR,- vkGetPhysicalDevicePresentRectanglesKHRSafe,+ pattern VkGetDeviceGroupPresentCapabilitiesKHR,+ HS_vkGetDeviceGroupPresentCapabilitiesKHR,+ PFN_vkGetDeviceGroupPresentCapabilitiesKHR,+ pattern VkGetDeviceGroupSurfacePresentModesKHR,+ HS_vkGetDeviceGroupSurfacePresentModesKHR,+ PFN_vkGetDeviceGroupSurfacePresentModesKHR,+ pattern VkGetPhysicalDevicePresentRectanglesKHR,+ HS_vkGetPhysicalDevicePresentRectanglesKHR,+ PFN_vkGetPhysicalDevicePresentRectanglesKHR, pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR, -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_device_group_creation'.- module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,- module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR,- module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,- module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.Present,+ module Graphics.Vulkan.Types.Enum.PresentModeKHR,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.Surface,+ module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,+ module Graphics.Vulkan.Types.Struct.SwapchainC, -- > #include "vk_platform.h"- vkAcquireNextImage2KHR, vkAcquireNextImage2KHRSafe,+ pattern VkAcquireNextImage2KHR, HS_vkAcquireNextImage2KHR,+ PFN_vkAcquireNextImage2KHR, pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR, pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR, pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,@@ -110,105 +105,90 @@ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR, pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,- pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,- pattern VK_PIPELINE_CREATE_DISPATCH_BASE,- pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,- pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,- pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO)-import Graphics.Vulkan.Ext.VK_KHR_swapchain- (pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,- pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,- pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,- vkAcquireNextImage2KHR,- vkAcquireNextImage2KHRSafe,- vkGetDeviceGroupPresentCapabilitiesKHR,- vkGetDeviceGroupPresentCapabilitiesKHRSafe,- vkGetDeviceGroupSurfacePresentModesKHR,- vkGetDeviceGroupSurfacePresentModesKHRSafe,- vkGetPhysicalDevicePresentRectanglesKHR,- vkGetPhysicalDevicePresentRectanglesKHRSafe)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_DEPENDENCY_DEVICE_GROUP_BIT,+ pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,+ pattern VK_PIPELINE_CREATE_DISPATCH_BASE,+ pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,+ pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,+ pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO)+import Graphics.Vulkan.Ext.VK_KHR_swapchain (HS_vkAcquireNextImage2KHR,+ HS_vkGetDeviceGroupPresentCapabilitiesKHR,+ HS_vkGetDeviceGroupSurfacePresentModesKHR,+ HS_vkGetPhysicalDevicePresentRectanglesKHR,+ PFN_vkAcquireNextImage2KHR,+ PFN_vkGetDeviceGroupPresentCapabilitiesKHR,+ PFN_vkGetDeviceGroupSurfacePresentModesKHR,+ PFN_vkGetPhysicalDevicePresentRectanglesKHR,+ pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,+ pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,+ pattern VkAcquireNextImage2KHR,+ pattern VkGetDeviceGroupPresentCapabilitiesKHR,+ pattern VkGetDeviceGroupSurfacePresentModesKHR,+ pattern VkGetPhysicalDevicePresentRectanglesKHR) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags- (VkMemoryAllocateBitmask (..))-import Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags-import Graphics.Vulkan.Types.Enum.VkPresentModeKHR-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Memory+import Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag+import Graphics.Vulkan.Types.Enum.PresentModeKHR+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface+import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR-import Graphics.Vulkan.Types.Struct.VkBindBufferMemoryDeviceGroupInfoKHR-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryDeviceGroupInfoKHR-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupBindSparseInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupCommandBufferBeginInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupRenderPassBeginInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupSubmitInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateFlagsInfoKHR-import Graphics.Vulkan.Types.Struct.VkPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Present+import Graphics.Vulkan.Types.Struct.SwapchainC --- | This is an alias for `vkGetDeviceGroupPeerMemoryFeatures`.------ > () vkGetDeviceGroupPeerMemoryFeaturesKHR--- > ( VkDevice device--- > , uint32_t heapIndex--- > , uint32_t localDeviceIndex--- > , uint32_t remoteDeviceIndex--- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html vkGetDeviceGroupPeerMemoryFeaturesKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetDeviceGroupPeerMemoryFeatures"- vkGetDeviceGroupPeerMemoryFeaturesKHR ::- VkDevice -- ^ device- ->- Word32 -- ^ heapIndex- -> Word32 -- ^ localDeviceIndex- -> Word32 -- ^ remoteDeviceIndex- -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures- -> IO ()+pattern VkGetDeviceGroupPeerMemoryFeaturesKHR :: CString +pattern VkGetDeviceGroupPeerMemoryFeaturesKHR <-+ (is_VkGetDeviceGroupPeerMemoryFeaturesKHR -> True)+ where VkGetDeviceGroupPeerMemoryFeaturesKHR+ = _VkGetDeviceGroupPeerMemoryFeaturesKHR++{-# INLINE _VkGetDeviceGroupPeerMemoryFeaturesKHR #-}++_VkGetDeviceGroupPeerMemoryFeaturesKHR :: CString+_VkGetDeviceGroupPeerMemoryFeaturesKHR+ = Ptr "vkGetDeviceGroupPeerMemoryFeaturesKHR\NUL"#++{-# INLINE is_VkGetDeviceGroupPeerMemoryFeaturesKHR #-}++is_VkGetDeviceGroupPeerMemoryFeaturesKHR :: CString -> Bool+is_VkGetDeviceGroupPeerMemoryFeaturesKHR+ = (EQ ==) . cmpCStrings _VkGetDeviceGroupPeerMemoryFeaturesKHR++type VkGetDeviceGroupPeerMemoryFeaturesKHR =+ "vkGetDeviceGroupPeerMemoryFeaturesKHR"+ -- | This is an alias for `vkGetDeviceGroupPeerMemoryFeatures`. ----- > () vkGetDeviceGroupPeerMemoryFeaturesKHR+-- > void vkGetDeviceGroupPeerMemoryFeaturesKHR -- > ( VkDevice device -- > , uint32_t heapIndex -- > , uint32_t localDeviceIndex@@ -216,87 +196,107 @@ -- > , VkPeerMemoryFeatureFlags* pPeerMemoryFeatures -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPeerMemoryFeaturesKHR.html vkGetDeviceGroupPeerMemoryFeaturesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceGroupPeerMemoryFeatures"- vkGetDeviceGroupPeerMemoryFeaturesKHRSafe ::- VkDevice -- ^ device- ->- Word32 -- ^ heapIndex- -> Word32 -- ^ localDeviceIndex- -> Word32 -- ^ remoteDeviceIndex- -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures- -> IO ()---- | This is an alias for `vkCmdSetDeviceMask`.------ queues: 'graphics', 'compute', 'transfer'.------ renderpass: @both@------ > () vkCmdSetDeviceMaskKHR--- > ( VkCommandBuffer commandBuffer--- > , uint32_t deviceMask--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMaskKHR.html vkCmdSetDeviceMaskKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetDeviceMask"- vkCmdSetDeviceMaskKHR :: VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ deviceMask+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR registry at www.khronos.org>+type HS_vkGetDeviceGroupPeerMemoryFeaturesKHR =+ VkDevice -- ^ device+ ->+ Word32 -- ^ heapIndex+ -> Word32 -- ^ localDeviceIndex+ -> Word32 -- ^ remoteDeviceIndex+ -> Ptr VkPeerMemoryFeatureFlags -- ^ pPeerMemoryFeatures -> IO () +type PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR =+ FunPtr HS_vkGetDeviceGroupPeerMemoryFeaturesKHR++foreign import ccall "dynamic"+ unwrapVkGetDeviceGroupPeerMemoryFeaturesKHR ::+ PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR ->+ HS_vkGetDeviceGroupPeerMemoryFeaturesKHR++instance VulkanProc "vkGetDeviceGroupPeerMemoryFeaturesKHR" where+ type VkProcType "vkGetDeviceGroupPeerMemoryFeaturesKHR" =+ HS_vkGetDeviceGroupPeerMemoryFeaturesKHR+ vkProcSymbol = _VkGetDeviceGroupPeerMemoryFeaturesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceGroupPeerMemoryFeaturesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdSetDeviceMaskKHR :: CString++pattern VkCmdSetDeviceMaskKHR <- (is_VkCmdSetDeviceMaskKHR -> True)+ where VkCmdSetDeviceMaskKHR = _VkCmdSetDeviceMaskKHR++{-# INLINE _VkCmdSetDeviceMaskKHR #-}++_VkCmdSetDeviceMaskKHR :: CString+_VkCmdSetDeviceMaskKHR = Ptr "vkCmdSetDeviceMaskKHR\NUL"#++{-# INLINE is_VkCmdSetDeviceMaskKHR #-}++is_VkCmdSetDeviceMaskKHR :: CString -> Bool+is_VkCmdSetDeviceMaskKHR+ = (EQ ==) . cmpCStrings _VkCmdSetDeviceMaskKHR++type VkCmdSetDeviceMaskKHR = "vkCmdSetDeviceMaskKHR"+ -- | This is an alias for `vkCmdSetDeviceMask`. ----- queues: 'graphics', 'compute', 'transfer'.+-- Queues: 'graphics', 'compute', 'transfer'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdSetDeviceMaskKHR+-- > void vkCmdSetDeviceMaskKHR -- > ( VkCommandBuffer commandBuffer -- > , uint32_t deviceMask -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetDeviceMaskKHR.html vkCmdSetDeviceMaskKHR registry at www.khronos.org>-foreign import ccall safe "vkCmdSetDeviceMask"- vkCmdSetDeviceMaskKHRSafe :: VkCommandBuffer -- ^ commandBuffer- -> Word32 -- ^ deviceMask- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR registry at www.khronos.org>+type HS_vkCmdSetDeviceMaskKHR = VkCommandBuffer -- ^ commandBuffer+ -> Word32 -- ^ deviceMask+ -> IO () --- | This is an alias for `vkCmdDispatchBase`.------ queues: 'compute'.------ renderpass: @outside@------ > () vkCmdDispatchBaseKHR--- > ( VkCommandBuffer commandBuffer--- > , uint32_t baseGroupX--- > , uint32_t baseGroupY--- > , uint32_t baseGroupZ--- > , uint32_t groupCountX--- > , uint32_t groupCountY--- > , uint32_t groupCountZ--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBaseKHR.html vkCmdDispatchBaseKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCmdDispatchBase"- vkCmdDispatchBaseKHR ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ baseGroupX- -> Word32 -- ^ baseGroupY- -> Word32 -- ^ baseGroupZ- -> Word32 -- ^ groupCountX- -> Word32 -- ^ groupCountY- -> Word32 -- ^ groupCountZ- -> IO ()+type PFN_vkCmdSetDeviceMaskKHR = FunPtr HS_vkCmdSetDeviceMaskKHR +foreign import ccall "dynamic" unwrapVkCmdSetDeviceMaskKHR ::+ PFN_vkCmdSetDeviceMaskKHR -> HS_vkCmdSetDeviceMaskKHR++instance VulkanProc "vkCmdSetDeviceMaskKHR" where+ type VkProcType "vkCmdSetDeviceMaskKHR" = HS_vkCmdSetDeviceMaskKHR+ vkProcSymbol = _VkCmdSetDeviceMaskKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetDeviceMaskKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdDispatchBaseKHR :: CString++pattern VkCmdDispatchBaseKHR <- (is_VkCmdDispatchBaseKHR -> True)+ where VkCmdDispatchBaseKHR = _VkCmdDispatchBaseKHR++{-# INLINE _VkCmdDispatchBaseKHR #-}++_VkCmdDispatchBaseKHR :: CString+_VkCmdDispatchBaseKHR = Ptr "vkCmdDispatchBaseKHR\NUL"#++{-# INLINE is_VkCmdDispatchBaseKHR #-}++is_VkCmdDispatchBaseKHR :: CString -> Bool+is_VkCmdDispatchBaseKHR+ = (EQ ==) . cmpCStrings _VkCmdDispatchBaseKHR++type VkCmdDispatchBaseKHR = "vkCmdDispatchBaseKHR"+ -- | This is an alias for `vkCmdDispatchBase`. ----- queues: 'compute'.+-- Queues: 'compute'. ----- renderpass: @outside@+-- Renderpass: @outside@ ----- > () vkCmdDispatchBaseKHR+-- > void vkCmdDispatchBaseKHR -- > ( VkCommandBuffer commandBuffer -- > , uint32_t baseGroupX -- > , uint32_t baseGroupY@@ -306,18 +306,31 @@ -- > , uint32_t groupCountZ -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchBaseKHR.html vkCmdDispatchBaseKHR registry at www.khronos.org>-foreign import ccall safe "vkCmdDispatchBase"- vkCmdDispatchBaseKHRSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ baseGroupX- -> Word32 -- ^ baseGroupY- -> Word32 -- ^ baseGroupZ- -> Word32 -- ^ groupCountX- -> Word32 -- ^ groupCountY- -> Word32 -- ^ groupCountZ- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR registry at www.khronos.org>+type HS_vkCmdDispatchBaseKHR =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ baseGroupX+ -> Word32 -- ^ baseGroupY+ -> Word32 -- ^ baseGroupZ+ -> Word32 -- ^ groupCountX+ -> Word32 -- ^ groupCountY+ -> Word32 -- ^ groupCountZ+ -> IO ()++type PFN_vkCmdDispatchBaseKHR = FunPtr HS_vkCmdDispatchBaseKHR++foreign import ccall "dynamic" unwrapVkCmdDispatchBaseKHR ::+ PFN_vkCmdDispatchBaseKHR -> HS_vkCmdDispatchBaseKHR++instance VulkanProc "vkCmdDispatchBaseKHR" where+ type VkProcType "vkCmdDispatchBaseKHR" = HS_vkCmdDispatchBaseKHR+ vkProcSymbol = _VkCmdDispatchBaseKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdDispatchBaseKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_DEVICE_GROUP_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_device_group_creation (-- * Vulkan extension: @VK_KHR_device_group_creation@@@ -19,16 +22,17 @@ -- type: @instance@ -- -- Extension number: @71@- module Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupPropertiesKHR,- vkEnumeratePhysicalDeviceGroupsKHR,- vkEnumeratePhysicalDeviceGroupsKHRSafe,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ VkEnumeratePhysicalDeviceGroupsKHR,+ pattern VkEnumeratePhysicalDeviceGroupsKHR,+ HS_vkEnumeratePhysicalDeviceGroupsKHR,+ PFN_vkEnumeratePhysicalDeviceGroupsKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties, VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION, pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION, VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME,@@ -38,41 +42,42 @@ pattern VK_MAX_DEVICE_GROUP_SIZE_KHR, pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR) where-import GHC.Ptr (Ptr (..))-import Graphics.Vulkan.Constants (pattern VK_MAX_DEVICE_GROUP_SIZE_KHR)-import Graphics.Vulkan.Core_1_1 (pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_MAX_DEVICE_GROUP_SIZE_KHR)+import Graphics.Vulkan.Core_1_1 (pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkDeviceGroupDeviceCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceGroupPropertiesKHR+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.PhysicalDevice --- | This is an alias for `vkEnumeratePhysicalDeviceGroups`.------ Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkEnumeratePhysicalDeviceGroupsKHR--- > ( VkInstance instance--- > , uint32_t* pPhysicalDeviceGroupCount--- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html vkEnumeratePhysicalDeviceGroupsKHR registry at www.khronos.org>-foreign import ccall unsafe "vkEnumeratePhysicalDeviceGroups"- vkEnumeratePhysicalDeviceGroupsKHR ::- VkInstance -- ^ instance- ->- Ptr Word32 -- ^ pPhysicalDeviceGroupCount- -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties- -> IO VkResult+pattern VkEnumeratePhysicalDeviceGroupsKHR :: CString +pattern VkEnumeratePhysicalDeviceGroupsKHR <-+ (is_VkEnumeratePhysicalDeviceGroupsKHR -> True)+ where VkEnumeratePhysicalDeviceGroupsKHR+ = _VkEnumeratePhysicalDeviceGroupsKHR++{-# INLINE _VkEnumeratePhysicalDeviceGroupsKHR #-}++_VkEnumeratePhysicalDeviceGroupsKHR :: CString+_VkEnumeratePhysicalDeviceGroupsKHR+ = Ptr "vkEnumeratePhysicalDeviceGroupsKHR\NUL"#++{-# INLINE is_VkEnumeratePhysicalDeviceGroupsKHR #-}++is_VkEnumeratePhysicalDeviceGroupsKHR :: CString -> Bool+is_VkEnumeratePhysicalDeviceGroupsKHR+ = (EQ ==) . cmpCStrings _VkEnumeratePhysicalDeviceGroupsKHR++type VkEnumeratePhysicalDeviceGroupsKHR =+ "vkEnumeratePhysicalDeviceGroupsKHR"+ -- | This is an alias for `vkEnumeratePhysicalDeviceGroups`. -- -- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.@@ -85,14 +90,31 @@ -- > , VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkEnumeratePhysicalDeviceGroupsKHR.html vkEnumeratePhysicalDeviceGroupsKHR registry at www.khronos.org>-foreign import ccall safe "vkEnumeratePhysicalDeviceGroups"- vkEnumeratePhysicalDeviceGroupsKHRSafe ::- VkInstance -- ^ instance- ->- Ptr Word32 -- ^ pPhysicalDeviceGroupCount- -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR registry at www.khronos.org>+type HS_vkEnumeratePhysicalDeviceGroupsKHR =+ VkInstance -- ^ instance+ ->+ Ptr Word32 -- ^ pPhysicalDeviceGroupCount+ -> Ptr VkPhysicalDeviceGroupProperties -- ^ pPhysicalDeviceGroupProperties+ -> IO VkResult++type PFN_vkEnumeratePhysicalDeviceGroupsKHR =+ FunPtr HS_vkEnumeratePhysicalDeviceGroupsKHR++foreign import ccall "dynamic"+ unwrapVkEnumeratePhysicalDeviceGroupsKHR ::+ PFN_vkEnumeratePhysicalDeviceGroupsKHR ->+ HS_vkEnumeratePhysicalDeviceGroupsKHR++instance VulkanProc "vkEnumeratePhysicalDeviceGroupsKHR" where+ type VkProcType "vkEnumeratePhysicalDeviceGroupsKHR" =+ HS_vkEnumeratePhysicalDeviceGroupsKHR+ vkProcSymbol = _VkEnumeratePhysicalDeviceGroupsKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkEnumeratePhysicalDeviceGroupsKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,395 +1,1491 @@-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE MagicHash #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE ViewPatterns #-}-module Graphics.Vulkan.Ext.VK_KHR_display- (-- * Vulkan extension: @VK_KHR_display@- -- |- --- -- supported: @vulkan@- --- -- contact: @James Jones @cubanismo,Norbert Nopper @FslNopper@- --- -- author: @KHR@- --- -- type: @instance@- --- -- Extension number: @3@- --- -- Required extensions: 'VK_KHR_surface'.- ---- -- ** Required extensions: 'VK_KHR_surface'.- module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkDisplayModeCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR,- module Graphics.Vulkan.Types.Struct.VkDisplayModePropertiesKHR,- module Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkDisplayPlaneCapabilitiesKHR,- module Graphics.Vulkan.Types.Struct.VkDisplayPlanePropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkDisplayPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkDisplaySurfaceCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- -- > #include "vk_platform.h"- vkGetPhysicalDeviceDisplayPropertiesKHR,- vkGetPhysicalDeviceDisplayPropertiesKHRSafe,- vkGetPhysicalDeviceDisplayPlanePropertiesKHR,- vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe,- vkGetDisplayPlaneSupportedDisplaysKHR,- vkGetDisplayPlaneSupportedDisplaysKHRSafe,- vkGetDisplayModePropertiesKHR, vkGetDisplayModePropertiesKHRSafe,- vkCreateDisplayModeKHR, vkCreateDisplayModeKHRSafe,- vkGetDisplayPlaneCapabilitiesKHR,- vkGetDisplayPlaneCapabilitiesKHRSafe,- vkCreateDisplayPlaneSurfaceKHR, vkCreateDisplayPlaneSurfaceKHRSafe,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,- module Graphics.Vulkan.Types.Funcpointers,- module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- VK_KHR_DISPLAY_SPEC_VERSION, pattern VK_KHR_DISPLAY_SPEC_VERSION,- VK_KHR_DISPLAY_EXTENSION_NAME,- pattern VK_KHR_DISPLAY_EXTENSION_NAME,- pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,- pattern VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,- pattern VK_OBJECT_TYPE_DISPLAY_KHR,- pattern VK_OBJECT_TYPE_DISPLAY_MODE_KHR)- where-import GHC.Ptr (Ptr (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectType (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope-import Graphics.Vulkan.Types.Funcpointers-import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkDisplayModeCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkDisplayModeParametersKHR-import Graphics.Vulkan.Types.Struct.VkDisplayModePropertiesKHR-import Graphics.Vulkan.Types.Struct.VkDisplayPlaneCapabilitiesKHR-import Graphics.Vulkan.Types.Struct.VkDisplayPlanePropertiesKHR-import Graphics.Vulkan.Types.Struct.VkDisplayPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkDisplaySurfaceCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkOffset2D---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pPropertyCount--- > , VkDisplayPropertiesKHR* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceDisplayPropertiesKHR"- vkGetPhysicalDeviceDisplayPropertiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkDisplayPropertiesKHR -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pPropertyCount--- > , VkDisplayPropertiesKHR* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPropertiesKHR.html vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceDisplayPropertiesKHR"- vkGetPhysicalDeviceDisplayPropertiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkDisplayPropertiesKHR -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pPropertyCount--- > , VkDisplayPlanePropertiesKHR* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"- vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pPropertyCount--- > , VkDisplayPlanePropertiesKHR* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceDisplayPlanePropertiesKHR.html vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"- vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDisplayPlaneSupportedDisplaysKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t planeIndex--- > , uint32_t* pDisplayCount--- > , VkDisplayKHR* pDisplays--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetDisplayPlaneSupportedDisplaysKHR"- vkGetDisplayPlaneSupportedDisplaysKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Word32 -- ^ planeIndex- -> Ptr Word32 -- ^ pDisplayCount- -> Ptr VkDisplayKHR -- ^ pDisplays- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDisplayPlaneSupportedDisplaysKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t planeIndex--- > , uint32_t* pDisplayCount--- > , VkDisplayKHR* pDisplays--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneSupportedDisplaysKHR.html vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDisplayPlaneSupportedDisplaysKHR"- vkGetDisplayPlaneSupportedDisplaysKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Word32 -- ^ planeIndex- -> Ptr Word32 -- ^ pDisplayCount- -> Ptr VkDisplayKHR -- ^ pDisplays- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDisplayModePropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayKHR display--- > , uint32_t* pPropertyCount--- > , VkDisplayModePropertiesKHR* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayModePropertiesKHR.html vkGetDisplayModePropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetDisplayModePropertiesKHR"- vkGetDisplayModePropertiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkDisplayKHR -- ^ display- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDisplayModePropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayKHR display--- > , uint32_t* pPropertyCount--- > , VkDisplayModePropertiesKHR* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayModePropertiesKHR.html vkGetDisplayModePropertiesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDisplayModePropertiesKHR"- vkGetDisplayModePropertiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkDisplayKHR -- ^ display- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkCreateDisplayModeKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayKHR display--- > , const VkDisplayModeCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDisplayModeKHR* pMode--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayModeKHR.html vkCreateDisplayModeKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDisplayModeKHR"- vkCreateDisplayModeKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkDisplayKHR -- ^ display- ->- Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDisplayModeKHR -- ^ pMode- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.------ > VkResult vkCreateDisplayModeKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayKHR display--- > , const VkDisplayModeCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkDisplayModeKHR* pMode--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayModeKHR.html vkCreateDisplayModeKHR registry at www.khronos.org>-foreign import ccall safe "vkCreateDisplayModeKHR"- vkCreateDisplayModeKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkDisplayKHR -- ^ display- ->- Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkDisplayModeKHR -- ^ pMode- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDisplayPlaneCapabilitiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayModeKHR mode--- > , uint32_t planeIndex--- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneCapabilitiesKHR.html vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetDisplayPlaneCapabilitiesKHR"- vkGetDisplayPlaneCapabilitiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkDisplayModeKHR -- ^ mode- ->- Word32 -- ^ planeIndex- -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDisplayPlaneCapabilitiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkDisplayModeKHR mode--- > , uint32_t planeIndex--- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDisplayPlaneCapabilitiesKHR.html vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDisplayPlaneCapabilitiesKHR"- vkGetDisplayPlaneCapabilitiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkDisplayModeKHR -- ^ mode- ->- Word32 -- ^ planeIndex- -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDisplayPlaneSurfaceKHR--- > ( VkInstance instance--- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayPlaneSurfaceKHR.html vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateDisplayPlaneSurfaceKHR"- vkCreateDisplayPlaneSurfaceKHR ::- VkInstance -- ^ instance- ->- Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateDisplayPlaneSurfaceKHR--- > ( VkInstance instance--- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateDisplayPlaneSurfaceKHR.html vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>-foreign import ccall safe "vkCreateDisplayPlaneSurfaceKHR"- vkCreateDisplayPlaneSurfaceKHRSafe ::- VkInstance -- ^ instance- ->- Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Ext.VK_KHR_display+ (-- * Vulkan extension: @VK_KHR_display@+ -- |+ --+ -- supported: @vulkan@+ --+ -- contact: @James Jones @cubanismo,Norbert Nopper @FslNopper@+ --+ -- author: @KHR@+ --+ -- type: @instance@+ --+ -- Extension number: @3@+ --+ -- Required extensions: 'VK_KHR_surface'.+ --++ -- ** Required extensions: 'VK_KHR_surface'.+ module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.BaseTypes,+ module Graphics.Vulkan.Types.Bitmasks,+ module Graphics.Vulkan.Types.Struct.Display,+ module Graphics.Vulkan.Types.Enum.Display,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.Surface,+ -- > #include "vk_platform.h"+ VkGetPhysicalDeviceDisplayPropertiesKHR,+ pattern VkGetPhysicalDeviceDisplayPropertiesKHR,+ HS_vkGetPhysicalDeviceDisplayPropertiesKHR,+ PFN_vkGetPhysicalDeviceDisplayPropertiesKHR,+ vkGetPhysicalDeviceDisplayPropertiesKHR,+ vkGetPhysicalDeviceDisplayPropertiesKHRSafe,+ VkGetPhysicalDeviceDisplayPlanePropertiesKHR,+ pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR,+ HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR,+ PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR,+ vkGetPhysicalDeviceDisplayPlanePropertiesKHR,+ vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe,+ VkGetDisplayPlaneSupportedDisplaysKHR,+ pattern VkGetDisplayPlaneSupportedDisplaysKHR,+ HS_vkGetDisplayPlaneSupportedDisplaysKHR,+ PFN_vkGetDisplayPlaneSupportedDisplaysKHR,+ vkGetDisplayPlaneSupportedDisplaysKHR,+ vkGetDisplayPlaneSupportedDisplaysKHRSafe,+ VkGetDisplayModePropertiesKHR,+ pattern VkGetDisplayModePropertiesKHR,+ HS_vkGetDisplayModePropertiesKHR,+ PFN_vkGetDisplayModePropertiesKHR, vkGetDisplayModePropertiesKHR,+ vkGetDisplayModePropertiesKHRSafe, VkCreateDisplayModeKHR,+ pattern VkCreateDisplayModeKHR, HS_vkCreateDisplayModeKHR,+ PFN_vkCreateDisplayModeKHR, vkCreateDisplayModeKHR,+ vkCreateDisplayModeKHRSafe, VkGetDisplayPlaneCapabilitiesKHR,+ pattern VkGetDisplayPlaneCapabilitiesKHR,+ HS_vkGetDisplayPlaneCapabilitiesKHR,+ PFN_vkGetDisplayPlaneCapabilitiesKHR,+ vkGetDisplayPlaneCapabilitiesKHR,+ vkGetDisplayPlaneCapabilitiesKHRSafe,+ VkCreateDisplayPlaneSurfaceKHR,+ pattern VkCreateDisplayPlaneSurfaceKHR,+ HS_vkCreateDisplayPlaneSurfaceKHR,+ PFN_vkCreateDisplayPlaneSurfaceKHR, vkCreateDisplayPlaneSurfaceKHR,+ vkCreateDisplayPlaneSurfaceKHRSafe,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope,+ module Graphics.Vulkan.Types.Funcpointers,+ module Graphics.Vulkan.Types.Handles,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ VK_KHR_DISPLAY_SPEC_VERSION, pattern VK_KHR_DISPLAY_SPEC_VERSION,+ VK_KHR_DISPLAY_EXTENSION_NAME,+ pattern VK_KHR_DISPLAY_EXTENSION_NAME,+ pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR,+ pattern VK_OBJECT_TYPE_DISPLAY_KHR,+ pattern VK_OBJECT_TYPE_DISPLAY_MODE_KHR)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Bitmasks+import Graphics.Vulkan.Types.Enum.Display+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Funcpointers+import Graphics.Vulkan.Types.Handles+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Display+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Offset+import System.IO.Unsafe (unsafeDupablePerformIO)++pattern VkGetPhysicalDeviceDisplayPropertiesKHR :: CString++pattern VkGetPhysicalDeviceDisplayPropertiesKHR <-+ (is_VkGetPhysicalDeviceDisplayPropertiesKHR -> True)+ where VkGetPhysicalDeviceDisplayPropertiesKHR+ = _VkGetPhysicalDeviceDisplayPropertiesKHR++{-# INLINE _VkGetPhysicalDeviceDisplayPropertiesKHR #-}++_VkGetPhysicalDeviceDisplayPropertiesKHR :: CString+_VkGetPhysicalDeviceDisplayPropertiesKHR+ = Ptr "vkGetPhysicalDeviceDisplayPropertiesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceDisplayPropertiesKHR #-}++is_VkGetPhysicalDeviceDisplayPropertiesKHR :: CString -> Bool+is_VkGetPhysicalDeviceDisplayPropertiesKHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceDisplayPropertiesKHR++type VkGetPhysicalDeviceDisplayPropertiesKHR =+ "vkGetPhysicalDeviceDisplayPropertiesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceDisplayPropertiesKHR"+ vkGetPhysicalDeviceDisplayPropertiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPropertiesKHR -- ^ pProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@ and @vkGetPhysicalDeviceDisplayPropertiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR+--+vkGetPhysicalDeviceDisplayPropertiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPropertiesKHR -- ^ pProperties+ -> IO VkResult+vkGetPhysicalDeviceDisplayPropertiesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR)++{-# NOINLINE vkGetPhysicalDeviceDisplayPropertiesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDeviceDisplayPropertiesKHR"+ vkGetPhysicalDeviceDisplayPropertiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPropertiesKHR -- ^ pProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceDisplayPropertiesKHRSafe@ and @vkGetPhysicalDeviceDisplayPropertiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceDisplayPropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPropertiesKHR+--+vkGetPhysicalDeviceDisplayPropertiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkDisplayPropertiesKHR -- ^ pProperties+ -> IO VkResult+vkGetPhysicalDeviceDisplayPropertiesKHRSafe+ = vkGetPhysicalDeviceDisplayPropertiesKHR++{-# INLINE vkGetPhysicalDeviceDisplayPropertiesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceDisplayPropertiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPropertiesKHR -- ^ pProperties+ -> IO VkResult++type PFN_vkGetPhysicalDeviceDisplayPropertiesKHR =+ FunPtr HS_vkGetPhysicalDeviceDisplayPropertiesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceDisplayPropertiesKHR ::+ PFN_vkGetPhysicalDeviceDisplayPropertiesKHR ->+ HS_vkGetPhysicalDeviceDisplayPropertiesKHR++instance VulkanProc "vkGetPhysicalDeviceDisplayPropertiesKHR" where+ type VkProcType "vkGetPhysicalDeviceDisplayPropertiesKHR" =+ HS_vkGetPhysicalDeviceDisplayPropertiesKHR+ vkProcSymbol = _VkGetPhysicalDeviceDisplayPropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceDisplayPropertiesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR :: CString++pattern VkGetPhysicalDeviceDisplayPlanePropertiesKHR <-+ (is_VkGetPhysicalDeviceDisplayPlanePropertiesKHR -> True)+ where VkGetPhysicalDeviceDisplayPlanePropertiesKHR+ = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR++{-# INLINE _VkGetPhysicalDeviceDisplayPlanePropertiesKHR #-}++_VkGetPhysicalDeviceDisplayPlanePropertiesKHR :: CString+_VkGetPhysicalDeviceDisplayPlanePropertiesKHR+ = Ptr "vkGetPhysicalDeviceDisplayPlanePropertiesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceDisplayPlanePropertiesKHR #-}++is_VkGetPhysicalDeviceDisplayPlanePropertiesKHR :: CString -> Bool+is_VkGetPhysicalDeviceDisplayPlanePropertiesKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceDisplayPlanePropertiesKHR++type VkGetPhysicalDeviceDisplayPlanePropertiesKHR =+ "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPlanePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"+ vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPlanePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@ and @vkGetPhysicalDeviceDisplayPlanePropertiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR+--+vkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+ -> IO VkResult+vkGetPhysicalDeviceDisplayPlanePropertiesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR)++{-# NOINLINE vkGetPhysicalDeviceDisplayPlanePropertiesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPlanePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe+ "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"+ vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPlanePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe@ and @vkGetPhysicalDeviceDisplayPlanePropertiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceDisplayPlanePropertiesKHR <- vkGetProc @VkGetPhysicalDeviceDisplayPlanePropertiesKHR+--+vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ ->+ Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+ -> IO VkResult+vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe+ = vkGetPhysicalDeviceDisplayPlanePropertiesKHR++{-# INLINE vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t* pPropertyCount+-- > , VkDisplayPlanePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayPlanePropertiesKHR -- ^ pProperties+ -> IO VkResult++type PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR =+ FunPtr HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHR ::+ PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR ->+ HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR++instance VulkanProc "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"+ where+ type VkProcType "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" =+ HS_vkGetPhysicalDeviceDisplayPlanePropertiesKHR+ vkProcSymbol = _VkGetPhysicalDeviceDisplayPlanePropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceDisplayPlanePropertiesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDisplayPlaneSupportedDisplaysKHR :: CString++pattern VkGetDisplayPlaneSupportedDisplaysKHR <-+ (is_VkGetDisplayPlaneSupportedDisplaysKHR -> True)+ where VkGetDisplayPlaneSupportedDisplaysKHR+ = _VkGetDisplayPlaneSupportedDisplaysKHR++{-# INLINE _VkGetDisplayPlaneSupportedDisplaysKHR #-}++_VkGetDisplayPlaneSupportedDisplaysKHR :: CString+_VkGetDisplayPlaneSupportedDisplaysKHR+ = Ptr "vkGetDisplayPlaneSupportedDisplaysKHR\NUL"#++{-# INLINE is_VkGetDisplayPlaneSupportedDisplaysKHR #-}++is_VkGetDisplayPlaneSupportedDisplaysKHR :: CString -> Bool+is_VkGetDisplayPlaneSupportedDisplaysKHR+ = (EQ ==) . cmpCStrings _VkGetDisplayPlaneSupportedDisplaysKHR++type VkGetDisplayPlaneSupportedDisplaysKHR =+ "vkGetDisplayPlaneSupportedDisplaysKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t planeIndex+-- > , uint32_t* pDisplayCount+-- > , VkDisplayKHR* pDisplays+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDisplayPlaneSupportedDisplaysKHR"+ vkGetDisplayPlaneSupportedDisplaysKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ planeIndex+ -> Ptr Word32 -- ^ pDisplayCount+ -> Ptr VkDisplayKHR -- ^ pDisplays+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t planeIndex+-- > , uint32_t* pDisplayCount+-- > , VkDisplayKHR* pDisplays+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDisplayPlaneSupportedDisplaysKHRSafe@ and @vkGetDisplayPlaneSupportedDisplaysKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetInstanceProc @VkGetDisplayPlaneSupportedDisplaysKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR+--+vkGetDisplayPlaneSupportedDisplaysKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ planeIndex+ -> Ptr Word32 -- ^ pDisplayCount+ -> Ptr VkDisplayKHR -- ^ pDisplays+ -> IO VkResult+vkGetDisplayPlaneSupportedDisplaysKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR)++{-# NOINLINE vkGetDisplayPlaneSupportedDisplaysKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t planeIndex+-- > , uint32_t* pDisplayCount+-- > , VkDisplayKHR* pDisplays+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDisplayPlaneSupportedDisplaysKHR"+ vkGetDisplayPlaneSupportedDisplaysKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ planeIndex+ -> Ptr Word32 -- ^ pDisplayCount+ -> Ptr VkDisplayKHR -- ^ pDisplays+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t planeIndex+-- > , uint32_t* pDisplayCount+-- > , VkDisplayKHR* pDisplays+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDisplayPlaneSupportedDisplaysKHRSafe@ and @vkGetDisplayPlaneSupportedDisplaysKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetInstanceProc @VkGetDisplayPlaneSupportedDisplaysKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayPlaneSupportedDisplaysKHR <- vkGetProc @VkGetDisplayPlaneSupportedDisplaysKHR+--+vkGetDisplayPlaneSupportedDisplaysKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ planeIndex+ -> Ptr Word32 -- ^ pDisplayCount+ -> Ptr VkDisplayKHR -- ^ pDisplays+ -> IO VkResult+vkGetDisplayPlaneSupportedDisplaysKHRSafe+ = vkGetDisplayPlaneSupportedDisplaysKHR++{-# INLINE vkGetDisplayPlaneSupportedDisplaysKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneSupportedDisplaysKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t planeIndex+-- > , uint32_t* pDisplayCount+-- > , VkDisplayKHR* pDisplays+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR registry at www.khronos.org>+type HS_vkGetDisplayPlaneSupportedDisplaysKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ planeIndex+ -> Ptr Word32 -- ^ pDisplayCount+ -> Ptr VkDisplayKHR -- ^ pDisplays+ -> IO VkResult++type PFN_vkGetDisplayPlaneSupportedDisplaysKHR =+ FunPtr HS_vkGetDisplayPlaneSupportedDisplaysKHR++foreign import ccall "dynamic"+ unwrapVkGetDisplayPlaneSupportedDisplaysKHR ::+ PFN_vkGetDisplayPlaneSupportedDisplaysKHR ->+ HS_vkGetDisplayPlaneSupportedDisplaysKHR++instance VulkanProc "vkGetDisplayPlaneSupportedDisplaysKHR" where+ type VkProcType "vkGetDisplayPlaneSupportedDisplaysKHR" =+ HS_vkGetDisplayPlaneSupportedDisplaysKHR+ vkProcSymbol = _VkGetDisplayPlaneSupportedDisplaysKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDisplayPlaneSupportedDisplaysKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDisplayModePropertiesKHR :: CString++pattern VkGetDisplayModePropertiesKHR <-+ (is_VkGetDisplayModePropertiesKHR -> True)+ where VkGetDisplayModePropertiesKHR+ = _VkGetDisplayModePropertiesKHR++{-# INLINE _VkGetDisplayModePropertiesKHR #-}++_VkGetDisplayModePropertiesKHR :: CString+_VkGetDisplayModePropertiesKHR+ = Ptr "vkGetDisplayModePropertiesKHR\NUL"#++{-# INLINE is_VkGetDisplayModePropertiesKHR #-}++is_VkGetDisplayModePropertiesKHR :: CString -> Bool+is_VkGetDisplayModePropertiesKHR+ = (EQ ==) . cmpCStrings _VkGetDisplayModePropertiesKHR++type VkGetDisplayModePropertiesKHR =+ "vkGetDisplayModePropertiesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayModePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , uint32_t* pPropertyCount+-- > , VkDisplayModePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDisplayModePropertiesKHR"+ vkGetDisplayModePropertiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayModePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , uint32_t* pPropertyCount+-- > , VkDisplayModePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDisplayModePropertiesKHRSafe@ and @vkGetDisplayModePropertiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayModePropertiesKHR <- vkGetInstanceProc @VkGetDisplayModePropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR+--+vkGetDisplayModePropertiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+ -> IO VkResult+vkGetDisplayModePropertiesKHR+ = unsafeDupablePerformIO (vkGetProc @VkGetDisplayModePropertiesKHR)++{-# NOINLINE vkGetDisplayModePropertiesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayModePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , uint32_t* pPropertyCount+-- > , VkDisplayModePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDisplayModePropertiesKHR"+ vkGetDisplayModePropertiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayModePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , uint32_t* pPropertyCount+-- > , VkDisplayModePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDisplayModePropertiesKHRSafe@ and @vkGetDisplayModePropertiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayModePropertiesKHR <- vkGetInstanceProc @VkGetDisplayModePropertiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayModePropertiesKHR <- vkGetProc @VkGetDisplayModePropertiesKHR+--+vkGetDisplayModePropertiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+ -> IO VkResult+vkGetDisplayModePropertiesKHRSafe = vkGetDisplayModePropertiesKHR++{-# INLINE vkGetDisplayModePropertiesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayModePropertiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , uint32_t* pPropertyCount+-- > , VkDisplayModePropertiesKHR* pProperties+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR registry at www.khronos.org>+type HS_vkGetDisplayModePropertiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkDisplayModePropertiesKHR -- ^ pProperties+ -> IO VkResult++type PFN_vkGetDisplayModePropertiesKHR =+ FunPtr HS_vkGetDisplayModePropertiesKHR++foreign import ccall "dynamic" unwrapVkGetDisplayModePropertiesKHR+ ::+ PFN_vkGetDisplayModePropertiesKHR ->+ HS_vkGetDisplayModePropertiesKHR++instance VulkanProc "vkGetDisplayModePropertiesKHR" where+ type VkProcType "vkGetDisplayModePropertiesKHR" =+ HS_vkGetDisplayModePropertiesKHR+ vkProcSymbol = _VkGetDisplayModePropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDisplayModePropertiesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateDisplayModeKHR :: CString++pattern VkCreateDisplayModeKHR <-+ (is_VkCreateDisplayModeKHR -> True)+ where VkCreateDisplayModeKHR = _VkCreateDisplayModeKHR++{-# INLINE _VkCreateDisplayModeKHR #-}++_VkCreateDisplayModeKHR :: CString+_VkCreateDisplayModeKHR = Ptr "vkCreateDisplayModeKHR\NUL"#++{-# INLINE is_VkCreateDisplayModeKHR #-}++is_VkCreateDisplayModeKHR :: CString -> Bool+is_VkCreateDisplayModeKHR+ = (EQ ==) . cmpCStrings _VkCreateDisplayModeKHR++type VkCreateDisplayModeKHR = "vkCreateDisplayModeKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkCreateDisplayModeKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , const VkDisplayModeCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDisplayModeKHR* pMode+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayModeKHR vkCreateDisplayModeKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateDisplayModeKHR"+ vkCreateDisplayModeKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDisplayModeKHR -- ^ pMode+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkCreateDisplayModeKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , const VkDisplayModeCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDisplayModeKHR* pMode+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayModeKHR vkCreateDisplayModeKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDisplayModeKHRSafe@ and @vkCreateDisplayModeKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDisplayModeKHR <- vkGetInstanceProc @VkCreateDisplayModeKHR vkInstance+--+-- or less efficient:+--+-- > myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR+--+vkCreateDisplayModeKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDisplayModeKHR -- ^ pMode+ -> IO VkResult+vkCreateDisplayModeKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateDisplayModeKHR)++{-# NOINLINE vkCreateDisplayModeKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkCreateDisplayModeKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , const VkDisplayModeCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDisplayModeKHR* pMode+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayModeKHR vkCreateDisplayModeKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateDisplayModeKHR"+ vkCreateDisplayModeKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDisplayModeKHR -- ^ pMode+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkCreateDisplayModeKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , const VkDisplayModeCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDisplayModeKHR* pMode+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayModeKHR vkCreateDisplayModeKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDisplayModeKHRSafe@ and @vkCreateDisplayModeKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDisplayModeKHR <- vkGetInstanceProc @VkCreateDisplayModeKHR vkInstance+--+-- or less efficient:+--+-- > myCreateDisplayModeKHR <- vkGetProc @VkCreateDisplayModeKHR+--+vkCreateDisplayModeKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDisplayModeKHR -- ^ pMode+ -> IO VkResult+vkCreateDisplayModeKHRSafe = vkCreateDisplayModeKHR++{-# INLINE vkCreateDisplayModeKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INITIALIZATION_FAILED'.+--+-- > VkResult vkCreateDisplayModeKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayKHR display+-- > , const VkDisplayModeCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkDisplayModeKHR* pMode+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayModeKHR vkCreateDisplayModeKHR registry at www.khronos.org>+type HS_vkCreateDisplayModeKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayKHR -- ^ display+ ->+ Ptr VkDisplayModeCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkDisplayModeKHR -- ^ pMode+ -> IO VkResult++type PFN_vkCreateDisplayModeKHR = FunPtr HS_vkCreateDisplayModeKHR++foreign import ccall "dynamic" unwrapVkCreateDisplayModeKHR ::+ PFN_vkCreateDisplayModeKHR -> HS_vkCreateDisplayModeKHR++instance VulkanProc "vkCreateDisplayModeKHR" where+ type VkProcType "vkCreateDisplayModeKHR" =+ HS_vkCreateDisplayModeKHR+ vkProcSymbol = _VkCreateDisplayModeKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDisplayModeKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDisplayPlaneCapabilitiesKHR :: CString++pattern VkGetDisplayPlaneCapabilitiesKHR <-+ (is_VkGetDisplayPlaneCapabilitiesKHR -> True)+ where VkGetDisplayPlaneCapabilitiesKHR+ = _VkGetDisplayPlaneCapabilitiesKHR++{-# INLINE _VkGetDisplayPlaneCapabilitiesKHR #-}++_VkGetDisplayPlaneCapabilitiesKHR :: CString+_VkGetDisplayPlaneCapabilitiesKHR+ = Ptr "vkGetDisplayPlaneCapabilitiesKHR\NUL"#++{-# INLINE is_VkGetDisplayPlaneCapabilitiesKHR #-}++is_VkGetDisplayPlaneCapabilitiesKHR :: CString -> Bool+is_VkGetDisplayPlaneCapabilitiesKHR+ = (EQ ==) . cmpCStrings _VkGetDisplayPlaneCapabilitiesKHR++type VkGetDisplayPlaneCapabilitiesKHR =+ "vkGetDisplayPlaneCapabilitiesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayModeKHR mode+-- > , uint32_t planeIndex+-- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetDisplayPlaneCapabilitiesKHR"+ vkGetDisplayPlaneCapabilitiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayModeKHR -- ^ mode+ ->+ Word32 -- ^ planeIndex+ -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayModeKHR mode+-- > , uint32_t planeIndex+-- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDisplayPlaneCapabilitiesKHRSafe@ and @vkGetDisplayPlaneCapabilitiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayPlaneCapabilitiesKHR <- vkGetInstanceProc @VkGetDisplayPlaneCapabilitiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR+--+vkGetDisplayPlaneCapabilitiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayModeKHR -- ^ mode+ ->+ Word32 -- ^ planeIndex+ -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+ -> IO VkResult+vkGetDisplayPlaneCapabilitiesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetDisplayPlaneCapabilitiesKHR)++{-# NOINLINE vkGetDisplayPlaneCapabilitiesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayModeKHR mode+-- > , uint32_t planeIndex+-- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDisplayPlaneCapabilitiesKHR"+ vkGetDisplayPlaneCapabilitiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayModeKHR -- ^ mode+ ->+ Word32 -- ^ planeIndex+ -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayModeKHR mode+-- > , uint32_t planeIndex+-- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDisplayPlaneCapabilitiesKHRSafe@ and @vkGetDisplayPlaneCapabilitiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDisplayPlaneCapabilitiesKHR <- vkGetInstanceProc @VkGetDisplayPlaneCapabilitiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetDisplayPlaneCapabilitiesKHR <- vkGetProc @VkGetDisplayPlaneCapabilitiesKHR+--+vkGetDisplayPlaneCapabilitiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayModeKHR -- ^ mode+ ->+ Word32 -- ^ planeIndex+ -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+ -> IO VkResult+vkGetDisplayPlaneCapabilitiesKHRSafe+ = vkGetDisplayPlaneCapabilitiesKHR++{-# INLINE vkGetDisplayPlaneCapabilitiesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDisplayPlaneCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkDisplayModeKHR mode+-- > , uint32_t planeIndex+-- > , VkDisplayPlaneCapabilitiesKHR* pCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+type HS_vkGetDisplayPlaneCapabilitiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkDisplayModeKHR -- ^ mode+ ->+ Word32 -- ^ planeIndex+ -> Ptr VkDisplayPlaneCapabilitiesKHR -- ^ pCapabilities+ -> IO VkResult++type PFN_vkGetDisplayPlaneCapabilitiesKHR =+ FunPtr HS_vkGetDisplayPlaneCapabilitiesKHR++foreign import ccall "dynamic"+ unwrapVkGetDisplayPlaneCapabilitiesKHR ::+ PFN_vkGetDisplayPlaneCapabilitiesKHR ->+ HS_vkGetDisplayPlaneCapabilitiesKHR++instance VulkanProc "vkGetDisplayPlaneCapabilitiesKHR" where+ type VkProcType "vkGetDisplayPlaneCapabilitiesKHR" =+ HS_vkGetDisplayPlaneCapabilitiesKHR+ vkProcSymbol = _VkGetDisplayPlaneCapabilitiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDisplayPlaneCapabilitiesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateDisplayPlaneSurfaceKHR :: CString++pattern VkCreateDisplayPlaneSurfaceKHR <-+ (is_VkCreateDisplayPlaneSurfaceKHR -> True)+ where VkCreateDisplayPlaneSurfaceKHR+ = _VkCreateDisplayPlaneSurfaceKHR++{-# INLINE _VkCreateDisplayPlaneSurfaceKHR #-}++_VkCreateDisplayPlaneSurfaceKHR :: CString+_VkCreateDisplayPlaneSurfaceKHR+ = Ptr "vkCreateDisplayPlaneSurfaceKHR\NUL"#++{-# INLINE is_VkCreateDisplayPlaneSurfaceKHR #-}++is_VkCreateDisplayPlaneSurfaceKHR :: CString -> Bool+is_VkCreateDisplayPlaneSurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateDisplayPlaneSurfaceKHR++type VkCreateDisplayPlaneSurfaceKHR =+ "vkCreateDisplayPlaneSurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDisplayPlaneSurfaceKHR+-- > ( VkInstance instance+-- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateDisplayPlaneSurfaceKHR"+ vkCreateDisplayPlaneSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDisplayPlaneSurfaceKHR+-- > ( VkInstance instance+-- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDisplayPlaneSurfaceKHRSafe@ and @vkCreateDisplayPlaneSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDisplayPlaneSurfaceKHR <- vkGetInstanceProc @VkCreateDisplayPlaneSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR+--+vkCreateDisplayPlaneSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateDisplayPlaneSurfaceKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkCreateDisplayPlaneSurfaceKHR)++{-# NOINLINE vkCreateDisplayPlaneSurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDisplayPlaneSurfaceKHR+-- > ( VkInstance instance+-- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateDisplayPlaneSurfaceKHR"+ vkCreateDisplayPlaneSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDisplayPlaneSurfaceKHR+-- > ( VkInstance instance+-- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateDisplayPlaneSurfaceKHRSafe@ and @vkCreateDisplayPlaneSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateDisplayPlaneSurfaceKHR <- vkGetInstanceProc @VkCreateDisplayPlaneSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateDisplayPlaneSurfaceKHR <- vkGetProc @VkCreateDisplayPlaneSurfaceKHR+--+vkCreateDisplayPlaneSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateDisplayPlaneSurfaceKHRSafe = vkCreateDisplayPlaneSurfaceKHR++{-# INLINE vkCreateDisplayPlaneSurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateDisplayPlaneSurfaceKHR+-- > ( VkInstance instance+-- > , const VkDisplaySurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR registry at www.khronos.org>+type HS_vkCreateDisplayPlaneSurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkDisplaySurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateDisplayPlaneSurfaceKHR =+ FunPtr HS_vkCreateDisplayPlaneSurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateDisplayPlaneSurfaceKHR+ ::+ PFN_vkCreateDisplayPlaneSurfaceKHR ->+ HS_vkCreateDisplayPlaneSurfaceKHR++instance VulkanProc "vkCreateDisplayPlaneSurfaceKHR" where+ type VkProcType "vkCreateDisplayPlaneSurfaceKHR" =+ HS_vkCreateDisplayPlaneSurfaceKHR+ vkProcSymbol = _VkCreateDisplayPlaneSurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateDisplayPlaneSurfaceKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_DISPLAY_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_display_swapchain (-- * Vulkan extension: @VK_KHR_display_swapchain@@@ -24,30 +30,32 @@ -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_display'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkDisplayPresentInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Display,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Struct.Present,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"+ VkCreateSharedSwapchainsKHR, pattern VkCreateSharedSwapchainsKHR,+ HS_vkCreateSharedSwapchainsKHR, PFN_vkCreateSharedSwapchainsKHR, vkCreateSharedSwapchainsKHR, vkCreateSharedSwapchainsKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.PresentModeKHR,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.Surface,+ module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.SwapchainC, VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION, pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION, VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME,@@ -55,44 +63,72 @@ pattern VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR, pattern VK_ERROR_INCOMPATIBLE_DISPLAY_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkPresentModeKHR-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.PresentModeKHR+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface+import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkDisplayPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Display+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.Present+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.SwapchainC+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateSharedSwapchainsKHR :: CString++pattern VkCreateSharedSwapchainsKHR <-+ (is_VkCreateSharedSwapchainsKHR -> True)+ where VkCreateSharedSwapchainsKHR = _VkCreateSharedSwapchainsKHR++{-# INLINE _VkCreateSharedSwapchainsKHR #-}++_VkCreateSharedSwapchainsKHR :: CString+_VkCreateSharedSwapchainsKHR+ = Ptr "vkCreateSharedSwapchainsKHR\NUL"#++{-# INLINE is_VkCreateSharedSwapchainsKHR #-}++is_VkCreateSharedSwapchainsKHR :: CString -> Bool+is_VkCreateSharedSwapchainsKHR+ = (EQ ==) . cmpCStrings _VkCreateSharedSwapchainsKHR++type VkCreateSharedSwapchainsKHR = "vkCreateSharedSwapchainsKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkCreateSharedSwapchainsKHR--- > ( VkDevice device--- > , uint32_t swapchainCount--- > , const VkSwapchainCreateInfoKHR* pCreateInfos--- > , const VkAllocationCallbacks* pAllocator--- > , VkSwapchainKHR* pSwapchains--- > )+-- > VkResult vkCreateSharedSwapchainsKHR+-- > ( VkDevice device+-- > , uint32_t swapchainCount+-- > , const VkSwapchainCreateInfoKHR* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchains+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSharedSwapchainsKHR.html vkCreateSharedSwapchainsKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateSharedSwapchainsKHR" vkCreateSharedSwapchainsKHR :: VkDevice -- ^ device@@ -105,19 +141,69 @@ -> Ptr VkSwapchainKHR -- ^ pSwapchains -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkCreateSharedSwapchainsKHR--- > ( VkDevice device--- > , uint32_t swapchainCount--- > , const VkSwapchainCreateInfoKHR* pCreateInfos--- > , const VkAllocationCallbacks* pAllocator--- > , VkSwapchainKHR* pSwapchains--- > )+-- > VkResult vkCreateSharedSwapchainsKHR+-- > ( VkDevice device+-- > , uint32_t swapchainCount+-- > , const VkSwapchainCreateInfoKHR* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchains+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSharedSwapchainsKHR.html vkCreateSharedSwapchainsKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSharedSwapchainsKHRSafe@ and @vkCreateSharedSwapchainsKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSharedSwapchainsKHR <- vkGetDeviceProc @VkCreateSharedSwapchainsKHR vkDevice+--+-- or less efficient:+--+-- > myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR+--+vkCreateSharedSwapchainsKHR ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ swapchainCount+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchains+ -> IO VkResult+vkCreateSharedSwapchainsKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateSharedSwapchainsKHR)++{-# NOINLINE vkCreateSharedSwapchainsKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkCreateSharedSwapchainsKHR+-- > ( VkDevice device+-- > , uint32_t swapchainCount+-- > , const VkSwapchainCreateInfoKHR* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchains+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateSharedSwapchainsKHR" vkCreateSharedSwapchainsKHRSafe :: VkDevice -- ^ device@@ -129,6 +215,89 @@ Ptr VkAllocationCallbacks -- ^ pAllocator -> Ptr VkSwapchainKHR -- ^ pSwapchains -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkCreateSharedSwapchainsKHR+-- > ( VkDevice device+-- > , uint32_t swapchainCount+-- > , const VkSwapchainCreateInfoKHR* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchains+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSharedSwapchainsKHRSafe@ and @vkCreateSharedSwapchainsKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSharedSwapchainsKHR <- vkGetDeviceProc @VkCreateSharedSwapchainsKHR vkDevice+--+-- or less efficient:+--+-- > myCreateSharedSwapchainsKHR <- vkGetProc @VkCreateSharedSwapchainsKHR+--+vkCreateSharedSwapchainsKHRSafe ::+ VkDevice -- ^ device+ ->+ Word32 -- ^ swapchainCount+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchains+ -> IO VkResult+vkCreateSharedSwapchainsKHRSafe = vkCreateSharedSwapchainsKHR++{-# INLINE vkCreateSharedSwapchainsKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_INCOMPATIBLE_DISPLAY_KHR', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkCreateSharedSwapchainsKHR+-- > ( VkDevice device+-- > , uint32_t swapchainCount+-- > , const VkSwapchainCreateInfoKHR* pCreateInfos+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchains+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR registry at www.khronos.org>+type HS_vkCreateSharedSwapchainsKHR =+ VkDevice -- ^ device+ ->+ Word32 -- ^ swapchainCount+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfos+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchains+ -> IO VkResult++type PFN_vkCreateSharedSwapchainsKHR =+ FunPtr HS_vkCreateSharedSwapchainsKHR++foreign import ccall "dynamic" unwrapVkCreateSharedSwapchainsKHR ::+ PFN_vkCreateSharedSwapchainsKHR -> HS_vkCreateSharedSwapchainsKHR++instance VulkanProc "vkCreateSharedSwapchainsKHR" where+ type VkProcType "vkCreateSharedSwapchainsKHR" =+ HS_vkCreateSharedSwapchainsKHR+ vkProcSymbol = _VkCreateSharedSwapchainsKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateSharedSwapchainsKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,8 +23,8 @@ -- -- ** Required extensions: 'VK_KHR_external_fence_capabilities'.- module Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkFenceImportFlagBitsKHR,+ module Graphics.Vulkan.Types.Struct.Export,+ module Graphics.Vulkan.Types.Enum.Fence, module Graphics.Vulkan.Types.Bitmasks, VK_KHR_EXTERNAL_FENCE_SPEC_VERSION, pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION,@@ -33,13 +33,12 @@ pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR, pattern VK_FENCE_IMPORT_TEMPORARY_BIT_KHR) where-import GHC.Ptr (Ptr (..))-import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkFenceImportFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkFenceImportFlags (VkFenceImportBitmask (..))-import Graphics.Vulkan.Types.Struct.VkExportFenceCreateInfoKHR+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Struct.Export pattern VK_KHR_EXTERNAL_FENCE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities (-- * Vulkan extension: @VK_KHR_external_fence_capabilities@@@ -24,22 +27,18 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.- module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagBitsKHR,+ module Graphics.Vulkan.Types.Enum.External, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagBitsKHR,- module Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR,- vkGetPhysicalDeviceExternalFencePropertiesKHR,- vkGetPhysicalDeviceExternalFencePropertiesKHRSafe,+ module Graphics.Vulkan.Types.Struct.External,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ VkGetPhysicalDeviceExternalFencePropertiesKHR,+ pattern VkGetPhysicalDeviceExternalFencePropertiesKHR,+ HS_vkGetPhysicalDeviceExternalFencePropertiesKHR,+ PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkExternalFenceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo, VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION, pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION, VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME,@@ -54,65 +53,79 @@ pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR, pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Constants- (pattern VK_LUID_SIZE_KHR)-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_LUID_SIZE_KHR)+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags-import Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExternalFenceProperties-import Graphics.Vulkan.Types.Struct.VkExternalFencePropertiesKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalFenceInfoKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.PhysicalDevice --- | This is an alias for `vkGetPhysicalDeviceExternalFenceProperties`.------ > () vkGetPhysicalDeviceExternalFencePropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo--- > , VkExternalFenceProperties* pExternalFenceProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalFenceProperties"- vkGetPhysicalDeviceExternalFencePropertiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo- ->- Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties- -> IO ()+pattern VkGetPhysicalDeviceExternalFencePropertiesKHR :: CString +pattern VkGetPhysicalDeviceExternalFencePropertiesKHR <-+ (is_VkGetPhysicalDeviceExternalFencePropertiesKHR -> True)+ where VkGetPhysicalDeviceExternalFencePropertiesKHR+ = _VkGetPhysicalDeviceExternalFencePropertiesKHR++{-# INLINE _VkGetPhysicalDeviceExternalFencePropertiesKHR #-}++_VkGetPhysicalDeviceExternalFencePropertiesKHR :: CString+_VkGetPhysicalDeviceExternalFencePropertiesKHR+ = Ptr "vkGetPhysicalDeviceExternalFencePropertiesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalFencePropertiesKHR #-}++is_VkGetPhysicalDeviceExternalFencePropertiesKHR :: CString -> Bool+is_VkGetPhysicalDeviceExternalFencePropertiesKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceExternalFencePropertiesKHR++type VkGetPhysicalDeviceExternalFencePropertiesKHR =+ "vkGetPhysicalDeviceExternalFencePropertiesKHR"+ -- | This is an alias for `vkGetPhysicalDeviceExternalFenceProperties`. ----- > () vkGetPhysicalDeviceExternalFencePropertiesKHR+-- > void vkGetPhysicalDeviceExternalFencePropertiesKHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo -- > , VkExternalFenceProperties* pExternalFenceProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalFencePropertiesKHR.html vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceExternalFenceProperties"- vkGetPhysicalDeviceExternalFencePropertiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo- ->- Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalFencePropertiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalFenceInfo -- ^ pExternalFenceInfo+ ->+ Ptr VkExternalFenceProperties -- ^ pExternalFenceProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR =+ FunPtr HS_vkGetPhysicalDeviceExternalFencePropertiesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalFencePropertiesKHR ::+ PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR ->+ HS_vkGetPhysicalDeviceExternalFencePropertiesKHR++instance VulkanProc "vkGetPhysicalDeviceExternalFencePropertiesKHR"+ where+ type VkProcType "vkGetPhysicalDeviceExternalFencePropertiesKHR" =+ HS_vkGetPhysicalDeviceExternalFencePropertiesKHR+ vkProcSymbol = _VkGetPhysicalDeviceExternalFencePropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceExternalFencePropertiesKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_fence_fd (-- * Vulkan extension: @VK_KHR_external_fence_fd@@@ -24,15 +27,17 @@ -- ** Required extensions: 'VK_KHR_external_fence'. module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,- module Graphics.Vulkan.Types.Struct.VkFenceGetFdInfoKHR,- module Graphics.Vulkan.Types.Enum.VkFenceImportFlags,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Struct.Fence,+ module Graphics.Vulkan.Types.Enum.Fence, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkImportFenceFdInfoKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Import,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkImportFenceFdKHR, vkImportFenceFdKHRSafe, vkGetFenceFdKHR,- vkGetFenceFdKHRSafe, module Graphics.Vulkan.Types.Enum.VkResult,+ VkImportFenceFdKHR, pattern VkImportFenceFdKHR,+ HS_vkImportFenceFdKHR, PFN_vkImportFenceFdKHR, VkGetFenceFdKHR,+ pattern VkGetFenceFdKHR, HS_vkGetFenceFdKHR, PFN_vkGetFenceFdKHR,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION, pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION,@@ -41,32 +46,35 @@ pattern VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR, pattern VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkFenceImportFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkFenceGetFdInfoKHR-import Graphics.Vulkan.Types.Struct.VkImportFenceFdInfoKHR+import Graphics.Vulkan.Types.Struct.Fence+import Graphics.Vulkan.Types.Struct.Import --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkImportFenceFdKHR--- > ( VkDevice device--- > , const VkImportFenceFdInfoKHR* pImportFenceFdInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceFdKHR.html vkImportFenceFdKHR registry at www.khronos.org>-foreign import ccall unsafe "vkImportFenceFdKHR" vkImportFenceFdKHR- :: VkDevice -- ^ device- -> Ptr VkImportFenceFdInfoKHR -- ^ pImportFenceFdInfo- -> IO VkResult+pattern VkImportFenceFdKHR :: CString +pattern VkImportFenceFdKHR <- (is_VkImportFenceFdKHR -> True)+ where VkImportFenceFdKHR = _VkImportFenceFdKHR++{-# INLINE _VkImportFenceFdKHR #-}++_VkImportFenceFdKHR :: CString+_VkImportFenceFdKHR = Ptr "vkImportFenceFdKHR\NUL"#++{-# INLINE is_VkImportFenceFdKHR #-}++is_VkImportFenceFdKHR :: CString -> Bool+is_VkImportFenceFdKHR = (EQ ==) . cmpCStrings _VkImportFenceFdKHR++type VkImportFenceFdKHR = "vkImportFenceFdKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -76,30 +84,43 @@ -- > , const VkImportFenceFdInfoKHR* pImportFenceFdInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceFdKHR.html vkImportFenceFdKHR registry at www.khronos.org>-foreign import ccall safe "vkImportFenceFdKHR"- vkImportFenceFdKHRSafe ::- VkDevice -- ^ device- -> Ptr VkImportFenceFdInfoKHR -- ^ pImportFenceFdInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkImportFenceFdKHR vkImportFenceFdKHR registry at www.khronos.org>+type HS_vkImportFenceFdKHR =+ VkDevice -- ^ device+ -> Ptr VkImportFenceFdInfoKHR -- ^ pImportFenceFdInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetFenceFdKHR--- > ( VkDevice device--- > , const VkFenceGetFdInfoKHR* pGetFdInfo--- > , int* pFd--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceFdKHR.html vkGetFenceFdKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetFenceFdKHR" vkGetFenceFdKHR ::- VkDevice -- ^ device- -> Ptr VkFenceGetFdInfoKHR -- ^ pGetFdInfo- -> Ptr CInt -- ^ pFd- -> IO VkResult+type PFN_vkImportFenceFdKHR = FunPtr HS_vkImportFenceFdKHR +foreign import ccall "dynamic" unwrapVkImportFenceFdKHR ::+ PFN_vkImportFenceFdKHR -> HS_vkImportFenceFdKHR++instance VulkanProc "vkImportFenceFdKHR" where+ type VkProcType "vkImportFenceFdKHR" = HS_vkImportFenceFdKHR+ vkProcSymbol = _VkImportFenceFdKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkImportFenceFdKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetFenceFdKHR :: CString++pattern VkGetFenceFdKHR <- (is_VkGetFenceFdKHR -> True)+ where VkGetFenceFdKHR = _VkGetFenceFdKHR++{-# INLINE _VkGetFenceFdKHR #-}++_VkGetFenceFdKHR :: CString+_VkGetFenceFdKHR = Ptr "vkGetFenceFdKHR\NUL"#++{-# INLINE is_VkGetFenceFdKHR #-}++is_VkGetFenceFdKHR :: CString -> Bool+is_VkGetFenceFdKHR = (EQ ==) . cmpCStrings _VkGetFenceFdKHR++type VkGetFenceFdKHR = "vkGetFenceFdKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -110,12 +131,26 @@ -- > , int* pFd -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceFdKHR.html vkGetFenceFdKHR registry at www.khronos.org>-foreign import ccall safe "vkGetFenceFdKHR" vkGetFenceFdKHRSafe ::- VkDevice -- ^ device- -> Ptr VkFenceGetFdInfoKHR -- ^ pGetFdInfo- -> Ptr CInt -- ^ pFd- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceFdKHR vkGetFenceFdKHR registry at www.khronos.org>+type HS_vkGetFenceFdKHR =+ VkDevice -- ^ device+ -> Ptr VkFenceGetFdInfoKHR -- ^ pGetFdInfo+ -> Ptr CInt -- ^ pFd+ -> IO VkResult++type PFN_vkGetFenceFdKHR = FunPtr HS_vkGetFenceFdKHR++foreign import ccall "dynamic" unwrapVkGetFenceFdKHR ::+ PFN_vkGetFenceFdKHR -> HS_vkGetFenceFdKHR++instance VulkanProc "vkGetFenceFdKHR" where+ type VkProcType "vkGetFenceFdKHR" = HS_vkGetFenceFdKHR+ vkProcSymbol = _VkGetFenceFdKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetFenceFdKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_fence_win32 (-- * Vulkan extension: @VK_KHR_external_fence_win32@@@ -25,20 +28,19 @@ -- -- ** Required extensions: 'VK_KHR_external_fence'.- module Graphics.Vulkan.Types.Struct.VkExportFenceWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags,- module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags,- module Graphics.Vulkan.Types.Struct.VkFenceCreateInfo,- module Graphics.Vulkan.Types.Struct.VkFenceGetWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkFenceImportFlags,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Enum.Fence,+ module Graphics.Vulkan.Types.Struct.Fence, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkImportFenceWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkImportFenceWin32HandleKHR, vkImportFenceWin32HandleKHRSafe,- vkGetFenceWin32HandleKHR, vkGetFenceWin32HandleKHRSafe,+ VkImportFenceWin32HandleKHR, pattern VkImportFenceWin32HandleKHR,+ HS_vkImportFenceWin32HandleKHR, PFN_vkImportFenceWin32HandleKHR,+ VkGetFenceWin32HandleKHR, pattern VkGetFenceWin32HandleKHR,+ HS_vkGetFenceWin32HandleKHR, PFN_vkGetFenceWin32HandleKHR, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include, VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION,@@ -49,37 +51,39 @@ pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR, pattern VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkFenceCreateFlags-import Graphics.Vulkan.Types.Enum.VkFenceImportFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Fence+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkExportFenceWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkFenceCreateInfo-import Graphics.Vulkan.Types.Struct.VkFenceGetWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkImportFenceWin32HandleInfoKHR+import Graphics.Vulkan.Types.Struct.Fence+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkImportFenceWin32HandleKHR--- > ( VkDevice device--- > , const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceWin32HandleKHR.html vkImportFenceWin32HandleKHR registry at www.khronos.org>-foreign import ccall unsafe "vkImportFenceWin32HandleKHR"- vkImportFenceWin32HandleKHR ::- VkDevice -- ^ device- -> Ptr VkImportFenceWin32HandleInfoKHR -- ^ pImportFenceWin32HandleInfo- -> IO VkResult+pattern VkImportFenceWin32HandleKHR :: CString +pattern VkImportFenceWin32HandleKHR <-+ (is_VkImportFenceWin32HandleKHR -> True)+ where VkImportFenceWin32HandleKHR = _VkImportFenceWin32HandleKHR++{-# INLINE _VkImportFenceWin32HandleKHR #-}++_VkImportFenceWin32HandleKHR :: CString+_VkImportFenceWin32HandleKHR+ = Ptr "vkImportFenceWin32HandleKHR\NUL"#++{-# INLINE is_VkImportFenceWin32HandleKHR #-}++is_VkImportFenceWin32HandleKHR :: CString -> Bool+is_VkImportFenceWin32HandleKHR+ = (EQ ==) . cmpCStrings _VkImportFenceWin32HandleKHR++type VkImportFenceWin32HandleKHR = "vkImportFenceWin32HandleKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -89,32 +93,47 @@ -- > , const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportFenceWin32HandleKHR.html vkImportFenceWin32HandleKHR registry at www.khronos.org>-foreign import ccall safe "vkImportFenceWin32HandleKHR"- vkImportFenceWin32HandleKHRSafe ::- VkDevice -- ^ device- -> Ptr VkImportFenceWin32HandleInfoKHR -- ^ pImportFenceWin32HandleInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR registry at www.khronos.org>+type HS_vkImportFenceWin32HandleKHR =+ VkDevice -- ^ device+ -> Ptr VkImportFenceWin32HandleInfoKHR -- ^ pImportFenceWin32HandleInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetFenceWin32HandleKHR--- > ( VkDevice device--- > , const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo--- > , HANDLE* pHandle--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceWin32HandleKHR.html vkGetFenceWin32HandleKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetFenceWin32HandleKHR"- vkGetFenceWin32HandleKHR ::- VkDevice -- ^ device- ->- Ptr VkFenceGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+type PFN_vkImportFenceWin32HandleKHR =+ FunPtr HS_vkImportFenceWin32HandleKHR +foreign import ccall "dynamic" unwrapVkImportFenceWin32HandleKHR ::+ PFN_vkImportFenceWin32HandleKHR -> HS_vkImportFenceWin32HandleKHR++instance VulkanProc "vkImportFenceWin32HandleKHR" where+ type VkProcType "vkImportFenceWin32HandleKHR" =+ HS_vkImportFenceWin32HandleKHR+ vkProcSymbol = _VkImportFenceWin32HandleKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkImportFenceWin32HandleKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetFenceWin32HandleKHR :: CString++pattern VkGetFenceWin32HandleKHR <-+ (is_VkGetFenceWin32HandleKHR -> True)+ where VkGetFenceWin32HandleKHR = _VkGetFenceWin32HandleKHR++{-# INLINE _VkGetFenceWin32HandleKHR #-}++_VkGetFenceWin32HandleKHR :: CString+_VkGetFenceWin32HandleKHR = Ptr "vkGetFenceWin32HandleKHR\NUL"#++{-# INLINE is_VkGetFenceWin32HandleKHR #-}++is_VkGetFenceWin32HandleKHR :: CString -> Bool+is_VkGetFenceWin32HandleKHR+ = (EQ ==) . cmpCStrings _VkGetFenceWin32HandleKHR++type VkGetFenceWin32HandleKHR = "vkGetFenceWin32HandleKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -125,14 +144,29 @@ -- > , HANDLE* pHandle -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetFenceWin32HandleKHR.html vkGetFenceWin32HandleKHR registry at www.khronos.org>-foreign import ccall safe "vkGetFenceWin32HandleKHR"- vkGetFenceWin32HandleKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkFenceGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR registry at www.khronos.org>+type HS_vkGetFenceWin32HandleKHR =+ VkDevice -- ^ device+ ->+ Ptr VkFenceGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+ -> Ptr HANDLE -- ^ pHandle+ -> IO VkResult++type PFN_vkGetFenceWin32HandleKHR =+ FunPtr HS_vkGetFenceWin32HandleKHR++foreign import ccall "dynamic" unwrapVkGetFenceWin32HandleKHR ::+ PFN_vkGetFenceWin32HandleKHR -> HS_vkGetFenceWin32HandleKHR++instance VulkanProc "vkGetFenceWin32HandleKHR" where+ type VkProcType "vkGetFenceWin32HandleKHR" =+ HS_vkGetFenceWin32HandleKHR+ vkProcSymbol = _VkGetFenceWin32HandleKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetFenceWin32HandleKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,9 +23,8 @@ -- -- ** Required extensions: 'VK_KHR_external_memory_capabilities'.- module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.Export,+ module Graphics.Vulkan.Types.Struct.External, VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION, pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION, VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME,@@ -36,19 +35,15 @@ pattern VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR, pattern VK_QUEUE_FAMILY_EXTERNAL_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Constants- (pattern VK_QUEUE_FAMILY_EXTERNAL_KHR)-import Graphics.Vulkan.Core_1_1- (pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,- pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_QUEUE_FAMILY_EXTERNAL_KHR)+import Graphics.Vulkan.Core_1_1 (pattern VK_ERROR_INVALID_EXTERNAL_HANDLE,+ pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoKHR-import Graphics.Vulkan.Types.Struct.VkExternalMemoryBufferCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoKHR+import Graphics.Vulkan.Types.Struct.Export+import Graphics.Vulkan.Types.Struct.External pattern VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities (-- * Vulkan extension: @VK_KHR_external_memory_capabilities@@@ -24,28 +27,19 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.- module Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagBitsKHR,+ module Graphics.Vulkan.Types.Struct.External,+ module Graphics.Vulkan.Types.Enum.External, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR,- vkGetPhysicalDeviceExternalBufferPropertiesKHR,- vkGetPhysicalDeviceExternalBufferPropertiesKHRSafe,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ VkGetPhysicalDeviceExternalBufferPropertiesKHR,+ pattern VkGetPhysicalDeviceExternalBufferPropertiesKHR,+ HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR,+ PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,- module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Buffer,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkExternalBufferProperties,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION, pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME,@@ -67,74 +61,85 @@ pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR, pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Constants- (pattern VK_LUID_SIZE_KHR)-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,- pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_LUID_SIZE_KHR)+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkBufferCreateFlags-import Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Buffer+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExternalBufferProperties-import Graphics.Vulkan.Types.Struct.VkExternalBufferPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkExternalMemoryProperties-import Graphics.Vulkan.Types.Struct.VkExternalMemoryPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalBufferInfoKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalImageFormatInfoKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.PhysicalDevice --- | This is an alias for `vkGetPhysicalDeviceExternalBufferProperties`.------ > () vkGetPhysicalDeviceExternalBufferPropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo--- > , VkExternalBufferProperties* pExternalBufferProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalBufferProperties"- vkGetPhysicalDeviceExternalBufferPropertiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo- ->- Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties- -> IO ()+pattern VkGetPhysicalDeviceExternalBufferPropertiesKHR :: CString +pattern VkGetPhysicalDeviceExternalBufferPropertiesKHR <-+ (is_VkGetPhysicalDeviceExternalBufferPropertiesKHR -> True)+ where VkGetPhysicalDeviceExternalBufferPropertiesKHR+ = _VkGetPhysicalDeviceExternalBufferPropertiesKHR++{-# INLINE _VkGetPhysicalDeviceExternalBufferPropertiesKHR #-}++_VkGetPhysicalDeviceExternalBufferPropertiesKHR :: CString+_VkGetPhysicalDeviceExternalBufferPropertiesKHR+ = Ptr "vkGetPhysicalDeviceExternalBufferPropertiesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalBufferPropertiesKHR #-}++is_VkGetPhysicalDeviceExternalBufferPropertiesKHR ::+ CString -> Bool+is_VkGetPhysicalDeviceExternalBufferPropertiesKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceExternalBufferPropertiesKHR++type VkGetPhysicalDeviceExternalBufferPropertiesKHR =+ "vkGetPhysicalDeviceExternalBufferPropertiesKHR"+ -- | This is an alias for `vkGetPhysicalDeviceExternalBufferProperties`. ----- > () vkGetPhysicalDeviceExternalBufferPropertiesKHR+-- > void vkGetPhysicalDeviceExternalBufferPropertiesKHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo -- > , VkExternalBufferProperties* pExternalBufferProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalBufferPropertiesKHR.html vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceExternalBufferProperties"- vkGetPhysicalDeviceExternalBufferPropertiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo- ->- Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalBufferInfo -- ^ pExternalBufferInfo+ ->+ Ptr VkExternalBufferProperties -- ^ pExternalBufferProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR =+ FunPtr HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHR ::+ PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR ->+ HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR++instance VulkanProc+ "vkGetPhysicalDeviceExternalBufferPropertiesKHR"+ where+ type VkProcType "vkGetPhysicalDeviceExternalBufferPropertiesKHR" =+ HS_vkGetPhysicalDeviceExternalBufferPropertiesKHR+ vkProcSymbol = _VkGetPhysicalDeviceExternalBufferPropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceExternalBufferPropertiesKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_memory_fd (-- * Vulkan extension: @VK_KHR_external_memory_fd@@@ -26,16 +29,16 @@ -- ** Required extensions: 'VK_KHR_external_memory'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,- module Graphics.Vulkan.Types.Struct.VkImportMemoryFdInfoKHR,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryFdPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkMemoryGetFdInfoKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,- -- > #include "vk_platform.h"- vkGetMemoryFdKHR, vkGetMemoryFdKHRSafe, vkGetMemoryFdPropertiesKHR,- vkGetMemoryFdPropertiesKHRSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Struct.Import,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"+ VkGetMemoryFdKHR,+ pattern VkGetMemoryFdKHR, HS_vkGetMemoryFdKHR,+ PFN_vkGetMemoryFdKHR, VkGetMemoryFdPropertiesKHR,+ pattern VkGetMemoryFdPropertiesKHR, HS_vkGetMemoryFdPropertiesKHR,+ PFN_vkGetMemoryFdPropertiesKHR,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION, pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION,@@ -45,35 +48,34 @@ pattern VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR, pattern VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkImportMemoryFdInfoKHR-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryFdPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkMemoryGetFdInfoKHR+import Graphics.Vulkan.Types.Struct.Import+import Graphics.Vulkan.Types.Struct.Memory --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetMemoryFdKHR--- > ( VkDevice device--- > , const VkMemoryGetFdInfoKHR* pGetFdInfo--- > , int* pFd--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdKHR.html vkGetMemoryFdKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetMemoryFdKHR" vkGetMemoryFdKHR ::- VkDevice -- ^ device- -> Ptr VkMemoryGetFdInfoKHR -- ^ pGetFdInfo- -> Ptr CInt -- ^ pFd- -> IO VkResult+pattern VkGetMemoryFdKHR :: CString +pattern VkGetMemoryFdKHR <- (is_VkGetMemoryFdKHR -> True)+ where VkGetMemoryFdKHR = _VkGetMemoryFdKHR++{-# INLINE _VkGetMemoryFdKHR #-}++_VkGetMemoryFdKHR :: CString+_VkGetMemoryFdKHR = Ptr "vkGetMemoryFdKHR\NUL"#++{-# INLINE is_VkGetMemoryFdKHR #-}++is_VkGetMemoryFdKHR :: CString -> Bool+is_VkGetMemoryFdKHR = (EQ ==) . cmpCStrings _VkGetMemoryFdKHR++type VkGetMemoryFdKHR = "vkGetMemoryFdKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -84,35 +86,46 @@ -- > , int* pFd -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdKHR.html vkGetMemoryFdKHR registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryFdKHR" vkGetMemoryFdKHRSafe- :: VkDevice -- ^ device- -> Ptr VkMemoryGetFdInfoKHR -- ^ pGetFdInfo- -> Ptr CInt -- ^ pFd- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryFdKHR vkGetMemoryFdKHR registry at www.khronos.org>+type HS_vkGetMemoryFdKHR =+ VkDevice -- ^ device+ -> Ptr VkMemoryGetFdInfoKHR -- ^ pGetFdInfo+ -> Ptr CInt -- ^ pFd+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkGetMemoryFdPropertiesKHR--- > ( VkDevice device--- > , VkExternalMemoryHandleTypeFlagBits handleType--- > , int fd--- > , VkMemoryFdPropertiesKHR* pMemoryFdProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdPropertiesKHR.html vkGetMemoryFdPropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetMemoryFdPropertiesKHR"- vkGetMemoryFdPropertiesKHR ::- VkDevice -- ^ device- ->- VkExternalMemoryHandleTypeFlagBits -- ^ handleType- ->- CInt -- ^ fd- -> Ptr VkMemoryFdPropertiesKHR -- ^ pMemoryFdProperties- -> IO VkResult+type PFN_vkGetMemoryFdKHR = FunPtr HS_vkGetMemoryFdKHR +foreign import ccall "dynamic" unwrapVkGetMemoryFdKHR ::+ PFN_vkGetMemoryFdKHR -> HS_vkGetMemoryFdKHR++instance VulkanProc "vkGetMemoryFdKHR" where+ type VkProcType "vkGetMemoryFdKHR" = HS_vkGetMemoryFdKHR+ vkProcSymbol = _VkGetMemoryFdKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryFdKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetMemoryFdPropertiesKHR :: CString++pattern VkGetMemoryFdPropertiesKHR <-+ (is_VkGetMemoryFdPropertiesKHR -> True)+ where VkGetMemoryFdPropertiesKHR = _VkGetMemoryFdPropertiesKHR++{-# INLINE _VkGetMemoryFdPropertiesKHR #-}++_VkGetMemoryFdPropertiesKHR :: CString+_VkGetMemoryFdPropertiesKHR = Ptr "vkGetMemoryFdPropertiesKHR\NUL"#++{-# INLINE is_VkGetMemoryFdPropertiesKHR #-}++is_VkGetMemoryFdPropertiesKHR :: CString -> Bool+is_VkGetMemoryFdPropertiesKHR+ = (EQ ==) . cmpCStrings _VkGetMemoryFdPropertiesKHR++type VkGetMemoryFdPropertiesKHR = "vkGetMemoryFdPropertiesKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -124,16 +137,31 @@ -- > , VkMemoryFdPropertiesKHR* pMemoryFdProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryFdPropertiesKHR.html vkGetMemoryFdPropertiesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryFdPropertiesKHR"- vkGetMemoryFdPropertiesKHRSafe ::- VkDevice -- ^ device- ->- VkExternalMemoryHandleTypeFlagBits -- ^ handleType- ->- CInt -- ^ fd- -> Ptr VkMemoryFdPropertiesKHR -- ^ pMemoryFdProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR registry at www.khronos.org>+type HS_vkGetMemoryFdPropertiesKHR =+ VkDevice -- ^ device+ ->+ VkExternalMemoryHandleTypeFlagBits -- ^ handleType+ ->+ CInt -- ^ fd+ -> Ptr VkMemoryFdPropertiesKHR -- ^ pMemoryFdProperties+ -> IO VkResult++type PFN_vkGetMemoryFdPropertiesKHR =+ FunPtr HS_vkGetMemoryFdPropertiesKHR++foreign import ccall "dynamic" unwrapVkGetMemoryFdPropertiesKHR ::+ PFN_vkGetMemoryFdPropertiesKHR -> HS_vkGetMemoryFdPropertiesKHR++instance VulkanProc "vkGetMemoryFdPropertiesKHR" where+ type VkProcType "vkGetMemoryFdPropertiesKHR" =+ HS_vkGetMemoryFdPropertiesKHR+ vkProcSymbol = _VkGetMemoryFdPropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryFdPropertiesKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_memory_win32 (-- * Vulkan extension: @VK_KHR_external_memory_win32@@@ -27,19 +30,19 @@ -- ** Required extensions: 'VK_KHR_external_memory'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags,- module Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Struct.VkMemoryGetWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Struct.VkMemoryWin32HandlePropertiesKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkGetMemoryWin32HandleKHR, vkGetMemoryWin32HandleKHRSafe,- vkGetMemoryWin32HandlePropertiesKHR,- vkGetMemoryWin32HandlePropertiesKHRSafe,+ VkGetMemoryWin32HandleKHR, pattern VkGetMemoryWin32HandleKHR,+ HS_vkGetMemoryWin32HandleKHR, PFN_vkGetMemoryWin32HandleKHR,+ VkGetMemoryWin32HandlePropertiesKHR,+ pattern VkGetMemoryWin32HandlePropertiesKHR,+ HS_vkGetMemoryWin32HandlePropertiesKHR,+ PFN_vkGetMemoryWin32HandlePropertiesKHR, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION, pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,@@ -50,39 +53,37 @@ pattern VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR, pattern VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Include (HANDLE)-import Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryGetWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkMemoryWin32HandlePropertiesKHR+import Graphics.Vulkan.Types.Include (HANDLE)+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetMemoryWin32HandleKHR--- > ( VkDevice device--- > , const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo--- > , HANDLE* pHandle--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleKHR.html vkGetMemoryWin32HandleKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetMemoryWin32HandleKHR"- vkGetMemoryWin32HandleKHR ::- VkDevice -- ^ device- ->- Ptr VkMemoryGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+pattern VkGetMemoryWin32HandleKHR :: CString +pattern VkGetMemoryWin32HandleKHR <-+ (is_VkGetMemoryWin32HandleKHR -> True)+ where VkGetMemoryWin32HandleKHR = _VkGetMemoryWin32HandleKHR++{-# INLINE _VkGetMemoryWin32HandleKHR #-}++_VkGetMemoryWin32HandleKHR :: CString+_VkGetMemoryWin32HandleKHR = Ptr "vkGetMemoryWin32HandleKHR\NUL"#++{-# INLINE is_VkGetMemoryWin32HandleKHR #-}++is_VkGetMemoryWin32HandleKHR :: CString -> Bool+is_VkGetMemoryWin32HandleKHR+ = (EQ ==) . cmpCStrings _VkGetMemoryWin32HandleKHR++type VkGetMemoryWin32HandleKHR = "vkGetMemoryWin32HandleKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -93,37 +94,52 @@ -- > , HANDLE* pHandle -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleKHR.html vkGetMemoryWin32HandleKHR registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryWin32HandleKHR"- vkGetMemoryWin32HandleKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkMemoryGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR registry at www.khronos.org>+type HS_vkGetMemoryWin32HandleKHR =+ VkDevice -- ^ device+ ->+ Ptr VkMemoryGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+ -> Ptr HANDLE -- ^ pHandle+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkGetMemoryWin32HandlePropertiesKHR--- > ( VkDevice device--- > , VkExternalMemoryHandleTypeFlagBits handleType--- > , HANDLE handle--- > , VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandlePropertiesKHR.html vkGetMemoryWin32HandlePropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetMemoryWin32HandlePropertiesKHR"- vkGetMemoryWin32HandlePropertiesKHR ::- VkDevice -- ^ device- ->- VkExternalMemoryHandleTypeFlagBits -- ^ handleType- ->- HANDLE -- ^ handle- -> Ptr VkMemoryWin32HandlePropertiesKHR -- ^ pMemoryWin32HandleProperties- -> IO VkResult+type PFN_vkGetMemoryWin32HandleKHR =+ FunPtr HS_vkGetMemoryWin32HandleKHR +foreign import ccall "dynamic" unwrapVkGetMemoryWin32HandleKHR ::+ PFN_vkGetMemoryWin32HandleKHR -> HS_vkGetMemoryWin32HandleKHR++instance VulkanProc "vkGetMemoryWin32HandleKHR" where+ type VkProcType "vkGetMemoryWin32HandleKHR" =+ HS_vkGetMemoryWin32HandleKHR+ vkProcSymbol = _VkGetMemoryWin32HandleKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryWin32HandleKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetMemoryWin32HandlePropertiesKHR :: CString++pattern VkGetMemoryWin32HandlePropertiesKHR <-+ (is_VkGetMemoryWin32HandlePropertiesKHR -> True)+ where VkGetMemoryWin32HandlePropertiesKHR+ = _VkGetMemoryWin32HandlePropertiesKHR++{-# INLINE _VkGetMemoryWin32HandlePropertiesKHR #-}++_VkGetMemoryWin32HandlePropertiesKHR :: CString+_VkGetMemoryWin32HandlePropertiesKHR+ = Ptr "vkGetMemoryWin32HandlePropertiesKHR\NUL"#++{-# INLINE is_VkGetMemoryWin32HandlePropertiesKHR #-}++is_VkGetMemoryWin32HandlePropertiesKHR :: CString -> Bool+is_VkGetMemoryWin32HandlePropertiesKHR+ = (EQ ==) . cmpCStrings _VkGetMemoryWin32HandlePropertiesKHR++type VkGetMemoryWin32HandlePropertiesKHR =+ "vkGetMemoryWin32HandlePropertiesKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -135,16 +151,33 @@ -- > , VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandlePropertiesKHR.html vkGetMemoryWin32HandlePropertiesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryWin32HandlePropertiesKHR"- vkGetMemoryWin32HandlePropertiesKHRSafe ::- VkDevice -- ^ device- ->- VkExternalMemoryHandleTypeFlagBits -- ^ handleType- ->- HANDLE -- ^ handle- -> Ptr VkMemoryWin32HandlePropertiesKHR -- ^ pMemoryWin32HandleProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR registry at www.khronos.org>+type HS_vkGetMemoryWin32HandlePropertiesKHR =+ VkDevice -- ^ device+ ->+ VkExternalMemoryHandleTypeFlagBits -- ^ handleType+ ->+ HANDLE -- ^ handle+ -> Ptr VkMemoryWin32HandlePropertiesKHR -- ^ pMemoryWin32HandleProperties+ -> IO VkResult++type PFN_vkGetMemoryWin32HandlePropertiesKHR =+ FunPtr HS_vkGetMemoryWin32HandlePropertiesKHR++foreign import ccall "dynamic"+ unwrapVkGetMemoryWin32HandlePropertiesKHR ::+ PFN_vkGetMemoryWin32HandlePropertiesKHR ->+ HS_vkGetMemoryWin32HandlePropertiesKHR++instance VulkanProc "vkGetMemoryWin32HandlePropertiesKHR" where+ type VkProcType "vkGetMemoryWin32HandlePropertiesKHR" =+ HS_vkGetMemoryWin32HandlePropertiesKHR+ vkProcSymbol = _VkGetMemoryWin32HandlePropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryWin32HandlePropertiesKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,8 +23,8 @@ -- -- ** Required extensions: 'VK_KHR_external_semaphore_capabilities'.- module Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagBitsKHR,+ module Graphics.Vulkan.Types.Struct.Export,+ module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag, module Graphics.Vulkan.Types.Bitmasks, VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION, pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION,@@ -33,13 +33,12 @@ pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR, pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR) where-import GHC.Ptr (Ptr (..))-import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags (VkSemaphoreImportBitmask (..))-import Graphics.Vulkan.Types.Struct.VkExportSemaphoreCreateInfoKHR+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag+import Graphics.Vulkan.Types.Struct.Export pattern VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities (-- * Vulkan extension: @VK_KHR_external_semaphore_capabilities@@@ -24,22 +27,18 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagBitsKHR,+ module Graphics.Vulkan.Types.Enum.External, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagBitsKHR,- module Graphics.Vulkan.Types.Struct.VkExternalSemaphorePropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR,- vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,- vkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe,+ module Graphics.Vulkan.Types.Struct.External,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ VkGetPhysicalDeviceExternalSemaphorePropertiesKHR,+ pattern VkGetPhysicalDeviceExternalSemaphorePropertiesKHR,+ HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR,+ PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo, VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION, pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION, VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME,@@ -55,65 +54,82 @@ pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR, pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Constants- (pattern VK_LUID_SIZE_KHR)-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Constants (pattern VK_LUID_SIZE_KHR)+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagBitsKHR-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExternalSemaphoreProperties-import Graphics.Vulkan.Types.Struct.VkExternalSemaphorePropertiesKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceExternalSemaphoreInfoKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceIDPropertiesKHR+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.PhysicalDevice --- | This is an alias for `vkGetPhysicalDeviceExternalSemaphoreProperties`.------ > () vkGetPhysicalDeviceExternalSemaphorePropertiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo--- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalSemaphoreProperties"- vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo- ->- Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties- -> IO ()+pattern VkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::+ CString +pattern VkGetPhysicalDeviceExternalSemaphorePropertiesKHR <-+ (is_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR -> True)+ where VkGetPhysicalDeviceExternalSemaphorePropertiesKHR+ = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR++{-# INLINE _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR #-}++_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR :: CString+_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR+ = Ptr "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR #-}++is_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::+ CString -> Bool+is_VkGetPhysicalDeviceExternalSemaphorePropertiesKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR++type VkGetPhysicalDeviceExternalSemaphorePropertiesKHR =+ "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"+ -- | This is an alias for `vkGetPhysicalDeviceExternalSemaphoreProperties`. ----- > () vkGetPhysicalDeviceExternalSemaphorePropertiesKHR+-- > void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo -- > , VkExternalSemaphoreProperties* pExternalSemaphoreProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalSemaphorePropertiesKHR.html vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceExternalSemaphoreProperties"- vkGetPhysicalDeviceExternalSemaphorePropertiesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo- ->- Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceExternalSemaphoreInfo -- ^ pExternalSemaphoreInfo+ ->+ Ptr VkExternalSemaphoreProperties -- ^ pExternalSemaphoreProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =+ FunPtr HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHR ::+ PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR ->+ HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR++instance VulkanProc+ "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"+ where+ type VkProcType "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"+ = HS_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR+ vkProcSymbol = _VkGetPhysicalDeviceExternalSemaphorePropertiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceExternalSemaphorePropertiesKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd (-- * Vulkan extension: @VK_KHR_external_semaphore_fd@@@ -24,16 +27,18 @@ -- ** Required extensions: 'VK_KHR_external_semaphore'. module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,+ module Graphics.Vulkan.Types.Enum.External, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkImportSemaphoreFdInfoKHR,- module Graphics.Vulkan.Types.Struct.VkSemaphoreGetFdInfoKHR,- module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Import,+ module Graphics.Vulkan.Types.Struct.Semaphore,+ module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkImportSemaphoreFdKHR, vkImportSemaphoreFdKHRSafe,- vkGetSemaphoreFdKHR, vkGetSemaphoreFdKHRSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ VkImportSemaphoreFdKHR, pattern VkImportSemaphoreFdKHR,+ HS_vkImportSemaphoreFdKHR, PFN_vkImportSemaphoreFdKHR,+ VkGetSemaphoreFdKHR, pattern VkGetSemaphoreFdKHR,+ HS_vkGetSemaphoreFdKHR, PFN_vkGetSemaphoreFdKHR,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION, pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION,@@ -42,33 +47,37 @@ pattern VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR, pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkImportSemaphoreFdInfoKHR-import Graphics.Vulkan.Types.Struct.VkSemaphoreGetFdInfoKHR+import Graphics.Vulkan.Types.Struct.Import+import Graphics.Vulkan.Types.Struct.Semaphore --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkImportSemaphoreFdKHR--- > ( VkDevice device--- > , const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreFdKHR.html vkImportSemaphoreFdKHR registry at www.khronos.org>-foreign import ccall unsafe "vkImportSemaphoreFdKHR"- vkImportSemaphoreFdKHR ::- VkDevice -- ^ device- -> Ptr VkImportSemaphoreFdInfoKHR -- ^ pImportSemaphoreFdInfo- -> IO VkResult+pattern VkImportSemaphoreFdKHR :: CString +pattern VkImportSemaphoreFdKHR <-+ (is_VkImportSemaphoreFdKHR -> True)+ where VkImportSemaphoreFdKHR = _VkImportSemaphoreFdKHR++{-# INLINE _VkImportSemaphoreFdKHR #-}++_VkImportSemaphoreFdKHR :: CString+_VkImportSemaphoreFdKHR = Ptr "vkImportSemaphoreFdKHR\NUL"#++{-# INLINE is_VkImportSemaphoreFdKHR #-}++is_VkImportSemaphoreFdKHR :: CString -> Bool+is_VkImportSemaphoreFdKHR+ = (EQ ==) . cmpCStrings _VkImportSemaphoreFdKHR++type VkImportSemaphoreFdKHR = "vkImportSemaphoreFdKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -78,31 +87,44 @@ -- > , const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreFdKHR.html vkImportSemaphoreFdKHR registry at www.khronos.org>-foreign import ccall safe "vkImportSemaphoreFdKHR"- vkImportSemaphoreFdKHRSafe ::- VkDevice -- ^ device- -> Ptr VkImportSemaphoreFdInfoKHR -- ^ pImportSemaphoreFdInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR registry at www.khronos.org>+type HS_vkImportSemaphoreFdKHR =+ VkDevice -- ^ device+ -> Ptr VkImportSemaphoreFdInfoKHR -- ^ pImportSemaphoreFdInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetSemaphoreFdKHR--- > ( VkDevice device--- > , const VkSemaphoreGetFdInfoKHR* pGetFdInfo--- > , int* pFd--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreFdKHR.html vkGetSemaphoreFdKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetSemaphoreFdKHR"- vkGetSemaphoreFdKHR ::- VkDevice -- ^ device- -> Ptr VkSemaphoreGetFdInfoKHR -- ^ pGetFdInfo- -> Ptr CInt -- ^ pFd- -> IO VkResult+type PFN_vkImportSemaphoreFdKHR = FunPtr HS_vkImportSemaphoreFdKHR +foreign import ccall "dynamic" unwrapVkImportSemaphoreFdKHR ::+ PFN_vkImportSemaphoreFdKHR -> HS_vkImportSemaphoreFdKHR++instance VulkanProc "vkImportSemaphoreFdKHR" where+ type VkProcType "vkImportSemaphoreFdKHR" =+ HS_vkImportSemaphoreFdKHR+ vkProcSymbol = _VkImportSemaphoreFdKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkImportSemaphoreFdKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetSemaphoreFdKHR :: CString++pattern VkGetSemaphoreFdKHR <- (is_VkGetSemaphoreFdKHR -> True)+ where VkGetSemaphoreFdKHR = _VkGetSemaphoreFdKHR++{-# INLINE _VkGetSemaphoreFdKHR #-}++_VkGetSemaphoreFdKHR :: CString+_VkGetSemaphoreFdKHR = Ptr "vkGetSemaphoreFdKHR\NUL"#++{-# INLINE is_VkGetSemaphoreFdKHR #-}++is_VkGetSemaphoreFdKHR :: CString -> Bool+is_VkGetSemaphoreFdKHR = (EQ ==) . cmpCStrings _VkGetSemaphoreFdKHR++type VkGetSemaphoreFdKHR = "vkGetSemaphoreFdKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -113,13 +135,26 @@ -- > , int* pFd -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreFdKHR.html vkGetSemaphoreFdKHR registry at www.khronos.org>-foreign import ccall safe "vkGetSemaphoreFdKHR"- vkGetSemaphoreFdKHRSafe ::- VkDevice -- ^ device- -> Ptr VkSemaphoreGetFdInfoKHR -- ^ pGetFdInfo- -> Ptr CInt -- ^ pFd- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR registry at www.khronos.org>+type HS_vkGetSemaphoreFdKHR =+ VkDevice -- ^ device+ -> Ptr VkSemaphoreGetFdInfoKHR -- ^ pGetFdInfo+ -> Ptr CInt -- ^ pFd+ -> IO VkResult++type PFN_vkGetSemaphoreFdKHR = FunPtr HS_vkGetSemaphoreFdKHR++foreign import ccall "dynamic" unwrapVkGetSemaphoreFdKHR ::+ PFN_vkGetSemaphoreFdKHR -> HS_vkGetSemaphoreFdKHR++instance VulkanProc "vkGetSemaphoreFdKHR" where+ type VkProcType "vkGetSemaphoreFdKHR" = HS_vkGetSemaphoreFdKHR+ vkProcSymbol = _VkGetSemaphoreFdKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetSemaphoreFdKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_win32 (-- * Vulkan extension: @VK_KHR_external_semaphore_win32@@@ -25,23 +28,24 @@ -- -- ** Required extensions: 'VK_KHR_external_semaphore'.- module Graphics.Vulkan.Types.Struct.VkD3D12FenceSubmitInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExportSemaphoreWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+ module Graphics.Vulkan.Types.Enum.External, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkImportSemaphoreWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,+ module Graphics.Vulkan.Types.Enum.Pipeline, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo,- module Graphics.Vulkan.Types.Struct.VkSemaphoreGetWin32HandleInfoKHR,- module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSubmitInfo,+ module Graphics.Vulkan.Types.Struct.Semaphore,+ module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.SubmitInfo, -- > #include "vk_platform.h"- vkImportSemaphoreWin32HandleKHR,- vkImportSemaphoreWin32HandleKHRSafe, vkGetSemaphoreWin32HandleKHR,- vkGetSemaphoreWin32HandleKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ VkImportSemaphoreWin32HandleKHR,+ pattern VkImportSemaphoreWin32HandleKHR,+ HS_vkImportSemaphoreWin32HandleKHR,+ PFN_vkImportSemaphoreWin32HandleKHR, VkGetSemaphoreWin32HandleKHR,+ pattern VkGetSemaphoreWin32HandleKHR,+ HS_vkGetSemaphoreWin32HandleKHR, PFN_vkGetSemaphoreWin32HandleKHR,+ module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include, VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION,@@ -53,41 +57,44 @@ pattern VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR, pattern VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkD3D12FenceSubmitInfoKHR-import Graphics.Vulkan.Types.Struct.VkExportSemaphoreWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkImportSemaphoreWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkSemaphoreCreateInfo-import Graphics.Vulkan.Types.Struct.VkSemaphoreGetWin32HandleInfoKHR-import Graphics.Vulkan.Types.Struct.VkSubmitInfo+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr+import Graphics.Vulkan.Types.Struct.Semaphore+import Graphics.Vulkan.Types.Struct.SubmitInfo --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.------ > VkResult vkImportSemaphoreWin32HandleKHR--- > ( VkDevice device--- > , const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreWin32HandleKHR.html vkImportSemaphoreWin32HandleKHR registry at www.khronos.org>-foreign import ccall unsafe "vkImportSemaphoreWin32HandleKHR"- vkImportSemaphoreWin32HandleKHR ::- VkDevice -- ^ device- -> Ptr VkImportSemaphoreWin32HandleInfoKHR -- ^ pImportSemaphoreWin32HandleInfo- -> IO VkResult+pattern VkImportSemaphoreWin32HandleKHR :: CString +pattern VkImportSemaphoreWin32HandleKHR <-+ (is_VkImportSemaphoreWin32HandleKHR -> True)+ where VkImportSemaphoreWin32HandleKHR+ = _VkImportSemaphoreWin32HandleKHR++{-# INLINE _VkImportSemaphoreWin32HandleKHR #-}++_VkImportSemaphoreWin32HandleKHR :: CString+_VkImportSemaphoreWin32HandleKHR+ = Ptr "vkImportSemaphoreWin32HandleKHR\NUL"#++{-# INLINE is_VkImportSemaphoreWin32HandleKHR #-}++is_VkImportSemaphoreWin32HandleKHR :: CString -> Bool+is_VkImportSemaphoreWin32HandleKHR+ = (EQ ==) . cmpCStrings _VkImportSemaphoreWin32HandleKHR++type VkImportSemaphoreWin32HandleKHR =+ "vkImportSemaphoreWin32HandleKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_INVALID_EXTERNAL_HANDLE'.@@ -97,32 +104,50 @@ -- > , const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkImportSemaphoreWin32HandleKHR.html vkImportSemaphoreWin32HandleKHR registry at www.khronos.org>-foreign import ccall safe "vkImportSemaphoreWin32HandleKHR"- vkImportSemaphoreWin32HandleKHRSafe ::- VkDevice -- ^ device- -> Ptr VkImportSemaphoreWin32HandleInfoKHR -- ^ pImportSemaphoreWin32HandleInfo- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR registry at www.khronos.org>+type HS_vkImportSemaphoreWin32HandleKHR =+ VkDevice -- ^ device+ -> Ptr VkImportSemaphoreWin32HandleInfoKHR -- ^ pImportSemaphoreWin32HandleInfo+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetSemaphoreWin32HandleKHR--- > ( VkDevice device--- > , const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo--- > , HANDLE* pHandle--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreWin32HandleKHR.html vkGetSemaphoreWin32HandleKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetSemaphoreWin32HandleKHR"- vkGetSemaphoreWin32HandleKHR ::- VkDevice -- ^ device- ->- Ptr VkSemaphoreGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+type PFN_vkImportSemaphoreWin32HandleKHR =+ FunPtr HS_vkImportSemaphoreWin32HandleKHR +foreign import ccall "dynamic"+ unwrapVkImportSemaphoreWin32HandleKHR ::+ PFN_vkImportSemaphoreWin32HandleKHR ->+ HS_vkImportSemaphoreWin32HandleKHR++instance VulkanProc "vkImportSemaphoreWin32HandleKHR" where+ type VkProcType "vkImportSemaphoreWin32HandleKHR" =+ HS_vkImportSemaphoreWin32HandleKHR+ vkProcSymbol = _VkImportSemaphoreWin32HandleKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkImportSemaphoreWin32HandleKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetSemaphoreWin32HandleKHR :: CString++pattern VkGetSemaphoreWin32HandleKHR <-+ (is_VkGetSemaphoreWin32HandleKHR -> True)+ where VkGetSemaphoreWin32HandleKHR = _VkGetSemaphoreWin32HandleKHR++{-# INLINE _VkGetSemaphoreWin32HandleKHR #-}++_VkGetSemaphoreWin32HandleKHR :: CString+_VkGetSemaphoreWin32HandleKHR+ = Ptr "vkGetSemaphoreWin32HandleKHR\NUL"#++{-# INLINE is_VkGetSemaphoreWin32HandleKHR #-}++is_VkGetSemaphoreWin32HandleKHR :: CString -> Bool+is_VkGetSemaphoreWin32HandleKHR+ = (EQ ==) . cmpCStrings _VkGetSemaphoreWin32HandleKHR++type VkGetSemaphoreWin32HandleKHR = "vkGetSemaphoreWin32HandleKHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -133,14 +158,30 @@ -- > , HANDLE* pHandle -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSemaphoreWin32HandleKHR.html vkGetSemaphoreWin32HandleKHR registry at www.khronos.org>-foreign import ccall safe "vkGetSemaphoreWin32HandleKHR"- vkGetSemaphoreWin32HandleKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkSemaphoreGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR registry at www.khronos.org>+type HS_vkGetSemaphoreWin32HandleKHR =+ VkDevice -- ^ device+ ->+ Ptr VkSemaphoreGetWin32HandleInfoKHR -- ^ pGetWin32HandleInfo+ -> Ptr HANDLE -- ^ pHandle+ -> IO VkResult++type PFN_vkGetSemaphoreWin32HandleKHR =+ FunPtr HS_vkGetSemaphoreWin32HandleKHR++foreign import ccall "dynamic" unwrapVkGetSemaphoreWin32HandleKHR+ ::+ PFN_vkGetSemaphoreWin32HandleKHR -> HS_vkGetSemaphoreWin32HandleKHR++instance VulkanProc "vkGetSemaphoreWin32HandleKHR" where+ type VkProcType "vkGetSemaphoreWin32HandleKHR" =+ HS_vkGetSemaphoreWin32HandleKHR+ vkProcSymbol = _VkGetSemaphoreWin32HandleKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetSemaphoreWin32HandleKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2 (-- * Vulkan extension: @VK_KHR_get_memory_requirements2@@@ -19,32 +22,29 @@ -- type: @device@ -- -- Extension number: @147@- module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2KHR,- module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR,- module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2KHR,- module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2KHR,- vkGetImageMemoryRequirements2KHR,- vkGetImageMemoryRequirements2KHRSafe,- vkGetBufferMemoryRequirements2KHR,- vkGetBufferMemoryRequirements2KHRSafe,- vkGetImageSparseMemoryRequirements2KHR,- vkGetImageSparseMemoryRequirements2KHRSafe,+ module Graphics.Vulkan.Types.Struct.Buffer,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Struct.Sparse,+ VkGetImageMemoryRequirements2KHR,+ pattern VkGetImageMemoryRequirements2KHR,+ HS_vkGetImageMemoryRequirements2KHR,+ PFN_vkGetImageMemoryRequirements2KHR,+ VkGetBufferMemoryRequirements2KHR,+ pattern VkGetBufferMemoryRequirements2KHR,+ HS_vkGetBufferMemoryRequirements2KHR,+ PFN_vkGetBufferMemoryRequirements2KHR,+ VkGetImageSparseMemoryRequirements2KHR,+ pattern VkGetImageSparseMemoryRequirements2KHR,+ HS_vkGetImageSparseMemoryRequirements2KHR,+ PFN_vkGetImageSparseMemoryRequirements2KHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,- module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.Sparse,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2,- module Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2,- module Graphics.Vulkan.Types.Struct.VkMemoryRequirements,- module Graphics.Vulkan.Types.Struct.VkMemoryRequirements2,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements,- module Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2,+ module Graphics.Vulkan.Types.Struct.Extent, VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION, pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION, VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME,@@ -55,146 +55,197 @@ pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR, pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,- pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,- pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,- pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,- pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,+ pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,+ pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,+ pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,+ pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Sparse+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2-import Graphics.Vulkan.Types.Struct.VkBufferMemoryRequirementsInfo2KHR-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2-import Graphics.Vulkan.Types.Struct.VkImageMemoryRequirementsInfo2KHR-import Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2-import Graphics.Vulkan.Types.Struct.VkImageSparseMemoryRequirementsInfo2KHR-import Graphics.Vulkan.Types.Struct.VkMemoryRequirements-import Graphics.Vulkan.Types.Struct.VkMemoryRequirements2-import Graphics.Vulkan.Types.Struct.VkMemoryRequirements2KHR-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2-import Graphics.Vulkan.Types.Struct.VkSparseImageMemoryRequirements2KHR+import Graphics.Vulkan.Types.Struct.Buffer+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.Sparse --- | This is an alias for `vkGetImageMemoryRequirements2`.------ > () vkGetImageMemoryRequirements2KHR--- > ( VkDevice device--- > , const VkImageMemoryRequirementsInfo2* pInfo--- > , VkMemoryRequirements2* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2KHR.html vkGetImageMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageMemoryRequirements2"- vkGetImageMemoryRequirements2KHR ::- VkDevice -- ^ device- ->- Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()+pattern VkGetImageMemoryRequirements2KHR :: CString +pattern VkGetImageMemoryRequirements2KHR <-+ (is_VkGetImageMemoryRequirements2KHR -> True)+ where VkGetImageMemoryRequirements2KHR+ = _VkGetImageMemoryRequirements2KHR++{-# INLINE _VkGetImageMemoryRequirements2KHR #-}++_VkGetImageMemoryRequirements2KHR :: CString+_VkGetImageMemoryRequirements2KHR+ = Ptr "vkGetImageMemoryRequirements2KHR\NUL"#++{-# INLINE is_VkGetImageMemoryRequirements2KHR #-}++is_VkGetImageMemoryRequirements2KHR :: CString -> Bool+is_VkGetImageMemoryRequirements2KHR+ = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements2KHR++type VkGetImageMemoryRequirements2KHR =+ "vkGetImageMemoryRequirements2KHR"+ -- | This is an alias for `vkGetImageMemoryRequirements2`. ----- > () vkGetImageMemoryRequirements2KHR+-- > void vkGetImageMemoryRequirements2KHR -- > ( VkDevice device -- > , const VkImageMemoryRequirementsInfo2* pInfo -- > , VkMemoryRequirements2* pMemoryRequirements -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageMemoryRequirements2KHR.html vkGetImageMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetImageMemoryRequirements2"- vkGetImageMemoryRequirements2KHRSafe ::- VkDevice -- ^ device- ->- Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR registry at www.khronos.org>+type HS_vkGetImageMemoryRequirements2KHR =+ VkDevice -- ^ device+ ->+ Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO () --- | This is an alias for `vkGetBufferMemoryRequirements2`.------ > () vkGetBufferMemoryRequirements2KHR--- > ( VkDevice device--- > , const VkBufferMemoryRequirementsInfo2* pInfo--- > , VkMemoryRequirements2* pMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2KHR.html vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetBufferMemoryRequirements2"- vkGetBufferMemoryRequirements2KHR ::- VkDevice -- ^ device- ->- Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()+type PFN_vkGetImageMemoryRequirements2KHR =+ FunPtr HS_vkGetImageMemoryRequirements2KHR +foreign import ccall "dynamic"+ unwrapVkGetImageMemoryRequirements2KHR ::+ PFN_vkGetImageMemoryRequirements2KHR ->+ HS_vkGetImageMemoryRequirements2KHR++instance VulkanProc "vkGetImageMemoryRequirements2KHR" where+ type VkProcType "vkGetImageMemoryRequirements2KHR" =+ HS_vkGetImageMemoryRequirements2KHR+ vkProcSymbol = _VkGetImageMemoryRequirements2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageMemoryRequirements2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetBufferMemoryRequirements2KHR :: CString++pattern VkGetBufferMemoryRequirements2KHR <-+ (is_VkGetBufferMemoryRequirements2KHR -> True)+ where VkGetBufferMemoryRequirements2KHR+ = _VkGetBufferMemoryRequirements2KHR++{-# INLINE _VkGetBufferMemoryRequirements2KHR #-}++_VkGetBufferMemoryRequirements2KHR :: CString+_VkGetBufferMemoryRequirements2KHR+ = Ptr "vkGetBufferMemoryRequirements2KHR\NUL"#++{-# INLINE is_VkGetBufferMemoryRequirements2KHR #-}++is_VkGetBufferMemoryRequirements2KHR :: CString -> Bool+is_VkGetBufferMemoryRequirements2KHR+ = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements2KHR++type VkGetBufferMemoryRequirements2KHR =+ "vkGetBufferMemoryRequirements2KHR"+ -- | This is an alias for `vkGetBufferMemoryRequirements2`. ----- > () vkGetBufferMemoryRequirements2KHR+-- > void vkGetBufferMemoryRequirements2KHR -- > ( VkDevice device -- > , const VkBufferMemoryRequirementsInfo2* pInfo -- > , VkMemoryRequirements2* pMemoryRequirements -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetBufferMemoryRequirements2KHR.html vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetBufferMemoryRequirements2"- vkGetBufferMemoryRequirements2KHRSafe ::- VkDevice -- ^ device- ->- Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>+type HS_vkGetBufferMemoryRequirements2KHR =+ VkDevice -- ^ device+ ->+ Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements+ -> IO () --- | This is an alias for `vkGetImageSparseMemoryRequirements2`.------ > () vkGetImageSparseMemoryRequirements2KHR--- > ( VkDevice device--- > , const VkImageSparseMemoryRequirementsInfo2* pInfo--- > , uint32_t* pSparseMemoryRequirementCount--- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2KHR.html vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetImageSparseMemoryRequirements2"- vkGetImageSparseMemoryRequirements2KHR ::- VkDevice -- ^ device- ->- Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr Word32 -- ^ pSparseMemoryRequirementCount- -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements- -> IO ()+type PFN_vkGetBufferMemoryRequirements2KHR =+ FunPtr HS_vkGetBufferMemoryRequirements2KHR +foreign import ccall "dynamic"+ unwrapVkGetBufferMemoryRequirements2KHR ::+ PFN_vkGetBufferMemoryRequirements2KHR ->+ HS_vkGetBufferMemoryRequirements2KHR++instance VulkanProc "vkGetBufferMemoryRequirements2KHR" where+ type VkProcType "vkGetBufferMemoryRequirements2KHR" =+ HS_vkGetBufferMemoryRequirements2KHR+ vkProcSymbol = _VkGetBufferMemoryRequirements2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetBufferMemoryRequirements2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetImageSparseMemoryRequirements2KHR :: CString++pattern VkGetImageSparseMemoryRequirements2KHR <-+ (is_VkGetImageSparseMemoryRequirements2KHR -> True)+ where VkGetImageSparseMemoryRequirements2KHR+ = _VkGetImageSparseMemoryRequirements2KHR++{-# INLINE _VkGetImageSparseMemoryRequirements2KHR #-}++_VkGetImageSparseMemoryRequirements2KHR :: CString+_VkGetImageSparseMemoryRequirements2KHR+ = Ptr "vkGetImageSparseMemoryRequirements2KHR\NUL"#++{-# INLINE is_VkGetImageSparseMemoryRequirements2KHR #-}++is_VkGetImageSparseMemoryRequirements2KHR :: CString -> Bool+is_VkGetImageSparseMemoryRequirements2KHR+ = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements2KHR++type VkGetImageSparseMemoryRequirements2KHR =+ "vkGetImageSparseMemoryRequirements2KHR"+ -- | This is an alias for `vkGetImageSparseMemoryRequirements2`. ----- > () vkGetImageSparseMemoryRequirements2KHR+-- > void vkGetImageSparseMemoryRequirements2KHR -- > ( VkDevice device -- > , const VkImageSparseMemoryRequirementsInfo2* pInfo -- > , uint32_t* pSparseMemoryRequirementCount -- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetImageSparseMemoryRequirements2KHR.html vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetImageSparseMemoryRequirements2"- vkGetImageSparseMemoryRequirements2KHRSafe ::- VkDevice -- ^ device- ->- Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo- ->- Ptr Word32 -- ^ pSparseMemoryRequirementCount- -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>+type HS_vkGetImageSparseMemoryRequirements2KHR =+ VkDevice -- ^ device+ ->+ Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo+ ->+ Ptr Word32 -- ^ pSparseMemoryRequirementCount+ -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements+ -> IO ()++type PFN_vkGetImageSparseMemoryRequirements2KHR =+ FunPtr HS_vkGetImageSparseMemoryRequirements2KHR++foreign import ccall "dynamic"+ unwrapVkGetImageSparseMemoryRequirements2KHR ::+ PFN_vkGetImageSparseMemoryRequirements2KHR ->+ HS_vkGetImageSparseMemoryRequirements2KHR++instance VulkanProc "vkGetImageSparseMemoryRequirements2KHR" where+ type VkProcType "vkGetImageSparseMemoryRequirements2KHR" =+ HS_vkGetImageSparseMemoryRequirements2KHR+ vkProcSymbol = _VkGetImageSparseMemoryRequirements2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetImageSparseMemoryRequirements2KHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2 (-- * Vulkan extension: @VK_KHR_get_physical_device_properties2@@@ -19,72 +22,57 @@ -- type: @instance@ -- -- Extension number: @60@- module Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR,- module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR,- vkGetPhysicalDeviceFeatures2KHR,- vkGetPhysicalDeviceFeatures2KHRSafe,- vkGetPhysicalDeviceProperties2KHR,- vkGetPhysicalDeviceProperties2KHRSafe,- vkGetPhysicalDeviceFormatProperties2KHR,- vkGetPhysicalDeviceFormatProperties2KHRSafe,- vkGetPhysicalDeviceImageFormatProperties2KHR,- vkGetPhysicalDeviceImageFormatProperties2KHRSafe,- vkGetPhysicalDeviceQueueFamilyProperties2KHR,- vkGetPhysicalDeviceQueueFamilyProperties2KHRSafe,- vkGetPhysicalDeviceMemoryProperties2KHR,- vkGetPhysicalDeviceMemoryProperties2KHRSafe,- vkGetPhysicalDeviceSparseImageFormatProperties2KHR,- vkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe,+ module Graphics.Vulkan.Types.Struct.FormatProperties,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.QueueFamilyProperties,+ module Graphics.Vulkan.Types.Struct.Sparse,+ VkGetPhysicalDeviceFeatures2KHR,+ pattern VkGetPhysicalDeviceFeatures2KHR,+ HS_vkGetPhysicalDeviceFeatures2KHR,+ PFN_vkGetPhysicalDeviceFeatures2KHR,+ VkGetPhysicalDeviceProperties2KHR,+ pattern VkGetPhysicalDeviceProperties2KHR,+ HS_vkGetPhysicalDeviceProperties2KHR,+ PFN_vkGetPhysicalDeviceProperties2KHR,+ VkGetPhysicalDeviceFormatProperties2KHR,+ pattern VkGetPhysicalDeviceFormatProperties2KHR,+ HS_vkGetPhysicalDeviceFormatProperties2KHR,+ PFN_vkGetPhysicalDeviceFormatProperties2KHR,+ VkGetPhysicalDeviceImageFormatProperties2KHR,+ pattern VkGetPhysicalDeviceImageFormatProperties2KHR,+ HS_vkGetPhysicalDeviceImageFormatProperties2KHR,+ PFN_vkGetPhysicalDeviceImageFormatProperties2KHR,+ VkGetPhysicalDeviceQueueFamilyProperties2KHR,+ pattern VkGetPhysicalDeviceQueueFamilyProperties2KHR,+ HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR,+ PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR,+ VkGetPhysicalDeviceMemoryProperties2KHR,+ pattern VkGetPhysicalDeviceMemoryProperties2KHR,+ HS_vkGetPhysicalDeviceMemoryProperties2KHR,+ PFN_vkGetPhysicalDeviceMemoryProperties2KHR,+ VkGetPhysicalDeviceSparseImageFormatProperties2KHR,+ pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR,+ HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR,+ PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags,- module Graphics.Vulkan.Types.Enum.VkImageAspectFlags,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags,- module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkQueueFlags,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.Memory,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.Queue,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.Sparse,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Struct.VkFormatProperties,- module Graphics.Vulkan.Types.Struct.VkFormatProperties2,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2,- module Graphics.Vulkan.Types.Struct.VkMemoryHeap,- module Graphics.Vulkan.Types.Struct.VkMemoryType,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties,- module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties,- module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION, pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME,@@ -99,182 +87,225 @@ pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,- pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,- pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,+ pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,+ pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags-import Graphics.Vulkan.Types.Enum.VkImageAspectFlags-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags-import Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkQueueFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Memory+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Queue+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.Sparse+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo-import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkFormatProperties-import Graphics.Vulkan.Types.Struct.VkFormatProperties2-import Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR-import Graphics.Vulkan.Types.Struct.VkMemoryHeap-import Graphics.Vulkan.Types.Struct.VkMemoryType-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties-import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2-import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2-import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.FormatProperties+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+import Graphics.Vulkan.Types.Struct.QueueFamilyProperties+import Graphics.Vulkan.Types.Struct.Sparse --- | This is an alias for `vkGetPhysicalDeviceFeatures2`.------ > () vkGetPhysicalDeviceFeatures2KHR--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceFeatures2* pFeatures--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2KHR.html vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2"- vkGetPhysicalDeviceFeatures2KHR ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures- -> IO ()+pattern VkGetPhysicalDeviceFeatures2KHR :: CString +pattern VkGetPhysicalDeviceFeatures2KHR <-+ (is_VkGetPhysicalDeviceFeatures2KHR -> True)+ where VkGetPhysicalDeviceFeatures2KHR+ = _VkGetPhysicalDeviceFeatures2KHR++{-# INLINE _VkGetPhysicalDeviceFeatures2KHR #-}++_VkGetPhysicalDeviceFeatures2KHR :: CString+_VkGetPhysicalDeviceFeatures2KHR+ = Ptr "vkGetPhysicalDeviceFeatures2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceFeatures2KHR #-}++is_VkGetPhysicalDeviceFeatures2KHR :: CString -> Bool+is_VkGetPhysicalDeviceFeatures2KHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFeatures2KHR++type VkGetPhysicalDeviceFeatures2KHR =+ "vkGetPhysicalDeviceFeatures2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceFeatures2`. ----- > () vkGetPhysicalDeviceFeatures2KHR+-- > void vkGetPhysicalDeviceFeatures2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceFeatures2* pFeatures -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFeatures2KHR.html vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceFeatures2"- vkGetPhysicalDeviceFeatures2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFeatures2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures+ -> IO () --- | This is an alias for `vkGetPhysicalDeviceProperties2`.------ > () vkGetPhysicalDeviceProperties2KHR--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceProperties2* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2KHR.html vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceProperties2"- vkGetPhysicalDeviceProperties2KHR ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties- -> IO ()+type PFN_vkGetPhysicalDeviceFeatures2KHR =+ FunPtr HS_vkGetPhysicalDeviceFeatures2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceFeatures2KHR ::+ PFN_vkGetPhysicalDeviceFeatures2KHR ->+ HS_vkGetPhysicalDeviceFeatures2KHR++instance VulkanProc "vkGetPhysicalDeviceFeatures2KHR" where+ type VkProcType "vkGetPhysicalDeviceFeatures2KHR" =+ HS_vkGetPhysicalDeviceFeatures2KHR+ vkProcSymbol = _VkGetPhysicalDeviceFeatures2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFeatures2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceProperties2KHR :: CString++pattern VkGetPhysicalDeviceProperties2KHR <-+ (is_VkGetPhysicalDeviceProperties2KHR -> True)+ where VkGetPhysicalDeviceProperties2KHR+ = _VkGetPhysicalDeviceProperties2KHR++{-# INLINE _VkGetPhysicalDeviceProperties2KHR #-}++_VkGetPhysicalDeviceProperties2KHR :: CString+_VkGetPhysicalDeviceProperties2KHR+ = Ptr "vkGetPhysicalDeviceProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceProperties2KHR #-}++is_VkGetPhysicalDeviceProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceProperties2KHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceProperties2KHR++type VkGetPhysicalDeviceProperties2KHR =+ "vkGetPhysicalDeviceProperties2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceProperties2`. ----- > () vkGetPhysicalDeviceProperties2KHR+-- > void vkGetPhysicalDeviceProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceProperties2* pProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties2KHR.html vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceProperties2"- vkGetPhysicalDeviceProperties2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceProperties2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties+ -> IO () --- | This is an alias for `vkGetPhysicalDeviceFormatProperties2`.------ > () vkGetPhysicalDeviceFormatProperties2KHR--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkFormatProperties2* pFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html vkGetPhysicalDeviceFormatProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2"- vkGetPhysicalDeviceFormatProperties2KHR ::- VkPhysicalDevice -- ^ physicalDevice- -> VkFormat -- ^ format- -> Ptr VkFormatProperties2 -- ^ pFormatProperties- -> IO ()+type PFN_vkGetPhysicalDeviceProperties2KHR =+ FunPtr HS_vkGetPhysicalDeviceProperties2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceProperties2KHR ::+ PFN_vkGetPhysicalDeviceProperties2KHR ->+ HS_vkGetPhysicalDeviceProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceProperties2KHR" where+ type VkProcType "vkGetPhysicalDeviceProperties2KHR" =+ HS_vkGetPhysicalDeviceProperties2KHR+ vkProcSymbol = _VkGetPhysicalDeviceProperties2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceProperties2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceFormatProperties2KHR :: CString++pattern VkGetPhysicalDeviceFormatProperties2KHR <-+ (is_VkGetPhysicalDeviceFormatProperties2KHR -> True)+ where VkGetPhysicalDeviceFormatProperties2KHR+ = _VkGetPhysicalDeviceFormatProperties2KHR++{-# INLINE _VkGetPhysicalDeviceFormatProperties2KHR #-}++_VkGetPhysicalDeviceFormatProperties2KHR :: CString+_VkGetPhysicalDeviceFormatProperties2KHR+ = Ptr "vkGetPhysicalDeviceFormatProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceFormatProperties2KHR #-}++is_VkGetPhysicalDeviceFormatProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceFormatProperties2KHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceFormatProperties2KHR++type VkGetPhysicalDeviceFormatProperties2KHR =+ "vkGetPhysicalDeviceFormatProperties2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceFormatProperties2`. ----- > () vkGetPhysicalDeviceFormatProperties2KHR+-- > void vkGetPhysicalDeviceFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkFormat format -- > , VkFormatProperties2* pFormatProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceFormatProperties2KHR.html vkGetPhysicalDeviceFormatProperties2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2"- vkGetPhysicalDeviceFormatProperties2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> VkFormat -- ^ format- -> Ptr VkFormatProperties2 -- ^ pFormatProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceFormatProperties2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> VkFormat -- ^ format+ -> Ptr VkFormatProperties2 -- ^ pFormatProperties+ -> IO () --- | This is an alias for `vkGetPhysicalDeviceImageFormatProperties2`.------ Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceImageFormatProperties2KHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo--- > , VkImageFormatProperties2* pImageFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceImageFormatProperties2"- vkGetPhysicalDeviceImageFormatProperties2KHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo- ->- Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties- -> IO VkResult+type PFN_vkGetPhysicalDeviceFormatProperties2KHR =+ FunPtr HS_vkGetPhysicalDeviceFormatProperties2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceFormatProperties2KHR ::+ PFN_vkGetPhysicalDeviceFormatProperties2KHR ->+ HS_vkGetPhysicalDeviceFormatProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceFormatProperties2KHR" where+ type VkProcType "vkGetPhysicalDeviceFormatProperties2KHR" =+ HS_vkGetPhysicalDeviceFormatProperties2KHR+ vkProcSymbol = _VkGetPhysicalDeviceFormatProperties2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceFormatProperties2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceImageFormatProperties2KHR :: CString++pattern VkGetPhysicalDeviceImageFormatProperties2KHR <-+ (is_VkGetPhysicalDeviceImageFormatProperties2KHR -> True)+ where VkGetPhysicalDeviceImageFormatProperties2KHR+ = _VkGetPhysicalDeviceImageFormatProperties2KHR++{-# INLINE _VkGetPhysicalDeviceImageFormatProperties2KHR #-}++_VkGetPhysicalDeviceImageFormatProperties2KHR :: CString+_VkGetPhysicalDeviceImageFormatProperties2KHR+ = Ptr "vkGetPhysicalDeviceImageFormatProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceImageFormatProperties2KHR #-}++is_VkGetPhysicalDeviceImageFormatProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceImageFormatProperties2KHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceImageFormatProperties2KHR++type VkGetPhysicalDeviceImageFormatProperties2KHR =+ "vkGetPhysicalDeviceImageFormatProperties2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceImageFormatProperties2`. -- -- Success codes: 'VK_SUCCESS'.@@ -287,122 +318,213 @@ -- > , VkImageFormatProperties2* pImageFormatProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceImageFormatProperties2"- vkGetPhysicalDeviceImageFormatProperties2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo- ->- Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceImageFormatProperties2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo+ ->+ Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties+ -> IO VkResult --- | This is an alias for `vkGetPhysicalDeviceQueueFamilyProperties2`.------ > () vkGetPhysicalDeviceQueueFamilyProperties2KHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t* pQueueFamilyPropertyCount--- > , VkQueueFamilyProperties2* pQueueFamilyProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceQueueFamilyProperties2"- vkGetPhysicalDeviceQueueFamilyProperties2KHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pQueueFamilyPropertyCount- -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties- -> IO ()+type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR =+ FunPtr HS_vkGetPhysicalDeviceImageFormatProperties2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceImageFormatProperties2KHR ::+ PFN_vkGetPhysicalDeviceImageFormatProperties2KHR ->+ HS_vkGetPhysicalDeviceImageFormatProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceImageFormatProperties2KHR"+ where+ type VkProcType "vkGetPhysicalDeviceImageFormatProperties2KHR" =+ HS_vkGetPhysicalDeviceImageFormatProperties2KHR+ vkProcSymbol = _VkGetPhysicalDeviceImageFormatProperties2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceImageFormatProperties2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceQueueFamilyProperties2KHR :: CString++pattern VkGetPhysicalDeviceQueueFamilyProperties2KHR <-+ (is_VkGetPhysicalDeviceQueueFamilyProperties2KHR -> True)+ where VkGetPhysicalDeviceQueueFamilyProperties2KHR+ = _VkGetPhysicalDeviceQueueFamilyProperties2KHR++{-# INLINE _VkGetPhysicalDeviceQueueFamilyProperties2KHR #-}++_VkGetPhysicalDeviceQueueFamilyProperties2KHR :: CString+_VkGetPhysicalDeviceQueueFamilyProperties2KHR+ = Ptr "vkGetPhysicalDeviceQueueFamilyProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceQueueFamilyProperties2KHR #-}++is_VkGetPhysicalDeviceQueueFamilyProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceQueueFamilyProperties2KHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceQueueFamilyProperties2KHR++type VkGetPhysicalDeviceQueueFamilyProperties2KHR =+ "vkGetPhysicalDeviceQueueFamilyProperties2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceQueueFamilyProperties2`. ----- > () vkGetPhysicalDeviceQueueFamilyProperties2KHR+-- > void vkGetPhysicalDeviceQueueFamilyProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , uint32_t* pQueueFamilyPropertyCount -- > , VkQueueFamilyProperties2* pQueueFamilyProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceQueueFamilyProperties2KHR.html vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceQueueFamilyProperties2"- vkGetPhysicalDeviceQueueFamilyProperties2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr Word32 -- ^ pQueueFamilyPropertyCount- -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr Word32 -- ^ pQueueFamilyPropertyCount+ -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties+ -> IO () --- | This is an alias for `vkGetPhysicalDeviceMemoryProperties2`.------ > () vkGetPhysicalDeviceMemoryProperties2KHR--- > ( VkPhysicalDevice physicalDevice--- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html vkGetPhysicalDeviceMemoryProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2"- vkGetPhysicalDeviceMemoryProperties2KHR ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties- -> IO ()+type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR =+ FunPtr HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHR ::+ PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR ->+ HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2KHR"+ where+ type VkProcType "vkGetPhysicalDeviceQueueFamilyProperties2KHR" =+ HS_vkGetPhysicalDeviceQueueFamilyProperties2KHR+ vkProcSymbol = _VkGetPhysicalDeviceQueueFamilyProperties2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceQueueFamilyProperties2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceMemoryProperties2KHR :: CString++pattern VkGetPhysicalDeviceMemoryProperties2KHR <-+ (is_VkGetPhysicalDeviceMemoryProperties2KHR -> True)+ where VkGetPhysicalDeviceMemoryProperties2KHR+ = _VkGetPhysicalDeviceMemoryProperties2KHR++{-# INLINE _VkGetPhysicalDeviceMemoryProperties2KHR #-}++_VkGetPhysicalDeviceMemoryProperties2KHR :: CString+_VkGetPhysicalDeviceMemoryProperties2KHR+ = Ptr "vkGetPhysicalDeviceMemoryProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceMemoryProperties2KHR #-}++is_VkGetPhysicalDeviceMemoryProperties2KHR :: CString -> Bool+is_VkGetPhysicalDeviceMemoryProperties2KHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceMemoryProperties2KHR++type VkGetPhysicalDeviceMemoryProperties2KHR =+ "vkGetPhysicalDeviceMemoryProperties2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceMemoryProperties2`. ----- > () vkGetPhysicalDeviceMemoryProperties2KHR+-- > void vkGetPhysicalDeviceMemoryProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMemoryProperties2KHR.html vkGetPhysicalDeviceMemoryProperties2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2"- vkGetPhysicalDeviceMemoryProperties2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMemoryProperties2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties+ -> IO () --- | This is an alias for `vkGetPhysicalDeviceSparseImageFormatProperties2`.------ > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo--- > , uint32_t* pPropertyCount--- > , VkSparseImageFormatProperties2* pProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceSparseImageFormatProperties2"- vkGetPhysicalDeviceSparseImageFormatProperties2KHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties- -> IO ()+type PFN_vkGetPhysicalDeviceMemoryProperties2KHR =+ FunPtr HS_vkGetPhysicalDeviceMemoryProperties2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceMemoryProperties2KHR ::+ PFN_vkGetPhysicalDeviceMemoryProperties2KHR ->+ HS_vkGetPhysicalDeviceMemoryProperties2KHR++instance VulkanProc "vkGetPhysicalDeviceMemoryProperties2KHR" where+ type VkProcType "vkGetPhysicalDeviceMemoryProperties2KHR" =+ HS_vkGetPhysicalDeviceMemoryProperties2KHR+ vkProcSymbol = _VkGetPhysicalDeviceMemoryProperties2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceMemoryProperties2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR ::+ CString++pattern VkGetPhysicalDeviceSparseImageFormatProperties2KHR <-+ (is_VkGetPhysicalDeviceSparseImageFormatProperties2KHR -> True)+ where VkGetPhysicalDeviceSparseImageFormatProperties2KHR+ = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR++{-# INLINE _VkGetPhysicalDeviceSparseImageFormatProperties2KHR #-}++_VkGetPhysicalDeviceSparseImageFormatProperties2KHR :: CString+_VkGetPhysicalDeviceSparseImageFormatProperties2KHR+ = Ptr "vkGetPhysicalDeviceSparseImageFormatProperties2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSparseImageFormatProperties2KHR+ #-}++is_VkGetPhysicalDeviceSparseImageFormatProperties2KHR ::+ CString -> Bool+is_VkGetPhysicalDeviceSparseImageFormatProperties2KHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceSparseImageFormatProperties2KHR++type VkGetPhysicalDeviceSparseImageFormatProperties2KHR =+ "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"+ -- | This is an alias for `vkGetPhysicalDeviceSparseImageFormatProperties2`. ----- > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR+-- > void vkGetPhysicalDeviceSparseImageFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo -- > , uint32_t* pPropertyCount -- > , VkSparseImageFormatProperties2* pProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSparseImageFormatProperties2KHR.html vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceSparseImageFormatProperties2"- vkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo- ->- Ptr Word32 -- ^ pPropertyCount- -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo+ ->+ Ptr Word32 -- ^ pPropertyCount+ -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties+ -> IO ()++type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR =+ FunPtr HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHR ::+ PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR ->+ HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR++instance VulkanProc+ "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"+ where+ type VkProcType+ "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"+ = HS_vkGetPhysicalDeviceSparseImageFormatProperties2KHR+ vkProcSymbol = _VkGetPhysicalDeviceSparseImageFormatProperties2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceSparseImageFormatProperties2KHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2 (-- * Vulkan extension: @VK_KHR_get_surface_capabilities2@@@ -23,26 +26,27 @@ -- -- ** Required extensions: 'VK_KHR_surface'.- module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkExtent2D,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Struct.Extent, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSurfaceInfo2KHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR,- module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,- module Graphics.Vulkan.Types.Struct.VkSurfaceFormat2KHR,- module Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Surface,+ module Graphics.Vulkan.Types.Enum.Surface, -- > #include "vk_platform.h"- vkGetPhysicalDeviceSurfaceCapabilities2KHR,- vkGetPhysicalDeviceSurfaceCapabilities2KHRSafe,- vkGetPhysicalDeviceSurfaceFormats2KHR,- vkGetPhysicalDeviceSurfaceFormats2KHRSafe,+ VkGetPhysicalDeviceSurfaceCapabilities2KHR,+ pattern VkGetPhysicalDeviceSurfaceCapabilities2KHR,+ HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR,+ PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR,+ VkGetPhysicalDeviceSurfaceFormats2KHR,+ pattern VkGetPhysicalDeviceSurfaceFormats2KHR,+ HS_vkGetPhysicalDeviceSurfaceFormats2KHR,+ PFN_vkGetPhysicalDeviceSurfaceFormats2KHR, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION, pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION,@@ -52,45 +56,44 @@ pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR, pattern VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSurfaceInfo2KHR-import Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR-import Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR-import Graphics.Vulkan.Types.Struct.VkSurfaceFormat2KHR-import Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Surface --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo--- > , VkSurfaceCapabilities2KHR* pSurfaceCapabilities--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceSurfaceCapabilities2KHR"- vkGetPhysicalDeviceSurfaceCapabilities2KHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo- ->- Ptr VkSurfaceCapabilities2KHR -- ^ pSurfaceCapabilities- -> IO VkResult+pattern VkGetPhysicalDeviceSurfaceCapabilities2KHR :: CString +pattern VkGetPhysicalDeviceSurfaceCapabilities2KHR <-+ (is_VkGetPhysicalDeviceSurfaceCapabilities2KHR -> True)+ where VkGetPhysicalDeviceSurfaceCapabilities2KHR+ = _VkGetPhysicalDeviceSurfaceCapabilities2KHR++{-# INLINE _VkGetPhysicalDeviceSurfaceCapabilities2KHR #-}++_VkGetPhysicalDeviceSurfaceCapabilities2KHR :: CString+_VkGetPhysicalDeviceSurfaceCapabilities2KHR+ = Ptr "vkGetPhysicalDeviceSurfaceCapabilities2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfaceCapabilities2KHR #-}++is_VkGetPhysicalDeviceSurfaceCapabilities2KHR :: CString -> Bool+is_VkGetPhysicalDeviceSurfaceCapabilities2KHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfaceCapabilities2KHR++type VkGetPhysicalDeviceSurfaceCapabilities2KHR =+ "vkGetPhysicalDeviceSurfaceCapabilities2KHR"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -101,39 +104,56 @@ -- > , VkSurfaceCapabilities2KHR* pSurfaceCapabilities -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceSurfaceCapabilities2KHR"- vkGetPhysicalDeviceSurfaceCapabilities2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo- ->- Ptr VkSurfaceCapabilities2KHR -- ^ pSurfaceCapabilities- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo+ ->+ Ptr VkSurfaceCapabilities2KHR -- ^ pSurfaceCapabilities+ -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetPhysicalDeviceSurfaceFormats2KHR--- > ( VkPhysicalDevice physicalDevice--- > , const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo--- > , uint32_t* pSurfaceFormatCount--- > , VkSurfaceFormat2KHR* pSurfaceFormats--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormats2KHR"- vkGetPhysicalDeviceSurfaceFormats2KHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo- ->- Ptr Word32 -- ^ pSurfaceFormatCount- -> Ptr VkSurfaceFormat2KHR -- ^ pSurfaceFormats- -> IO VkResult+type PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR =+ FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR +foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHR ::+ PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR ->+ HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR++instance VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2KHR"+ where+ type VkProcType "vkGetPhysicalDeviceSurfaceCapabilities2KHR" =+ HS_vkGetPhysicalDeviceSurfaceCapabilities2KHR+ vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilities2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceCapabilities2KHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSurfaceFormats2KHR :: CString++pattern VkGetPhysicalDeviceSurfaceFormats2KHR <-+ (is_VkGetPhysicalDeviceSurfaceFormats2KHR -> True)+ where VkGetPhysicalDeviceSurfaceFormats2KHR+ = _VkGetPhysicalDeviceSurfaceFormats2KHR++{-# INLINE _VkGetPhysicalDeviceSurfaceFormats2KHR #-}++_VkGetPhysicalDeviceSurfaceFormats2KHR :: CString+_VkGetPhysicalDeviceSurfaceFormats2KHR+ = Ptr "vkGetPhysicalDeviceSurfaceFormats2KHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfaceFormats2KHR #-}++is_VkGetPhysicalDeviceSurfaceFormats2KHR :: CString -> Bool+is_VkGetPhysicalDeviceSurfaceFormats2KHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfaceFormats2KHR++type VkGetPhysicalDeviceSurfaceFormats2KHR =+ "vkGetPhysicalDeviceSurfaceFormats2KHR"+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -145,16 +165,33 @@ -- > , VkSurfaceFormat2KHR* pSurfaceFormats -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormats2KHR.html vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDeviceSurfaceFormats2KHR"- vkGetPhysicalDeviceSurfaceFormats2KHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo- ->- Ptr Word32 -- ^ pSurfaceFormatCount- -> Ptr VkSurfaceFormat2KHR -- ^ pSurfaceFormats- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfaceFormats2KHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkPhysicalDeviceSurfaceInfo2KHR -- ^ pSurfaceInfo+ ->+ Ptr Word32 -- ^ pSurfaceFormatCount+ -> Ptr VkSurfaceFormat2KHR -- ^ pSurfaceFormats+ -> IO VkResult++type PFN_vkGetPhysicalDeviceSurfaceFormats2KHR =+ FunPtr HS_vkGetPhysicalDeviceSurfaceFormats2KHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfaceFormats2KHR ::+ PFN_vkGetPhysicalDeviceSurfaceFormats2KHR ->+ HS_vkGetPhysicalDeviceSurfaceFormats2KHR++instance VulkanProc "vkGetPhysicalDeviceSurfaceFormats2KHR" where+ type VkProcType "vkGetPhysicalDeviceSurfaceFormats2KHR" =+ HS_vkGetPhysicalDeviceSurfaceFormats2KHR+ vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormats2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceFormats2KHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: (Num a, Eq a) => a
@@ -17,19 +17,14 @@ -- type: @device@ -- -- Extension number: @148@- module Graphics.Vulkan.Types.Struct.VkExtent3D,+ module Graphics.Vulkan.Types.Struct.Extent, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Struct.VkImageFormatListCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION, pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION,@@ -37,21 +32,16 @@ pattern VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageFormatListCreateInfoKHR+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image pattern VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION :: (Num a, Eq a) => a
@@ -22,14 +22,12 @@ -- -- ** Required extensions: 'VK_KHR_swapchain'.- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPresentRegionKHR,- module Graphics.Vulkan.Types.Struct.VkPresentRegionsKHR,- module Graphics.Vulkan.Types.Struct.VkRectLayerKHR,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Struct.Present,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION, pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION,@@ -37,16 +35,14 @@ pattern VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkPresentRegionKHR-import Graphics.Vulkan.Types.Struct.VkPresentRegionsKHR-import Graphics.Vulkan.Types.Struct.VkRectLayerKHR+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.Present+import Graphics.Vulkan.Types.Struct.Rect pattern VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,11 +1,14 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_maintenance1 (-- * Vulkan extension: @VK_KHR_maintenance1@@@ -20,8 +23,9 @@ -- type: @device@ -- -- Extension number: @70@- module Graphics.Vulkan.Types.Bitmasks, vkTrimCommandPoolKHR,- vkTrimCommandPoolKHRSafe, module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.Bitmasks, VkTrimCommandPoolKHR,+ pattern VkTrimCommandPoolKHR, HS_vkTrimCommandPoolKHR,+ PFN_vkTrimCommandPoolKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Handles, VK_KHR_MAINTENANCE1_SPEC_VERSION,@@ -39,41 +43,57 @@ pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Handles --- | This is an alias for `vkTrimCommandPool`.------ > () vkTrimCommandPoolKHR--- > ( VkDevice device--- > , VkCommandPool commandPool--- > , VkCommandPoolTrimFlags flags--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPoolKHR.html vkTrimCommandPoolKHR registry at www.khronos.org>-foreign import ccall unsafe "vkTrimCommandPool"- vkTrimCommandPoolKHR ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> VkCommandPoolTrimFlags -- ^ flags- -> IO ()+pattern VkTrimCommandPoolKHR :: CString +pattern VkTrimCommandPoolKHR <- (is_VkTrimCommandPoolKHR -> True)+ where VkTrimCommandPoolKHR = _VkTrimCommandPoolKHR++{-# INLINE _VkTrimCommandPoolKHR #-}++_VkTrimCommandPoolKHR :: CString+_VkTrimCommandPoolKHR = Ptr "vkTrimCommandPoolKHR\NUL"#++{-# INLINE is_VkTrimCommandPoolKHR #-}++is_VkTrimCommandPoolKHR :: CString -> Bool+is_VkTrimCommandPoolKHR+ = (EQ ==) . cmpCStrings _VkTrimCommandPoolKHR++type VkTrimCommandPoolKHR = "vkTrimCommandPoolKHR"+ -- | This is an alias for `vkTrimCommandPool`. ----- > () vkTrimCommandPoolKHR+-- > void vkTrimCommandPoolKHR -- > ( VkDevice device -- > , VkCommandPool commandPool -- > , VkCommandPoolTrimFlags flags -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkTrimCommandPoolKHR.html vkTrimCommandPoolKHR registry at www.khronos.org>-foreign import ccall safe "vkTrimCommandPool"- vkTrimCommandPoolKHRSafe ::- VkDevice -- ^ device- -> VkCommandPool -- ^ commandPool- -> VkCommandPoolTrimFlags -- ^ flags- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkTrimCommandPoolKHR vkTrimCommandPoolKHR registry at www.khronos.org>+type HS_vkTrimCommandPoolKHR =+ VkDevice -- ^ device+ -> VkCommandPool -- ^ commandPool+ -> VkCommandPoolTrimFlags -- ^ flags+ -> IO ()++type PFN_vkTrimCommandPoolKHR = FunPtr HS_vkTrimCommandPoolKHR++foreign import ccall "dynamic" unwrapVkTrimCommandPoolKHR ::+ PFN_vkTrimCommandPoolKHR -> HS_vkTrimCommandPoolKHR++instance VulkanProc "vkTrimCommandPoolKHR" where+ type VkProcType "vkTrimCommandPoolKHR" = HS_vkTrimCommandPoolKHR+ vkProcSymbol = _VkTrimCommandPoolKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkTrimCommandPoolKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_MAINTENANCE1_SPEC_VERSION :: (Num a, Eq a) => a
@@ -18,13 +18,13 @@ -- type: @device@ -- -- Extension number: @118@- module Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReferenceKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkPointClippingBehaviorKHR,- module Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkTessellationDomainOriginKHR,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.PointClippingBehavior,+ module Graphics.Vulkan.Types.Struct.RenderPass,+ module Graphics.Vulkan.Types.Enum.TessellationDomainOrigin, VK_KHR_MAINTENANCE2_SPEC_VERSION, pattern VK_KHR_MAINTENANCE2_SPEC_VERSION, VK_KHR_MAINTENANCE2_EXTENSION_NAME,@@ -42,29 +42,23 @@ pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR, pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,- pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,- pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,- pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,- pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,- pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,+ pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,+ pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,+ pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,+ pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkPointClippingBehavior- (VkPointClippingBehavior (..))-import Graphics.Vulkan.Types.Enum.VkPointClippingBehaviorKHR-import Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin- (VkTessellationDomainOrigin (..))-import Graphics.Vulkan.Types.Enum.VkTessellationDomainOriginKHR-import Graphics.Vulkan.Types.Struct.VkImageViewUsageCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkInputAttachmentAspectReferenceKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDevicePointClippingPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkPipelineTessellationDomainOriginStateCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkRenderPassInputAttachmentAspectCreateInfoKHR+import Graphics.Vulkan.Types.Enum.PointClippingBehavior+import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.RenderPass pattern VK_KHR_MAINTENANCE2_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_maintenance3 (-- * Vulkan extension: @VK_KHR_maintenance3@@@ -24,20 +27,18 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupportKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3PropertiesKHR,- vkGetDescriptorSetLayoutSupportKHR,- vkGetDescriptorSetLayoutSupportKHRSafe,+ module Graphics.Vulkan.Types.Struct.Descriptor,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ VkGetDescriptorSetLayoutSupportKHR,+ pattern VkGetDescriptorSetLayoutSupportKHR,+ HS_vkGetDescriptorSetLayoutSupportKHR,+ PFN_vkGetDescriptorSetLayoutSupportKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags,- module Graphics.Vulkan.Types.Enum.VkDescriptorType,- module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Descriptor,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport, VK_KHR_MAINTENANCE3_SPEC_VERSION, pattern VK_KHR_MAINTENANCE3_SPEC_VERSION, VK_KHR_MAINTENANCE3_EXTENSION_NAME,@@ -45,59 +46,75 @@ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR, pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags-import Graphics.Vulkan.Types.Enum.VkDescriptorType-import Graphics.Vulkan.Types.Enum.VkShaderStageFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutBinding-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutCreateInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupport-import Graphics.Vulkan.Types.Struct.VkDescriptorSetLayoutSupportKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMaintenance3PropertiesKHR+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.PhysicalDevice --- | This is an alias for `vkGetDescriptorSetLayoutSupport`.------ > () vkGetDescriptorSetLayoutSupportKHR--- > ( VkDevice device--- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo--- > , VkDescriptorSetLayoutSupport* pSupport--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupportKHR.html vkGetDescriptorSetLayoutSupportKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetDescriptorSetLayoutSupport"- vkGetDescriptorSetLayoutSupportKHR ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkDescriptorSetLayoutSupport -- ^ pSupport- -> IO ()+pattern VkGetDescriptorSetLayoutSupportKHR :: CString +pattern VkGetDescriptorSetLayoutSupportKHR <-+ (is_VkGetDescriptorSetLayoutSupportKHR -> True)+ where VkGetDescriptorSetLayoutSupportKHR+ = _VkGetDescriptorSetLayoutSupportKHR++{-# INLINE _VkGetDescriptorSetLayoutSupportKHR #-}++_VkGetDescriptorSetLayoutSupportKHR :: CString+_VkGetDescriptorSetLayoutSupportKHR+ = Ptr "vkGetDescriptorSetLayoutSupportKHR\NUL"#++{-# INLINE is_VkGetDescriptorSetLayoutSupportKHR #-}++is_VkGetDescriptorSetLayoutSupportKHR :: CString -> Bool+is_VkGetDescriptorSetLayoutSupportKHR+ = (EQ ==) . cmpCStrings _VkGetDescriptorSetLayoutSupportKHR++type VkGetDescriptorSetLayoutSupportKHR =+ "vkGetDescriptorSetLayoutSupportKHR"+ -- | This is an alias for `vkGetDescriptorSetLayoutSupport`. ----- > () vkGetDescriptorSetLayoutSupportKHR+-- > void vkGetDescriptorSetLayoutSupportKHR -- > ( VkDevice device -- > , const VkDescriptorSetLayoutCreateInfo* pCreateInfo -- > , VkDescriptorSetLayoutSupport* pSupport -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDescriptorSetLayoutSupportKHR.html vkGetDescriptorSetLayoutSupportKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDescriptorSetLayoutSupport"- vkGetDescriptorSetLayoutSupportKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo- ->- Ptr VkDescriptorSetLayoutSupport -- ^ pSupport- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR registry at www.khronos.org>+type HS_vkGetDescriptorSetLayoutSupportKHR =+ VkDevice -- ^ device+ ->+ Ptr VkDescriptorSetLayoutCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkDescriptorSetLayoutSupport -- ^ pSupport+ -> IO ()++type PFN_vkGetDescriptorSetLayoutSupportKHR =+ FunPtr HS_vkGetDescriptorSetLayoutSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetDescriptorSetLayoutSupportKHR ::+ PFN_vkGetDescriptorSetLayoutSupportKHR ->+ HS_vkGetDescriptorSetLayoutSupportKHR++instance VulkanProc "vkGetDescriptorSetLayoutSupportKHR" where+ type VkProcType "vkGetDescriptorSetLayoutSupportKHR" =+ HS_vkGetDescriptorSetLayoutSupportKHR+ vkProcSymbol = _VkGetDescriptorSetLayoutSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDescriptorSetLayoutSupportKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_MAINTENANCE3_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_mir_surface (-- * Vulkan extension: @VK_KHR_mir_surface@@@ -27,52 +33,84 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkMirSurfaceCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PlatformMirKhr,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"+ VkCreateMirSurfaceKHR, pattern VkCreateMirSurfaceKHR,+ HS_vkCreateMirSurfaceKHR, PFN_vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHR, vkCreateMirSurfaceKHRSafe,+ VkGetPhysicalDeviceMirPresentationSupportKHR,+ pattern VkGetPhysicalDeviceMirPresentationSupportKHR,+ HS_vkGetPhysicalDeviceMirPresentationSupportKHR,+ PFN_vkGetPhysicalDeviceMirPresentationSupportKHR, vkGetPhysicalDeviceMirPresentationSupportKHR, vkGetPhysicalDeviceMirPresentationSupportKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_MIR_SURFACE_SPEC_VERSION, pattern VK_KHR_MIR_SURFACE_SPEC_VERSION, VK_KHR_MIR_SURFACE_EXTENSION_NAME, pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkMirSurfaceCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformMirKhr+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateMirSurfaceKHR :: CString++pattern VkCreateMirSurfaceKHR <- (is_VkCreateMirSurfaceKHR -> True)+ where VkCreateMirSurfaceKHR = _VkCreateMirSurfaceKHR++{-# INLINE _VkCreateMirSurfaceKHR #-}++_VkCreateMirSurfaceKHR :: CString+_VkCreateMirSurfaceKHR = Ptr "vkCreateMirSurfaceKHR\NUL"#++{-# INLINE is_VkCreateMirSurfaceKHR #-}++is_VkCreateMirSurfaceKHR :: CString -> Bool+is_VkCreateMirSurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateMirSurfaceKHR++type VkCreateMirSurfaceKHR = "vkCreateMirSurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateMirSurfaceKHR--- > ( VkInstance instance--- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateMirSurfaceKHR+-- > ( VkInstance instance+-- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMirSurfaceKHR.html vkCreateMirSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateMirSurfaceKHR" vkCreateMirSurfaceKHR :: VkInstance -- ^ instance@@ -83,18 +121,65 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateMirSurfaceKHR--- > ( VkInstance instance--- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateMirSurfaceKHR+-- > ( VkInstance instance+-- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMirSurfaceKHR.html vkCreateMirSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateMirSurfaceKHRSafe@ and @vkCreateMirSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateMirSurfaceKHR <- vkGetInstanceProc @VkCreateMirSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateMirSurfaceKHR <- vkGetProc @VkCreateMirSurfaceKHR+--+vkCreateMirSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateMirSurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateMirSurfaceKHR)++{-# NOINLINE vkCreateMirSurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateMirSurfaceKHR+-- > ( VkInstance instance+-- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateMirSurfaceKHR" vkCreateMirSurfaceKHRSafe :: VkInstance -- ^ instance@@ -105,13 +190,117 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , MirConnection* connection+#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateMirSurfaceKHR+-- > ( VkInstance instance+-- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateMirSurfaceKHRSafe@ and @vkCreateMirSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateMirSurfaceKHR <- vkGetInstanceProc @VkCreateMirSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateMirSurfaceKHR <- vkGetProc @VkCreateMirSurfaceKHR+--+vkCreateMirSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateMirSurfaceKHRSafe = vkCreateMirSurfaceKHR++{-# INLINE vkCreateMirSurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateMirSurfaceKHR+-- > ( VkInstance instance+-- > , const VkMirSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMirPresentationSupportKHR.html vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR registry at www.khronos.org>+type HS_vkCreateMirSurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkMirSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateMirSurfaceKHR = FunPtr HS_vkCreateMirSurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateMirSurfaceKHR ::+ PFN_vkCreateMirSurfaceKHR -> HS_vkCreateMirSurfaceKHR++instance VulkanProc "vkCreateMirSurfaceKHR" where+ type VkProcType "vkCreateMirSurfaceKHR" = HS_vkCreateMirSurfaceKHR+ vkProcSymbol = _VkCreateMirSurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateMirSurfaceKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceMirPresentationSupportKHR :: CString++pattern VkGetPhysicalDeviceMirPresentationSupportKHR <-+ (is_VkGetPhysicalDeviceMirPresentationSupportKHR -> True)+ where VkGetPhysicalDeviceMirPresentationSupportKHR+ = _VkGetPhysicalDeviceMirPresentationSupportKHR++{-# INLINE _VkGetPhysicalDeviceMirPresentationSupportKHR #-}++_VkGetPhysicalDeviceMirPresentationSupportKHR :: CString+_VkGetPhysicalDeviceMirPresentationSupportKHR+ = Ptr "vkGetPhysicalDeviceMirPresentationSupportKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceMirPresentationSupportKHR #-}++is_VkGetPhysicalDeviceMirPresentationSupportKHR :: CString -> Bool+is_VkGetPhysicalDeviceMirPresentationSupportKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceMirPresentationSupportKHR++type VkGetPhysicalDeviceMirPresentationSupportKHR =+ "vkGetPhysicalDeviceMirPresentationSupportKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , MirConnection* connection+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceMirPresentationSupportKHR" vkGetPhysicalDeviceMirPresentationSupportKHR ::@@ -120,13 +309,54 @@ -> Ptr MirConnection -- ^ connection -> IO VkBool32 --- | > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , MirConnection* connection--- > )+#else+-- |+-- > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , MirConnection* connection+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceMirPresentationSupportKHR.html vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceMirPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceMirPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR+--+vkGetPhysicalDeviceMirPresentationSupportKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr MirConnection -- ^ connection+ -> IO VkBool32+vkGetPhysicalDeviceMirPresentationSupportKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR)++{-# NOINLINE vkGetPhysicalDeviceMirPresentationSupportKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , MirConnection* connection+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceMirPresentationSupportKHR" vkGetPhysicalDeviceMirPresentationSupportKHRSafe ::@@ -134,6 +364,73 @@ -> Word32 -- ^ queueFamilyIndex -> Ptr MirConnection -- ^ connection -> IO VkBool32++#else+-- |+-- > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , MirConnection* connection+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceMirPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceMirPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceMirPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceMirPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceMirPresentationSupportKHR+--+vkGetPhysicalDeviceMirPresentationSupportKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr MirConnection -- ^ connection+ -> IO VkBool32+vkGetPhysicalDeviceMirPresentationSupportKHRSafe+ = vkGetPhysicalDeviceMirPresentationSupportKHR++{-# INLINE vkGetPhysicalDeviceMirPresentationSupportKHRSafe #-}+#endif++-- | > VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , MirConnection* connection+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceMirPresentationSupportKHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> Word32 -- ^ queueFamilyIndex+ -> Ptr MirConnection -- ^ connection+ -> IO VkBool32++type PFN_vkGetPhysicalDeviceMirPresentationSupportKHR =+ FunPtr HS_vkGetPhysicalDeviceMirPresentationSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceMirPresentationSupportKHR ::+ PFN_vkGetPhysicalDeviceMirPresentationSupportKHR ->+ HS_vkGetPhysicalDeviceMirPresentationSupportKHR++instance VulkanProc "vkGetPhysicalDeviceMirPresentationSupportKHR"+ where+ type VkProcType "vkGetPhysicalDeviceMirPresentationSupportKHR" =+ HS_vkGetPhysicalDeviceMirPresentationSupportKHR+ vkProcSymbol = _VkGetPhysicalDeviceMirPresentationSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceMirPresentationSupportKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_MIR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,9 +23,8 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeaturesKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.RenderPass, VK_KHR_MULTIVIEW_SPEC_VERSION, pattern VK_KHR_MULTIVIEW_SPEC_VERSION, VK_KHR_MULTIVIEW_EXTENSION_NAME,@@ -35,17 +34,14 @@ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR, pattern VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,- pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_DEPENDENCY_VIEW_LOCAL_BIT,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewFeaturesKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkRenderPassMultiviewCreateInfoKHR+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.RenderPass pattern VK_KHR_MULTIVIEW_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_push_descriptor (-- * Vulkan extension: @VK_KHR_push_descriptor@@@ -25,23 +28,19 @@ -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDevicePushDescriptorPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkCmdPushDescriptorSetKHR, vkCmdPushDescriptorSetKHRSafe,- module Graphics.Vulkan.Types.Enum.VkDescriptorType,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,+ VkCmdPushDescriptorSetKHR, pattern VkCmdPushDescriptorSetKHR,+ HS_vkCmdPushDescriptorSetKHR, PFN_vkCmdPushDescriptorSetKHR,+ module Graphics.Vulkan.Types.Enum.Descriptor,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.Pipeline, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo,- module Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo,- module Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet,+ module Graphics.Vulkan.Types.Struct.Descriptor,+ module Graphics.Vulkan.Types.Struct.WriteDescriptorSet, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME,@@ -49,67 +48,51 @@ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.- vkCmdPushDescriptorSetWithTemplateKHR,- vkCmdPushDescriptorSetWithTemplateKHRSafe,+ VkCmdPushDescriptorSetWithTemplateKHR,+ pattern VkCmdPushDescriptorSetWithTemplateKHR,+ HS_vkCmdPushDescriptorSetWithTemplateKHR,+ PFN_vkCmdPushDescriptorSetWithTemplateKHR, pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags- (VkDescriptorSetLayoutCreateBitmask (..),- VkDescriptorSetLayoutCreateFlagBits)-import Graphics.Vulkan.Types.Enum.VkDescriptorType-import Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType- (VkDescriptorUpdateTemplateType (..))-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.Descriptor+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkDescriptorBufferInfo-import Graphics.Vulkan.Types.Struct.VkDescriptorImageInfo-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDevicePushDescriptorPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties-import Graphics.Vulkan.Types.Struct.VkWriteDescriptorSet+import Graphics.Vulkan.Types.Struct.Descriptor+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.WriteDescriptorSet --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdPushDescriptorSetKHR--- > ( VkCommandBuffer commandBuffer--- > , VkPipelineBindPoint pipelineBindPoint--- > , VkPipelineLayout layout--- > , uint32_t set--- > , uint32_t descriptorWriteCount--- > , const VkWriteDescriptorSet* pDescriptorWrites--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetKHR.html vkCmdPushDescriptorSetKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPushDescriptorSetKHR"- vkCmdPushDescriptorSetKHR ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineBindPoint -- ^ pipelineBindPoint- ->- VkPipelineLayout -- ^ layout- ->- Word32 -- ^ set- -> Word32 -- ^ descriptorWriteCount- -> Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites- -> IO ()+pattern VkCmdPushDescriptorSetKHR :: CString --- | queues: 'graphics', 'compute'.+pattern VkCmdPushDescriptorSetKHR <-+ (is_VkCmdPushDescriptorSetKHR -> True)+ where VkCmdPushDescriptorSetKHR = _VkCmdPushDescriptorSetKHR++{-# INLINE _VkCmdPushDescriptorSetKHR #-}++_VkCmdPushDescriptorSetKHR :: CString+_VkCmdPushDescriptorSetKHR = Ptr "vkCmdPushDescriptorSetKHR\NUL"#++{-# INLINE is_VkCmdPushDescriptorSetKHR #-}++is_VkCmdPushDescriptorSetKHR :: CString -> Bool+is_VkCmdPushDescriptorSetKHR+ = (EQ ==) . cmpCStrings _VkCmdPushDescriptorSetKHR++type VkCmdPushDescriptorSetKHR = "vkCmdPushDescriptorSetKHR"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdPushDescriptorSetKHR+-- > void vkCmdPushDescriptorSetKHR -- > ( VkCommandBuffer commandBuffer -- > , VkPipelineBindPoint pipelineBindPoint -- > , VkPipelineLayout layout@@ -118,20 +101,35 @@ -- > , const VkWriteDescriptorSet* pDescriptorWrites -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetKHR.html vkCmdPushDescriptorSetKHR registry at www.khronos.org>-foreign import ccall safe "vkCmdPushDescriptorSetKHR"- vkCmdPushDescriptorSetKHRSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkPipelineBindPoint -- ^ pipelineBindPoint- ->- VkPipelineLayout -- ^ layout- ->- Word32 -- ^ set- -> Word32 -- ^ descriptorWriteCount- -> Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR registry at www.khronos.org>+type HS_vkCmdPushDescriptorSetKHR =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkPipelineBindPoint -- ^ pipelineBindPoint+ ->+ VkPipelineLayout -- ^ layout+ ->+ Word32 -- ^ set+ -> Word32 -- ^ descriptorWriteCount+ -> Ptr VkWriteDescriptorSet -- ^ pDescriptorWrites+ -> IO () +type PFN_vkCmdPushDescriptorSetKHR =+ FunPtr HS_vkCmdPushDescriptorSetKHR++foreign import ccall "dynamic" unwrapVkCmdPushDescriptorSetKHR ::+ PFN_vkCmdPushDescriptorSetKHR -> HS_vkCmdPushDescriptorSetKHR++instance VulkanProc "vkCmdPushDescriptorSetKHR" where+ type VkProcType "vkCmdPushDescriptorSetKHR" =+ HS_vkCmdPushDescriptorSetKHR+ vkProcSymbol = _VkCmdPushDescriptorSetKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdPushDescriptorSetKHR++ {-# INLINE unwrapVkProcPtr #-}+ pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION :: (Num a, Eq a) => a pattern VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2@@ -175,35 +173,33 @@ pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = VkDescriptorSetLayoutCreateFlagBits 1 --- | queues: 'graphics', 'compute'.------ renderpass: @both@------ > () vkCmdPushDescriptorSetWithTemplateKHR--- > ( VkCommandBuffer commandBuffer--- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate--- > , VkPipelineLayout layout--- > , uint32_t set--- > , const void* pData--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html vkCmdPushDescriptorSetWithTemplateKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCmdPushDescriptorSetWithTemplateKHR"- vkCmdPushDescriptorSetWithTemplateKHR ::- VkCommandBuffer -- ^ commandBuffer- ->- VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- ->- VkPipelineLayout -- ^ layout- -> Word32 -- ^ set- -> Ptr Void -- ^ pData- -> IO ()+pattern VkCmdPushDescriptorSetWithTemplateKHR :: CString --- | queues: 'graphics', 'compute'.+pattern VkCmdPushDescriptorSetWithTemplateKHR <-+ (is_VkCmdPushDescriptorSetWithTemplateKHR -> True)+ where VkCmdPushDescriptorSetWithTemplateKHR+ = _VkCmdPushDescriptorSetWithTemplateKHR++{-# INLINE _VkCmdPushDescriptorSetWithTemplateKHR #-}++_VkCmdPushDescriptorSetWithTemplateKHR :: CString+_VkCmdPushDescriptorSetWithTemplateKHR+ = Ptr "vkCmdPushDescriptorSetWithTemplateKHR\NUL"#++{-# INLINE is_VkCmdPushDescriptorSetWithTemplateKHR #-}++is_VkCmdPushDescriptorSetWithTemplateKHR :: CString -> Bool+is_VkCmdPushDescriptorSetWithTemplateKHR+ = (EQ ==) . cmpCStrings _VkCmdPushDescriptorSetWithTemplateKHR++type VkCmdPushDescriptorSetWithTemplateKHR =+ "vkCmdPushDescriptorSetWithTemplateKHR"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdPushDescriptorSetWithTemplateKHR+-- > void vkCmdPushDescriptorSetWithTemplateKHR -- > ( VkCommandBuffer commandBuffer -- > , VkDescriptorUpdateTemplate descriptorUpdateTemplate -- > , VkPipelineLayout layout@@ -211,17 +207,34 @@ -- > , const void* pData -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushDescriptorSetWithTemplateKHR.html vkCmdPushDescriptorSetWithTemplateKHR registry at www.khronos.org>-foreign import ccall safe "vkCmdPushDescriptorSetWithTemplateKHR"- vkCmdPushDescriptorSetWithTemplateKHRSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate- ->- VkPipelineLayout -- ^ layout- -> Word32 -- ^ set- -> Ptr Void -- ^ pData- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR registry at www.khronos.org>+type HS_vkCmdPushDescriptorSetWithTemplateKHR =+ VkCommandBuffer -- ^ commandBuffer+ ->+ VkDescriptorUpdateTemplate -- ^ descriptorUpdateTemplate+ ->+ VkPipelineLayout -- ^ layout+ -> Word32 -- ^ set+ -> Ptr Void -- ^ pData+ -> IO ()++type PFN_vkCmdPushDescriptorSetWithTemplateKHR =+ FunPtr HS_vkCmdPushDescriptorSetWithTemplateKHR++foreign import ccall "dynamic"+ unwrapVkCmdPushDescriptorSetWithTemplateKHR ::+ PFN_vkCmdPushDescriptorSetWithTemplateKHR ->+ HS_vkCmdPushDescriptorSetWithTemplateKHR++instance VulkanProc "vkCmdPushDescriptorSetWithTemplateKHR" where+ type VkProcType "vkCmdPushDescriptorSetWithTemplateKHR" =+ HS_vkCmdPushDescriptorSetWithTemplateKHR+ vkProcSymbol = _VkCmdPushDescriptorSetWithTemplateKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdPushDescriptorSetWithTemplateKHR++ {-# INLINE unwrapVkProcPtr #-} -- | Create descriptor update template for pushed descriptor updates pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR ::
@@ -23,9 +23,9 @@ pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME, pattern VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkSamplerAddressMode (VkSamplerAddressMode (..))+import Graphics.Vulkan.Types.Enum.Sampler (VkSamplerAddressMode (..)) pattern VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion (-- * Vulkan extension: @VK_KHR_sampler_ycbcr_conversion@@@ -24,36 +27,33 @@ -- -- ** Required extensions: 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'.- module Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR,- module Graphics.Vulkan.Types.Enum.VkChromaLocationKHR,- module Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR,- vkCreateSamplerYcbcrConversionKHR,- vkCreateSamplerYcbcrConversionKHRSafe,- vkDestroySamplerYcbcrConversionKHR,- vkDestroySamplerYcbcrConversionKHRSafe,+ module Graphics.Vulkan.Types.Struct.Bind,+ module Graphics.Vulkan.Types.Enum.ChromaLocation,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Struct.Sampler,+ module Graphics.Vulkan.Types.Enum.Sampler,+ VkCreateSamplerYcbcrConversionKHR,+ pattern VkCreateSamplerYcbcrConversionKHR,+ HS_vkCreateSamplerYcbcrConversionKHR,+ PFN_vkCreateSamplerYcbcrConversionKHR,+ VkDestroySamplerYcbcrConversionKHR,+ pattern VkDestroySamplerYcbcrConversionKHR,+ HS_vkDestroySamplerYcbcrConversionKHR,+ PFN_vkDestroySamplerYcbcrConversionKHR, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkChromaLocation,- module Graphics.Vulkan.Types.Enum.VkComponentSwizzle,- module Graphics.Vulkan.Types.Enum.VkFilter,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion,- module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.ComponentSwizzle,+ module Graphics.Vulkan.Types.Enum.Filter,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- module Graphics.Vulkan.Types.Struct.VkComponentMapping,- module Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.ComponentMapping, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,@@ -123,115 +123,103 @@ -- ** Required extensions: 'VK_EXT_debug_report', 'VK_KHR_maintenance1', 'VK_KHR_bind_memory2', 'VK_KHR_get_memory_requirements2', 'VK_KHR_get_physical_device_properties2'. pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,- pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,- pattern VK_FORMAT_B16G16R16G16_422_UNORM,- pattern VK_FORMAT_B8G8R8G8_422_UNORM,- pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,- pattern VK_FORMAT_FEATURE_DISJOINT_BIT,- pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,- pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,- pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,- pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,- pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,- pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,- pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,- pattern VK_FORMAT_G16B16G16R16_422_UNORM,- pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,- pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,- pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,- pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,- pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,- pattern VK_FORMAT_G8B8G8R8_422_UNORM,- pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,- pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,- pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,- pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,- pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,- pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,- pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,- pattern VK_FORMAT_R10X6_UNORM_PACK16,- pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,- pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,- pattern VK_FORMAT_R12X4_UNORM_PACK16,- pattern VK_IMAGE_ASPECT_PLANE_0_BIT,- pattern VK_IMAGE_ASPECT_PLANE_1_BIT,- pattern VK_IMAGE_ASPECT_PLANE_2_BIT,- pattern VK_IMAGE_CREATE_DISJOINT_BIT,- pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,- pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,- pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO)-import Graphics.Vulkan.Ext.VK_EXT_debug_report- (pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,+ pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,+ pattern VK_FORMAT_B16G16R16G16_422_UNORM,+ pattern VK_FORMAT_B8G8R8G8_422_UNORM,+ pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,+ pattern VK_FORMAT_FEATURE_DISJOINT_BIT,+ pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,+ pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,+ pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,+ pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,+ pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,+ pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,+ pattern VK_FORMAT_G16B16G16R16_422_UNORM,+ pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,+ pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,+ pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,+ pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,+ pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,+ pattern VK_FORMAT_G8B8G8R8_422_UNORM,+ pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,+ pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,+ pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,+ pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,+ pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,+ pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,+ pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16,+ pattern VK_FORMAT_R10X6_UNORM_PACK16,+ pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,+ pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16,+ pattern VK_FORMAT_R12X4_UNORM_PACK16,+ pattern VK_IMAGE_ASPECT_PLANE_0_BIT,+ pattern VK_IMAGE_ASPECT_PLANE_1_BIT,+ pattern VK_IMAGE_ASPECT_PLANE_2_BIT,+ pattern VK_IMAGE_CREATE_DISJOINT_BIT,+ pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,+ pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,+ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,+ pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,+ pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,+ pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO)+import Graphics.Vulkan.Ext.VK_EXT_debug_report (pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkChromaLocation-import Graphics.Vulkan.Types.Enum.VkChromaLocationKHR-import Graphics.Vulkan.Types.Enum.VkComponentSwizzle-import Graphics.Vulkan.Types.Enum.VkFilter-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.ChromaLocation+import Graphics.Vulkan.Types.Enum.ComponentSwizzle+import Graphics.Vulkan.Types.Enum.Filter+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.Sampler+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkBindImagePlaneMemoryInfoKHR-import Graphics.Vulkan.Types.Struct.VkComponentMapping-import Graphics.Vulkan.Types.Struct.VkImagePlaneMemoryRequirementsInfoKHR-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfo-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionImageFormatPropertiesKHR-import Graphics.Vulkan.Types.Struct.VkSamplerYcbcrConversionInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.ComponentMapping+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.PhysicalDevice+import Graphics.Vulkan.Types.Struct.Sampler --- | This is an alias for `vkCreateSamplerYcbcrConversion`.------ Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateSamplerYcbcrConversionKHR--- > ( VkDevice device--- > , const VkSamplerYcbcrConversionCreateInfo* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSamplerYcbcrConversion* pYcbcrConversion--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSamplerYcbcrConversion"- vkCreateSamplerYcbcrConversionKHR ::- VkDevice -- ^ device- ->- Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion- -> IO VkResult+pattern VkCreateSamplerYcbcrConversionKHR :: CString +pattern VkCreateSamplerYcbcrConversionKHR <-+ (is_VkCreateSamplerYcbcrConversionKHR -> True)+ where VkCreateSamplerYcbcrConversionKHR+ = _VkCreateSamplerYcbcrConversionKHR++{-# INLINE _VkCreateSamplerYcbcrConversionKHR #-}++_VkCreateSamplerYcbcrConversionKHR :: CString+_VkCreateSamplerYcbcrConversionKHR+ = Ptr "vkCreateSamplerYcbcrConversionKHR\NUL"#++{-# INLINE is_VkCreateSamplerYcbcrConversionKHR #-}++is_VkCreateSamplerYcbcrConversionKHR :: CString -> Bool+is_VkCreateSamplerYcbcrConversionKHR+ = (EQ ==) . cmpCStrings _VkCreateSamplerYcbcrConversionKHR++type VkCreateSamplerYcbcrConversionKHR =+ "vkCreateSamplerYcbcrConversionKHR"+ -- | This is an alias for `vkCreateSamplerYcbcrConversion`. -- -- Success codes: 'VK_SUCCESS'.@@ -245,51 +233,90 @@ -- > , VkSamplerYcbcrConversion* pYcbcrConversion -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSamplerYcbcrConversionKHR.html vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>-foreign import ccall safe "vkCreateSamplerYcbcrConversion"- vkCreateSamplerYcbcrConversionKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR registry at www.khronos.org>+type HS_vkCreateSamplerYcbcrConversionKHR =+ VkDevice -- ^ device+ ->+ Ptr VkSamplerYcbcrConversionCreateInfo -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkSamplerYcbcrConversion -- ^ pYcbcrConversion+ -> IO VkResult --- | This is an alias for `vkDestroySamplerYcbcrConversion`.------ > () vkDestroySamplerYcbcrConversionKHR--- > ( VkDevice device--- > , VkSamplerYcbcrConversion ycbcrConversion--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySamplerYcbcrConversion"- vkDestroySamplerYcbcrConversionKHR ::- VkDevice -- ^ device- ->- VkSamplerYcbcrConversion -- ^ ycbcrConversion- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateSamplerYcbcrConversionKHR =+ FunPtr HS_vkCreateSamplerYcbcrConversionKHR +foreign import ccall "dynamic"+ unwrapVkCreateSamplerYcbcrConversionKHR ::+ PFN_vkCreateSamplerYcbcrConversionKHR ->+ HS_vkCreateSamplerYcbcrConversionKHR++instance VulkanProc "vkCreateSamplerYcbcrConversionKHR" where+ type VkProcType "vkCreateSamplerYcbcrConversionKHR" =+ HS_vkCreateSamplerYcbcrConversionKHR+ vkProcSymbol = _VkCreateSamplerYcbcrConversionKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateSamplerYcbcrConversionKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroySamplerYcbcrConversionKHR :: CString++pattern VkDestroySamplerYcbcrConversionKHR <-+ (is_VkDestroySamplerYcbcrConversionKHR -> True)+ where VkDestroySamplerYcbcrConversionKHR+ = _VkDestroySamplerYcbcrConversionKHR++{-# INLINE _VkDestroySamplerYcbcrConversionKHR #-}++_VkDestroySamplerYcbcrConversionKHR :: CString+_VkDestroySamplerYcbcrConversionKHR+ = Ptr "vkDestroySamplerYcbcrConversionKHR\NUL"#++{-# INLINE is_VkDestroySamplerYcbcrConversionKHR #-}++is_VkDestroySamplerYcbcrConversionKHR :: CString -> Bool+is_VkDestroySamplerYcbcrConversionKHR+ = (EQ ==) . cmpCStrings _VkDestroySamplerYcbcrConversionKHR++type VkDestroySamplerYcbcrConversionKHR =+ "vkDestroySamplerYcbcrConversionKHR"+ -- | This is an alias for `vkDestroySamplerYcbcrConversion`. ----- > () vkDestroySamplerYcbcrConversionKHR+-- > void vkDestroySamplerYcbcrConversionKHR -- > ( VkDevice device -- > , VkSamplerYcbcrConversion ycbcrConversion -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySamplerYcbcrConversionKHR.html vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>-foreign import ccall safe "vkDestroySamplerYcbcrConversion"- vkDestroySamplerYcbcrConversionKHRSafe ::- VkDevice -- ^ device- ->- VkSamplerYcbcrConversion -- ^ ycbcrConversion- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR registry at www.khronos.org>+type HS_vkDestroySamplerYcbcrConversionKHR =+ VkDevice -- ^ device+ ->+ VkSamplerYcbcrConversion -- ^ ycbcrConversion+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroySamplerYcbcrConversionKHR =+ FunPtr HS_vkDestroySamplerYcbcrConversionKHR++foreign import ccall "dynamic"+ unwrapVkDestroySamplerYcbcrConversionKHR ::+ PFN_vkDestroySamplerYcbcrConversionKHR ->+ HS_vkDestroySamplerYcbcrConversionKHR++instance VulkanProc "vkDestroySamplerYcbcrConversionKHR" where+ type VkProcType "vkDestroySamplerYcbcrConversionKHR" =+ HS_vkDestroySamplerYcbcrConversionKHR+ vkProcSymbol = _VkDestroySamplerYcbcrConversionKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroySamplerYcbcrConversionKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image (-- * Vulkan extension: @VK_KHR_shared_presentable_image@@@ -23,18 +26,18 @@ -- -- ** Required extensions: 'VK_KHR_swapchain', 'VK_KHR_get_physical_device_properties2', 'VK_KHR_get_surface_capabilities2'.- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkExtent2D,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Struct.Extent, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkSharedPresentSurfaceCapabilitiesKHR,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR,- module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- -- > #include "vk_platform.h"- vkGetSwapchainStatusKHR, vkGetSwapchainStatusKHRSafe,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Surface,+ module Graphics.Vulkan.Types.Enum.Surface, -- > #include "vk_platform.h"+ VkGetSwapchainStatusKHR,+ pattern VkGetSwapchainStatusKHR, HS_vkGetSwapchainStatusKHR,+ PFN_vkGetSwapchainStatusKHR,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION, pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION,@@ -46,40 +49,42 @@ pattern VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR) where import GHC.Ptr- (Ptr (..))+ (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+ (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkImageLayout- (VkImageLayout (..))-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkPresentModeKHR- (VkPresentModeKHR (..))-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.PresentModeKHR+ (VkPresentModeKHR (..))+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkSharedPresentSurfaceCapabilitiesKHR-import Graphics.Vulkan.Types.Struct.VkSurfaceCapabilities2KHR-import Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR+import Graphics.Vulkan.Types.Struct.Surface --- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetSwapchainStatusKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainStatusKHR.html vkGetSwapchainStatusKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetSwapchainStatusKHR"- vkGetSwapchainStatusKHR ::- VkDevice -- ^ device- -> VkSwapchainKHR -- ^ swapchain- -> IO VkResult+pattern VkGetSwapchainStatusKHR :: CString +pattern VkGetSwapchainStatusKHR <-+ (is_VkGetSwapchainStatusKHR -> True)+ where VkGetSwapchainStatusKHR = _VkGetSwapchainStatusKHR++{-# INLINE _VkGetSwapchainStatusKHR #-}++_VkGetSwapchainStatusKHR :: CString+_VkGetSwapchainStatusKHR = Ptr "vkGetSwapchainStatusKHR\NUL"#++{-# INLINE is_VkGetSwapchainStatusKHR #-}++is_VkGetSwapchainStatusKHR :: CString -> Bool+is_VkGetSwapchainStatusKHR+ = (EQ ==) . cmpCStrings _VkGetSwapchainStatusKHR++type VkGetSwapchainStatusKHR = "vkGetSwapchainStatusKHR"+ -- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.@@ -89,12 +94,27 @@ -- > , VkSwapchainKHR swapchain -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainStatusKHR.html vkGetSwapchainStatusKHR registry at www.khronos.org>-foreign import ccall safe "vkGetSwapchainStatusKHR"- vkGetSwapchainStatusKHRSafe ::- VkDevice -- ^ device- -> VkSwapchainKHR -- ^ swapchain- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR registry at www.khronos.org>+type HS_vkGetSwapchainStatusKHR =+ VkDevice -- ^ device+ -> VkSwapchainKHR -- ^ swapchain+ -> IO VkResult++type PFN_vkGetSwapchainStatusKHR =+ FunPtr HS_vkGetSwapchainStatusKHR++foreign import ccall "dynamic" unwrapVkGetSwapchainStatusKHR ::+ PFN_vkGetSwapchainStatusKHR -> HS_vkGetSwapchainStatusKHR++instance VulkanProc "vkGetSwapchainStatusKHR" where+ type VkProcType "vkGetSwapchainStatusKHR" =+ HS_vkGetSwapchainStatusKHR+ vkProcSymbol = _VkGetSwapchainStatusKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetSwapchainStatusKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,16 @@ {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-}+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_surface (-- * Vulkan extension: @VK_KHR_surface@@@ -19,32 +25,49 @@ -- type: @instance@ -- -- Extension number: @1@+ VkDestroySurfaceKHR, pattern VkDestroySurfaceKHR,+ HS_vkDestroySurfaceKHR, PFN_vkDestroySurfaceKHR, vkDestroySurfaceKHR, vkDestroySurfaceKHRSafe,+ VkGetPhysicalDeviceSurfaceSupportKHR,+ pattern VkGetPhysicalDeviceSurfaceSupportKHR,+ HS_vkGetPhysicalDeviceSurfaceSupportKHR,+ PFN_vkGetPhysicalDeviceSurfaceSupportKHR, vkGetPhysicalDeviceSurfaceSupportKHR, vkGetPhysicalDeviceSurfaceSupportKHRSafe,+ VkGetPhysicalDeviceSurfaceCapabilitiesKHR,+ pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR,+ HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR,+ PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR, vkGetPhysicalDeviceSurfaceCapabilitiesKHR, vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe,+ VkGetPhysicalDeviceSurfaceFormatsKHR,+ pattern VkGetPhysicalDeviceSurfaceFormatsKHR,+ HS_vkGetPhysicalDeviceSurfaceFormatsKHR,+ PFN_vkGetPhysicalDeviceSurfaceFormatsKHR, vkGetPhysicalDeviceSurfaceFormatsKHR, vkGetPhysicalDeviceSurfaceFormatsKHRSafe,+ VkGetPhysicalDeviceSurfacePresentModesKHR,+ pattern VkGetPhysicalDeviceSurfacePresentModesKHR,+ HS_vkGetPhysicalDeviceSurfacePresentModesKHR,+ PFN_vkGetPhysicalDeviceSurfacePresentModesKHR, vkGetPhysicalDeviceSurfacePresentModesKHR, vkGetPhysicalDeviceSurfacePresentModesKHRSafe, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.PresentModeKHR,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.Surface,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR,- module Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Surface, VK_KHR_SURFACE_SPEC_VERSION, pattern VK_KHR_SURFACE_SPEC_VERSION, VK_KHR_SURFACE_EXTENSION_NAME, pattern VK_KHR_SURFACE_EXTENSION_NAME,@@ -53,33 +76,57 @@ pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR, pattern VK_OBJECT_TYPE_SURFACE_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectType (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkPresentModeKHR-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.PresentModeKHR+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.Surface+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkSurfaceCapabilitiesKHR-import Graphics.Vulkan.Types.Struct.VkSurfaceFormatKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Surface+import System.IO.Unsafe (unsafeDupablePerformIO) --- | > () vkDestroySurfaceKHR--- > ( VkInstance instance--- > , VkSurfaceKHR surface--- > , const VkAllocationCallbacks* pAllocator--- > )+pattern VkDestroySurfaceKHR :: CString++pattern VkDestroySurfaceKHR <- (is_VkDestroySurfaceKHR -> True)+ where VkDestroySurfaceKHR = _VkDestroySurfaceKHR++{-# INLINE _VkDestroySurfaceKHR #-}++_VkDestroySurfaceKHR :: CString+_VkDestroySurfaceKHR = Ptr "vkDestroySurfaceKHR\NUL"#++{-# INLINE is_VkDestroySurfaceKHR #-}++is_VkDestroySurfaceKHR :: CString -> Bool+is_VkDestroySurfaceKHR = (EQ ==) . cmpCStrings _VkDestroySurfaceKHR++type VkDestroySurfaceKHR = "vkDestroySurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySurfaceKHR+-- > ( VkInstance instance+-- > , VkSurfaceKHR surface+-- > , const VkAllocationCallbacks* pAllocator+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySurfaceKHR.html vkDestroySurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySurfaceKHR vkDestroySurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkDestroySurfaceKHR" vkDestroySurfaceKHR :: VkInstance -- ^ instance@@ -87,13 +134,52 @@ -> Ptr VkAllocationCallbacks -- ^ pAllocator -> IO () --- | > () vkDestroySurfaceKHR--- > ( VkInstance instance--- > , VkSurfaceKHR surface--- > , const VkAllocationCallbacks* pAllocator--- > )+#else+-- |+-- > void vkDestroySurfaceKHR+-- > ( VkInstance instance+-- > , VkSurfaceKHR surface+-- > , const VkAllocationCallbacks* pAllocator+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySurfaceKHR.html vkDestroySurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySurfaceKHR vkDestroySurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySurfaceKHRSafe@ and @vkDestroySurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySurfaceKHR <- vkGetInstanceProc @VkDestroySurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR+--+vkDestroySurfaceKHR ::+ VkInstance -- ^ instance+ -> VkSurfaceKHR -- ^ surface+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkDestroySurfaceKHR)++{-# NOINLINE vkDestroySurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySurfaceKHR+-- > ( VkInstance instance+-- > , VkSurfaceKHR surface+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySurfaceKHR vkDestroySurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkDestroySurfaceKHR" vkDestroySurfaceKHRSafe :: VkInstance -- ^ instance@@ -101,18 +187,105 @@ -> Ptr VkAllocationCallbacks -- ^ pAllocator -> IO () --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- > void vkDestroySurfaceKHR+-- > ( VkInstance instance+-- > , VkSurfaceKHR surface+-- > , const VkAllocationCallbacks* pAllocator+-- > ) ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySurfaceKHR vkDestroySurfaceKHR registry at www.khronos.org> ----- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySurfaceKHRSafe@ and @vkDestroySurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySurfaceKHR <- vkGetInstanceProc @VkDestroySurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myDestroySurfaceKHR <- vkGetProc @VkDestroySurfaceKHR+--+vkDestroySurfaceKHRSafe ::+ VkInstance -- ^ instance+ -> VkSurfaceKHR -- ^ surface+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySurfaceKHRSafe = vkDestroySurfaceKHR++{-# INLINE vkDestroySurfaceKHRSafe #-}+#endif++-- | > void vkDestroySurfaceKHR+-- > ( VkInstance instance -- > , VkSurfaceKHR surface--- > , VkBool32* pSupported+-- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySurfaceKHR vkDestroySurfaceKHR registry at www.khronos.org>+type HS_vkDestroySurfaceKHR =+ VkInstance -- ^ instance+ -> VkSurfaceKHR -- ^ surface+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroySurfaceKHR = FunPtr HS_vkDestroySurfaceKHR++foreign import ccall "dynamic" unwrapVkDestroySurfaceKHR ::+ PFN_vkDestroySurfaceKHR -> HS_vkDestroySurfaceKHR++instance VulkanProc "vkDestroySurfaceKHR" where+ type VkProcType "vkDestroySurfaceKHR" = HS_vkDestroySurfaceKHR+ vkProcSymbol = _VkDestroySurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroySurfaceKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSurfaceSupportKHR :: CString++pattern VkGetPhysicalDeviceSurfaceSupportKHR <-+ (is_VkGetPhysicalDeviceSurfaceSupportKHR -> True)+ where VkGetPhysicalDeviceSurfaceSupportKHR+ = _VkGetPhysicalDeviceSurfaceSupportKHR++{-# INLINE _VkGetPhysicalDeviceSurfaceSupportKHR #-}++_VkGetPhysicalDeviceSurfaceSupportKHR :: CString+_VkGetPhysicalDeviceSurfaceSupportKHR+ = Ptr "vkGetPhysicalDeviceSurfaceSupportKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfaceSupportKHR #-}++is_VkGetPhysicalDeviceSurfaceSupportKHR :: CString -> Bool+is_VkGetPhysicalDeviceSurfaceSupportKHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfaceSupportKHR++type VkGetPhysicalDeviceSurfaceSupportKHR =+ "vkGetPhysicalDeviceSurfaceSupportKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , VkSurfaceKHR surface+-- > , VkBool32* pSupported+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceSupportKHR" vkGetPhysicalDeviceSurfaceSupportKHR :: VkPhysicalDevice -- ^ physicalDevice@@ -122,18 +295,65 @@ -> Ptr VkBool32 -- ^ pSupported -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , VkSurfaceKHR surface--- > , VkBool32* pSupported--- > )+-- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , VkSurfaceKHR surface+-- > , VkBool32* pSupported+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceSupportKHR.html vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfaceSupportKHRSafe@ and @vkGetPhysicalDeviceSurfaceSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR+--+vkGetPhysicalDeviceSurfaceSupportKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> VkSurfaceKHR -- ^ surface+ -> Ptr VkBool32 -- ^ pSupported+ -> IO VkResult+vkGetPhysicalDeviceSurfaceSupportKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR)++{-# NOINLINE vkGetPhysicalDeviceSurfaceSupportKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , VkSurfaceKHR surface+-- > , VkBool32* pSupported+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceSurfaceSupportKHR" vkGetPhysicalDeviceSurfaceSupportKHRSafe :: VkPhysicalDevice -- ^ physicalDevice@@ -143,17 +363,123 @@ -> Ptr VkBool32 -- ^ pSupported -> IO VkResult +#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , VkSurfaceKHR surface+-- > , VkBool32* pSupported+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfaceSupportKHRSafe@ and @vkGetPhysicalDeviceSurfaceSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceSupportKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceSupportKHR+--+vkGetPhysicalDeviceSurfaceSupportKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> VkSurfaceKHR -- ^ surface+ -> Ptr VkBool32 -- ^ pSupported+ -> IO VkResult+vkGetPhysicalDeviceSurfaceSupportKHRSafe+ = vkGetPhysicalDeviceSurfaceSupportKHR++{-# INLINE vkGetPhysicalDeviceSurfaceSupportKHRSafe #-}+#endif+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+-- > VkResult vkGetPhysicalDeviceSurfaceSupportKHR -- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex -- > , VkSurfaceKHR surface--- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+-- > , VkBool32* pSupported -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfaceSupportKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> VkSurfaceKHR -- ^ surface+ -> Ptr VkBool32 -- ^ pSupported+ -> IO VkResult++type PFN_vkGetPhysicalDeviceSurfaceSupportKHR =+ FunPtr HS_vkGetPhysicalDeviceSurfaceSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfaceSupportKHR ::+ PFN_vkGetPhysicalDeviceSurfaceSupportKHR ->+ HS_vkGetPhysicalDeviceSurfaceSupportKHR++instance VulkanProc "vkGetPhysicalDeviceSurfaceSupportKHR" where+ type VkProcType "vkGetPhysicalDeviceSurfaceSupportKHR" =+ HS_vkGetPhysicalDeviceSurfaceSupportKHR+ vkProcSymbol = _VkGetPhysicalDeviceSurfaceSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceSupportKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR :: CString++pattern VkGetPhysicalDeviceSurfaceCapabilitiesKHR <-+ (is_VkGetPhysicalDeviceSurfaceCapabilitiesKHR -> True)+ where VkGetPhysicalDeviceSurfaceCapabilitiesKHR+ = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR++{-# INLINE _VkGetPhysicalDeviceSurfaceCapabilitiesKHR #-}++_VkGetPhysicalDeviceSurfaceCapabilitiesKHR :: CString+_VkGetPhysicalDeviceSurfaceCapabilitiesKHR+ = Ptr "vkGetPhysicalDeviceSurfaceCapabilitiesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfaceCapabilitiesKHR #-}++is_VkGetPhysicalDeviceSurfaceCapabilitiesKHR :: CString -> Bool+is_VkGetPhysicalDeviceSurfaceCapabilitiesKHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfaceCapabilitiesKHR++type VkGetPhysicalDeviceSurfaceCapabilitiesKHR =+ "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::@@ -163,17 +489,63 @@ -> Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkSurfaceKHR surface--- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities--- > )+-- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceCapabilitiesKHR.html vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@ and @vkGetPhysicalDeviceSurfaceCapabilitiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR+--+vkGetPhysicalDeviceSurfaceCapabilitiesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities+ -> IO VkResult+vkGetPhysicalDeviceSurfaceCapabilitiesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR)++{-# NOINLINE vkGetPhysicalDeviceSurfaceCapabilitiesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe ::@@ -183,18 +555,122 @@ -> Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. --+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe@ and @vkGetPhysicalDeviceSurfaceCapabilitiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceCapabilitiesKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceCapabilitiesKHR+--+vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities+ -> IO VkResult+vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe+ = vkGetPhysicalDeviceSurfaceCapabilitiesKHR++{-# INLINE vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+-- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+-- > VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR -- > ( VkPhysicalDevice physicalDevice -- > , VkSurfaceKHR surface--- > , uint32_t* pSurfaceFormatCount--- > , VkSurfaceFormatKHR* pSurfaceFormats+-- > , VkSurfaceCapabilitiesKHR* pSurfaceCapabilities -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr VkSurfaceCapabilitiesKHR -- ^ pSurfaceCapabilities+ -> IO VkResult++type PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR =+ FunPtr HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHR ::+ PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ->+ HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR++instance VulkanProc "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"+ where+ type VkProcType "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" =+ HS_vkGetPhysicalDeviceSurfaceCapabilitiesKHR+ vkProcSymbol = _VkGetPhysicalDeviceSurfaceCapabilitiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceCapabilitiesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSurfaceFormatsKHR :: CString++pattern VkGetPhysicalDeviceSurfaceFormatsKHR <-+ (is_VkGetPhysicalDeviceSurfaceFormatsKHR -> True)+ where VkGetPhysicalDeviceSurfaceFormatsKHR+ = _VkGetPhysicalDeviceSurfaceFormatsKHR++{-# INLINE _VkGetPhysicalDeviceSurfaceFormatsKHR #-}++_VkGetPhysicalDeviceSurfaceFormatsKHR :: CString+_VkGetPhysicalDeviceSurfaceFormatsKHR+ = Ptr "vkGetPhysicalDeviceSurfaceFormatsKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfaceFormatsKHR #-}++is_VkGetPhysicalDeviceSurfaceFormatsKHR :: CString -> Bool+is_VkGetPhysicalDeviceSurfaceFormatsKHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfaceFormatsKHR++type VkGetPhysicalDeviceSurfaceFormatsKHR =+ "vkGetPhysicalDeviceSurfaceFormatsKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pSurfaceFormatCount+-- > , VkSurfaceFormatKHR* pSurfaceFormats+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceSurfaceFormatsKHR" vkGetPhysicalDeviceSurfaceFormatsKHR :: VkPhysicalDevice -- ^ physicalDevice@@ -204,18 +680,66 @@ -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkSurfaceKHR surface--- > , uint32_t* pSurfaceFormatCount--- > , VkSurfaceFormatKHR* pSurfaceFormats--- > )+-- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pSurfaceFormatCount+-- > , VkSurfaceFormatKHR* pSurfaceFormats+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfaceFormatsKHR.html vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@ and @vkGetPhysicalDeviceSurfaceFormatsKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceFormatsKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR+--+vkGetPhysicalDeviceSurfaceFormatsKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr Word32 -- ^ pSurfaceFormatCount+ -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats+ -> IO VkResult+vkGetPhysicalDeviceSurfaceFormatsKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR)++{-# NOINLINE vkGetPhysicalDeviceSurfaceFormatsKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pSurfaceFormatCount+-- > , VkSurfaceFormatKHR* pSurfaceFormats+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceSurfaceFormatsKHR" vkGetPhysicalDeviceSurfaceFormatsKHRSafe :: VkPhysicalDevice -- ^ physicalDevice@@ -225,18 +749,125 @@ -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats -> IO VkResult +#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pSurfaceFormatCount+-- > , VkSurfaceFormatKHR* pSurfaceFormats+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfaceFormatsKHRSafe@ and @vkGetPhysicalDeviceSurfaceFormatsKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfaceFormatsKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfaceFormatsKHR <- vkGetProc @VkGetPhysicalDeviceSurfaceFormatsKHR+--+vkGetPhysicalDeviceSurfaceFormatsKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr Word32 -- ^ pSurfaceFormatCount+ -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats+ -> IO VkResult+vkGetPhysicalDeviceSurfaceFormatsKHRSafe+ = vkGetPhysicalDeviceSurfaceFormatsKHR++{-# INLINE vkGetPhysicalDeviceSurfaceFormatsKHRSafe #-}+#endif+ -- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- > VkResult vkGetPhysicalDeviceSurfaceFormatsKHR -- > ( VkPhysicalDevice physicalDevice -- > , VkSurfaceKHR surface--- > , uint32_t* pPresentModeCount--- > , VkPresentModeKHR* pPresentModes+-- > , uint32_t* pSurfaceFormatCount+-- > , VkSurfaceFormatKHR* pSurfaceFormats -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfaceFormatsKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr Word32 -- ^ pSurfaceFormatCount+ -> Ptr VkSurfaceFormatKHR -- ^ pSurfaceFormats+ -> IO VkResult++type PFN_vkGetPhysicalDeviceSurfaceFormatsKHR =+ FunPtr HS_vkGetPhysicalDeviceSurfaceFormatsKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfaceFormatsKHR ::+ PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ->+ HS_vkGetPhysicalDeviceSurfaceFormatsKHR++instance VulkanProc "vkGetPhysicalDeviceSurfaceFormatsKHR" where+ type VkProcType "vkGetPhysicalDeviceSurfaceFormatsKHR" =+ HS_vkGetPhysicalDeviceSurfaceFormatsKHR+ vkProcSymbol = _VkGetPhysicalDeviceSurfaceFormatsKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfaceFormatsKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceSurfacePresentModesKHR :: CString++pattern VkGetPhysicalDeviceSurfacePresentModesKHR <-+ (is_VkGetPhysicalDeviceSurfacePresentModesKHR -> True)+ where VkGetPhysicalDeviceSurfacePresentModesKHR+ = _VkGetPhysicalDeviceSurfacePresentModesKHR++{-# INLINE _VkGetPhysicalDeviceSurfacePresentModesKHR #-}++_VkGetPhysicalDeviceSurfacePresentModesKHR :: CString+_VkGetPhysicalDeviceSurfacePresentModesKHR+ = Ptr "vkGetPhysicalDeviceSurfacePresentModesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceSurfacePresentModesKHR #-}++is_VkGetPhysicalDeviceSurfacePresentModesKHR :: CString -> Bool+is_VkGetPhysicalDeviceSurfacePresentModesKHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDeviceSurfacePresentModesKHR++type VkGetPhysicalDeviceSurfacePresentModesKHR =+ "vkGetPhysicalDeviceSurfacePresentModesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pPresentModeCount+-- > , VkPresentModeKHR* pPresentModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceSurfacePresentModesKHR" vkGetPhysicalDeviceSurfacePresentModesKHR ::@@ -247,18 +878,66 @@ -> Ptr VkPresentModeKHR -- ^ pPresentModes -> IO VkResult --- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'. ----- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkSurfaceKHR surface--- > , uint32_t* pPresentModeCount--- > , VkPresentModeKHR* pPresentModes--- > )+-- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pPresentModeCount+-- > , VkPresentModeKHR* pPresentModes+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceSurfacePresentModesKHR.html vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@ and @vkGetPhysicalDeviceSurfacePresentModesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfacePresentModesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR+--+vkGetPhysicalDeviceSurfacePresentModesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr Word32 -- ^ pPresentModeCount+ -> Ptr VkPresentModeKHR -- ^ pPresentModes+ -> IO VkResult+vkGetPhysicalDeviceSurfacePresentModesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR)++{-# NOINLINE vkGetPhysicalDeviceSurfacePresentModesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pPresentModeCount+-- > , VkPresentModeKHR* pPresentModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceSurfacePresentModesKHR" vkGetPhysicalDeviceSurfacePresentModesKHRSafe ::@@ -268,6 +947,86 @@ -> Ptr Word32 -- ^ pPresentModeCount -> Ptr VkPresentModeKHR -- ^ pPresentModes -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pPresentModeCount+-- > , VkPresentModeKHR* pPresentModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceSurfacePresentModesKHRSafe@ and @vkGetPhysicalDeviceSurfacePresentModesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetInstanceProc @VkGetPhysicalDeviceSurfacePresentModesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceSurfacePresentModesKHR <- vkGetProc @VkGetPhysicalDeviceSurfacePresentModesKHR+--+vkGetPhysicalDeviceSurfacePresentModesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr Word32 -- ^ pPresentModeCount+ -> Ptr VkPresentModeKHR -- ^ pPresentModes+ -> IO VkResult+vkGetPhysicalDeviceSurfacePresentModesKHRSafe+ = vkGetPhysicalDeviceSurfacePresentModesKHR++{-# INLINE vkGetPhysicalDeviceSurfacePresentModesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetPhysicalDeviceSurfacePresentModesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pPresentModeCount+-- > , VkPresentModeKHR* pPresentModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceSurfacePresentModesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr Word32 -- ^ pPresentModeCount+ -> Ptr VkPresentModeKHR -- ^ pPresentModes+ -> IO VkResult++type PFN_vkGetPhysicalDeviceSurfacePresentModesKHR =+ FunPtr HS_vkGetPhysicalDeviceSurfacePresentModesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceSurfacePresentModesKHR ::+ PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ->+ HS_vkGetPhysicalDeviceSurfacePresentModesKHR++instance VulkanProc "vkGetPhysicalDeviceSurfacePresentModesKHR"+ where+ type VkProcType "vkGetPhysicalDeviceSurfacePresentModesKHR" =+ HS_vkGetPhysicalDeviceSurfacePresentModesKHR+ vkProcSymbol = _VkGetPhysicalDeviceSurfacePresentModesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDeviceSurfacePresentModesKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,542 +1,1832 @@-{-# OPTIONS_GHC -fno-warn-unused-imports#-}-{-# OPTIONS_HADDOCK not-home#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE ForeignFunctionInterface #-}-{-# LANGUAGE MagicHash #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE ViewPatterns #-}-module Graphics.Vulkan.Ext.VK_KHR_swapchain- (-- * Vulkan extension: @VK_KHR_swapchain@- -- |- --- -- supported: @vulkan@- --- -- contact: @James Jones @cubanismo,Ian Elliott ianelliott@google.com@- --- -- author: @KHR@- --- -- type: @device@- --- -- Extension number: @2@- --- -- Required extensions: 'VK_KHR_surface'.- ---- -- ** Required extensions: 'VK_KHR_surface'.- vkCreateSwapchainKHR, vkCreateSwapchainKHRSafe,- vkDestroySwapchainKHR, vkDestroySwapchainKHRSafe,- vkGetSwapchainImagesKHR, vkGetSwapchainImagesKHRSafe,- vkAcquireNextImageKHR, vkAcquireNextImageKHRSafe,- vkQueuePresentKHR, vkQueuePresentKHRSafe,- module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR,- module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkPresentModeKHR,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,- module Graphics.Vulkan.Types.Funcpointers,- module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkPresentInfoKHR,- module Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR,- VK_KHR_SWAPCHAIN_SPEC_VERSION,- pattern VK_KHR_SWAPCHAIN_SPEC_VERSION,- VK_KHR_SWAPCHAIN_EXTENSION_NAME,- pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME,- pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,- pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,- pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, pattern VK_SUBOPTIMAL_KHR,- pattern VK_ERROR_OUT_OF_DATE_KHR,- pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR,- -- ** Required extensions: 'VK_KHR_surface'.- module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR,- module Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo,- module Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR,- module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR,- module Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- -- > #include "vk_platform.h"- vkGetDeviceGroupPresentCapabilitiesKHR,- vkGetDeviceGroupPresentCapabilitiesKHRSafe,- vkGetDeviceGroupSurfacePresentModesKHR,- vkGetDeviceGroupSurfacePresentModesKHRSafe,- vkGetPhysicalDevicePresentRectanglesKHR,- vkGetPhysicalDevicePresentRectanglesKHRSafe,- vkAcquireNextImage2KHR, vkAcquireNextImage2KHRSafe,- module Graphics.Vulkan.Types.Struct.VkOffset2D,- module Graphics.Vulkan.Types.Struct.VkRect2D,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,- pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,- pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,- pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,- pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,- pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,- pattern VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR)- where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkColorSpaceKHR-import Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR-import Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectType- (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkPresentModeKHR-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope-import Graphics.Vulkan.Types.Funcpointers-import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkBindImageMemoryInfo-import Graphics.Vulkan.Types.Struct.VkBindImageMemorySwapchainInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentCapabilitiesKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkDeviceGroupSwapchainCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkImageSwapchainCreateInfoKHR-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPresentInfoKHR-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkSwapchainCreateInfoKHR---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.------ > VkResult vkCreateSwapchainKHR--- > ( VkDevice device--- > , const VkSwapchainCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSwapchainKHR* pSwapchain--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSwapchainKHR.html vkCreateSwapchainKHR registry at www.khronos.org>-foreign import ccall unsafe "vkCreateSwapchainKHR"- vkCreateSwapchainKHR ::- VkDevice -- ^ device- ->- Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSwapchainKHR -- ^ pSwapchain- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.------ > VkResult vkCreateSwapchainKHR--- > ( VkDevice device--- > , const VkSwapchainCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSwapchainKHR* pSwapchain--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateSwapchainKHR.html vkCreateSwapchainKHR registry at www.khronos.org>-foreign import ccall safe "vkCreateSwapchainKHR"- vkCreateSwapchainKHRSafe ::- VkDevice -- ^ device- ->- Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSwapchainKHR -- ^ pSwapchain- -> IO VkResult---- | > () vkDestroySwapchainKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySwapchainKHR.html vkDestroySwapchainKHR registry at www.khronos.org>-foreign import ccall unsafe "vkDestroySwapchainKHR"- vkDestroySwapchainKHR ::- VkDevice -- ^ device- -> VkSwapchainKHR -- ^ swapchain- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | > () vkDestroySwapchainKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroySwapchainKHR.html vkDestroySwapchainKHR registry at www.khronos.org>-foreign import ccall safe "vkDestroySwapchainKHR"- vkDestroySwapchainKHRSafe ::- VkDevice -- ^ device- -> VkSwapchainKHR -- ^ swapchain- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetSwapchainImagesKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , uint32_t* pSwapchainImageCount--- > , VkImage* pSwapchainImages--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainImagesKHR.html vkGetSwapchainImagesKHR registry at www.khronos.org>-foreign import ccall unsafe "vkGetSwapchainImagesKHR"- vkGetSwapchainImagesKHR ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- -> Ptr Word32 -- ^ pSwapchainImageCount- -> Ptr VkImage -- ^ pSwapchainImages- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetSwapchainImagesKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , uint32_t* pSwapchainImageCount--- > , VkImage* pSwapchainImages--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetSwapchainImagesKHR.html vkGetSwapchainImagesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetSwapchainImagesKHR"- vkGetSwapchainImagesKHRSafe ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- -> Ptr Word32 -- ^ pSwapchainImageCount- -> Ptr VkImage -- ^ pSwapchainImages- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkAcquireNextImageKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , uint64_t timeout--- > , VkSemaphore semaphore--- > , VkFence fence--- > , uint32_t* pImageIndex--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImageKHR.html vkAcquireNextImageKHR registry at www.khronos.org>-foreign import ccall unsafe "vkAcquireNextImageKHR"- vkAcquireNextImageKHR ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- ->- Word64 -- ^ timeout- -> VkSemaphore -- ^ semaphore- -> VkFence -- ^ fence- -> Ptr Word32 -- ^ pImageIndex- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkAcquireNextImageKHR--- > ( VkDevice device--- > , VkSwapchainKHR swapchain--- > , uint64_t timeout--- > , VkSemaphore semaphore--- > , VkFence fence--- > , uint32_t* pImageIndex--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImageKHR.html vkAcquireNextImageKHR registry at www.khronos.org>-foreign import ccall safe "vkAcquireNextImageKHR"- vkAcquireNextImageKHRSafe ::- VkDevice -- ^ device- ->- VkSwapchainKHR -- ^ swapchain- ->- Word64 -- ^ timeout- -> VkSemaphore -- ^ semaphore- -> VkFence -- ^ fence- -> Ptr Word32 -- ^ pImageIndex- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkQueuePresentKHR--- > ( VkQueue queue--- > , const VkPresentInfoKHR* pPresentInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueuePresentKHR.html vkQueuePresentKHR registry at www.khronos.org>-foreign import ccall unsafe "vkQueuePresentKHR" vkQueuePresentKHR- :: VkQueue -- ^ queue- -> Ptr VkPresentInfoKHR -- ^ pPresentInfo- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkQueuePresentKHR--- > ( VkQueue queue--- > , const VkPresentInfoKHR* pPresentInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkQueuePresentKHR.html vkQueuePresentKHR registry at www.khronos.org>-foreign import ccall safe "vkQueuePresentKHR" vkQueuePresentKHRSafe- :: VkQueue -- ^ queue- -> Ptr VkPresentInfoKHR -- ^ pPresentInfo- -> IO VkResult--pattern VK_KHR_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a--pattern VK_KHR_SWAPCHAIN_SPEC_VERSION = 70--type VK_KHR_SWAPCHAIN_SPEC_VERSION = 70--pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString--pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME <-- (is_VK_KHR_SWAPCHAIN_EXTENSION_NAME -> True)- where VK_KHR_SWAPCHAIN_EXTENSION_NAME- = _VK_KHR_SWAPCHAIN_EXTENSION_NAME--{-# INLINE _VK_KHR_SWAPCHAIN_EXTENSION_NAME #-}--_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString-_VK_KHR_SWAPCHAIN_EXTENSION_NAME = Ptr "VK_KHR_swapchain\NUL"#--{-# INLINE is_VK_KHR_SWAPCHAIN_EXTENSION_NAME #-}--is_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString -> Bool-is_VK_KHR_SWAPCHAIN_EXTENSION_NAME- = (EQ ==) . cmpCStrings _VK_KHR_SWAPCHAIN_EXTENSION_NAME--type VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain"--pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR ::- VkStructureType--pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR =- VkStructureType 1000001000--pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR :: VkStructureType--pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR =- VkStructureType 1000001001--pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR :: VkImageLayout--pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = VkImageLayout 1000001002--pattern VK_SUBOPTIMAL_KHR :: VkResult--pattern VK_SUBOPTIMAL_KHR = VkResult 1000001003--pattern VK_ERROR_OUT_OF_DATE_KHR :: VkResult--pattern VK_ERROR_OUT_OF_DATE_KHR = VkResult (-1000001004)---- | VkSwapchainKHR-pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR :: VkObjectType--pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR = VkObjectType 1000001000---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDeviceGroupPresentCapabilitiesKHR--- > ( VkDevice device--- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetDeviceGroupPresentCapabilitiesKHR"- vkGetDeviceGroupPresentCapabilitiesKHR ::- VkDevice -- ^ device- -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetDeviceGroupPresentCapabilitiesKHR--- > ( VkDevice device--- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupPresentCapabilitiesKHR.html vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceGroupPresentCapabilitiesKHR"- vkGetDeviceGroupPresentCapabilitiesKHRSafe ::- VkDevice -- ^ device- -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetDeviceGroupSurfacePresentModesKHR--- > ( VkDevice device--- > , VkSurfaceKHR surface--- > , VkDeviceGroupPresentModeFlagsKHR* pModes--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetDeviceGroupSurfacePresentModesKHR"- vkGetDeviceGroupSurfacePresentModesKHR ::- VkDevice -- ^ device- ->- VkSurfaceKHR -- ^ surface- -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes- -> IO VkResult---- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkGetDeviceGroupSurfacePresentModesKHR--- > ( VkDevice device--- > , VkSurfaceKHR surface--- > , VkDeviceGroupPresentModeFlagsKHR* pModes--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetDeviceGroupSurfacePresentModesKHR.html vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetDeviceGroupSurfacePresentModesKHR"- vkGetDeviceGroupSurfacePresentModesKHRSafe ::- VkDevice -- ^ device- ->- VkSurfaceKHR -- ^ surface- -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPhysicalDevicePresentRectanglesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkSurfaceKHR surface--- > , uint32_t* pRectCount--- > , VkRect2D* pRects--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDevicePresentRectanglesKHR"- vkGetPhysicalDevicePresentRectanglesKHR ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkSurfaceKHR -- ^ surface- -> Ptr Word32 -- ^ pRectCount- -> Ptr VkRect2D -- ^ pRects- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkGetPhysicalDevicePresentRectanglesKHR--- > ( VkPhysicalDevice physicalDevice--- > , VkSurfaceKHR surface--- > , uint32_t* pRectCount--- > , VkRect2D* pRects--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDevicePresentRectanglesKHR.html vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>-foreign import ccall safe "vkGetPhysicalDevicePresentRectanglesKHR"- vkGetPhysicalDevicePresentRectanglesKHRSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkSurfaceKHR -- ^ surface- -> Ptr Word32 -- ^ pRectCount- -> Ptr VkRect2D -- ^ pRects- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkAcquireNextImage2KHR--- > ( VkDevice device--- > , const VkAcquireNextImageInfoKHR* pAcquireInfo--- > , uint32_t* pImageIndex--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImage2KHR.html vkAcquireNextImage2KHR registry at www.khronos.org>-foreign import ccall unsafe "vkAcquireNextImage2KHR"- vkAcquireNextImage2KHR ::- VkDevice -- ^ device- ->- Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo- -> Ptr Word32 -- ^ pImageIndex- -> IO VkResult---- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.------ > VkResult vkAcquireNextImage2KHR--- > ( VkDevice device--- > , const VkAcquireNextImageInfoKHR* pAcquireInfo--- > , uint32_t* pImageIndex--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkAcquireNextImage2KHR.html vkAcquireNextImage2KHR registry at www.khronos.org>-foreign import ccall safe "vkAcquireNextImage2KHR"- vkAcquireNextImage2KHRSafe ::- VkDevice -- ^ device- ->- Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo- -> Ptr Word32 -- ^ pImageIndex- -> IO VkResult+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-}+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Ext.VK_KHR_swapchain+ (-- * Vulkan extension: @VK_KHR_swapchain@+ -- |+ --+ -- supported: @vulkan@+ --+ -- contact: @James Jones @cubanismo,Ian Elliott ianelliott@google.com@+ --+ -- author: @KHR@+ --+ -- type: @device@+ --+ -- Extension number: @2@+ --+ -- Required extensions: 'VK_KHR_surface'.+ --++ -- ** Required extensions: 'VK_KHR_surface'.+ VkCreateSwapchainKHR, pattern VkCreateSwapchainKHR,+ HS_vkCreateSwapchainKHR, PFN_vkCreateSwapchainKHR,+ vkCreateSwapchainKHR, vkCreateSwapchainKHRSafe,+ VkDestroySwapchainKHR, pattern VkDestroySwapchainKHR,+ HS_vkDestroySwapchainKHR, PFN_vkDestroySwapchainKHR,+ vkDestroySwapchainKHR, vkDestroySwapchainKHRSafe,+ VkGetSwapchainImagesKHR, pattern VkGetSwapchainImagesKHR,+ HS_vkGetSwapchainImagesKHR, PFN_vkGetSwapchainImagesKHR,+ vkGetSwapchainImagesKHR, vkGetSwapchainImagesKHRSafe,+ VkAcquireNextImageKHR, pattern VkAcquireNextImageKHR,+ HS_vkAcquireNextImageKHR, PFN_vkAcquireNextImageKHR,+ vkAcquireNextImageKHR, vkAcquireNextImageKHRSafe,+ VkQueuePresentKHR, pattern VkQueuePresentKHR, HS_vkQueuePresentKHR,+ PFN_vkQueuePresentKHR, vkQueuePresentKHR, vkQueuePresentKHRSafe,+ module Graphics.Vulkan.Marshal,+ module Graphics.Vulkan.Types.BaseTypes,+ module Graphics.Vulkan.Types.Enum.Color,+ module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.PresentModeKHR,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Enum.Surface,+ module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope,+ module Graphics.Vulkan.Types.Funcpointers,+ module Graphics.Vulkan.Types.Handles,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Present,+ module Graphics.Vulkan.Types.Struct.SwapchainC,+ VK_KHR_SWAPCHAIN_SPEC_VERSION,+ pattern VK_KHR_SWAPCHAIN_SPEC_VERSION,+ VK_KHR_SWAPCHAIN_EXTENSION_NAME,+ pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME,+ pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,+ pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, pattern VK_SUBOPTIMAL_KHR,+ pattern VK_ERROR_OUT_OF_DATE_KHR,+ pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR,+ -- ** Required extensions: 'VK_KHR_surface'.+ module Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR,+ module Graphics.Vulkan.Types.Struct.Bind,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.Device,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ -- > #include "vk_platform.h"+ VkGetDeviceGroupPresentCapabilitiesKHR,+ pattern VkGetDeviceGroupPresentCapabilitiesKHR,+ HS_vkGetDeviceGroupPresentCapabilitiesKHR,+ PFN_vkGetDeviceGroupPresentCapabilitiesKHR,+ vkGetDeviceGroupPresentCapabilitiesKHR,+ vkGetDeviceGroupPresentCapabilitiesKHRSafe,+ VkGetDeviceGroupSurfacePresentModesKHR,+ pattern VkGetDeviceGroupSurfacePresentModesKHR,+ HS_vkGetDeviceGroupSurfacePresentModesKHR,+ PFN_vkGetDeviceGroupSurfacePresentModesKHR,+ vkGetDeviceGroupSurfacePresentModesKHR,+ vkGetDeviceGroupSurfacePresentModesKHRSafe,+ VkGetPhysicalDevicePresentRectanglesKHR,+ pattern VkGetPhysicalDevicePresentRectanglesKHR,+ HS_vkGetPhysicalDevicePresentRectanglesKHR,+ PFN_vkGetPhysicalDevicePresentRectanglesKHR,+ vkGetPhysicalDevicePresentRectanglesKHR,+ vkGetPhysicalDevicePresentRectanglesKHRSafe,+ VkAcquireNextImage2KHR, pattern VkAcquireNextImage2KHR,+ HS_vkAcquireNextImage2KHR, PFN_vkAcquireNextImage2KHR,+ vkAcquireNextImage2KHR, vkAcquireNextImage2KHRSafe,+ module Graphics.Vulkan.Types.Struct.Offset,+ module Graphics.Vulkan.Types.Struct.Rect,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,+ pattern VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR,+ pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,+ pattern VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR,+ pattern VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc+import Graphics.Vulkan.Types.BaseTypes+import Graphics.Vulkan.Types.Enum.Color+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+import Graphics.Vulkan.Types.Enum.Device+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object (VkObjectType (..))+import Graphics.Vulkan.Types.Enum.PresentModeKHR+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Surface+import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR+import Graphics.Vulkan.Types.Enum.SystemAllocationScope+import Graphics.Vulkan.Types.Funcpointers+import Graphics.Vulkan.Types.Handles+import Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Bind+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.Present+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.SwapchainC+import System.IO.Unsafe (unsafeDupablePerformIO)++pattern VkCreateSwapchainKHR :: CString++pattern VkCreateSwapchainKHR <- (is_VkCreateSwapchainKHR -> True)+ where VkCreateSwapchainKHR = _VkCreateSwapchainKHR++{-# INLINE _VkCreateSwapchainKHR #-}++_VkCreateSwapchainKHR :: CString+_VkCreateSwapchainKHR = Ptr "vkCreateSwapchainKHR\NUL"#++{-# INLINE is_VkCreateSwapchainKHR #-}++is_VkCreateSwapchainKHR :: CString -> Bool+is_VkCreateSwapchainKHR+ = (EQ ==) . cmpCStrings _VkCreateSwapchainKHR++type VkCreateSwapchainKHR = "vkCreateSwapchainKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateSwapchainKHR+-- > ( VkDevice device+-- > , const VkSwapchainCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchain+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSwapchainKHR vkCreateSwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkCreateSwapchainKHR"+ vkCreateSwapchainKHR ::+ VkDevice -- ^ device+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchain+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateSwapchainKHR+-- > ( VkDevice device+-- > , const VkSwapchainCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchain+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSwapchainKHR vkCreateSwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSwapchainKHRSafe@ and @vkCreateSwapchainKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSwapchainKHR <- vkGetDeviceProc @VkCreateSwapchainKHR vkDevice+--+-- or less efficient:+--+-- > myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR+--+vkCreateSwapchainKHR ::+ VkDevice -- ^ device+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchain+ -> IO VkResult+vkCreateSwapchainKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateSwapchainKHR)++{-# NOINLINE vkCreateSwapchainKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateSwapchainKHR+-- > ( VkDevice device+-- > , const VkSwapchainCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchain+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSwapchainKHR vkCreateSwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkCreateSwapchainKHR"+ vkCreateSwapchainKHRSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchain+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateSwapchainKHR+-- > ( VkDevice device+-- > , const VkSwapchainCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchain+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSwapchainKHR vkCreateSwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateSwapchainKHRSafe@ and @vkCreateSwapchainKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateSwapchainKHR <- vkGetDeviceProc @VkCreateSwapchainKHR vkDevice+--+-- or less efficient:+--+-- > myCreateSwapchainKHR <- vkGetProc @VkCreateSwapchainKHR+--+vkCreateSwapchainKHRSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchain+ -> IO VkResult+vkCreateSwapchainKHRSafe = vkCreateSwapchainKHR++{-# INLINE vkCreateSwapchainKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_SURFACE_LOST_KHR', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.+--+-- > VkResult vkCreateSwapchainKHR+-- > ( VkDevice device+-- > , const VkSwapchainCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSwapchainKHR* pSwapchain+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateSwapchainKHR vkCreateSwapchainKHR registry at www.khronos.org>+type HS_vkCreateSwapchainKHR =+ VkDevice -- ^ device+ ->+ Ptr VkSwapchainCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSwapchainKHR -- ^ pSwapchain+ -> IO VkResult++type PFN_vkCreateSwapchainKHR = FunPtr HS_vkCreateSwapchainKHR++foreign import ccall "dynamic" unwrapVkCreateSwapchainKHR ::+ PFN_vkCreateSwapchainKHR -> HS_vkCreateSwapchainKHR++instance VulkanProc "vkCreateSwapchainKHR" where+ type VkProcType "vkCreateSwapchainKHR" = HS_vkCreateSwapchainKHR+ vkProcSymbol = _VkCreateSwapchainKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateSwapchainKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroySwapchainKHR :: CString++pattern VkDestroySwapchainKHR <- (is_VkDestroySwapchainKHR -> True)+ where VkDestroySwapchainKHR = _VkDestroySwapchainKHR++{-# INLINE _VkDestroySwapchainKHR #-}++_VkDestroySwapchainKHR :: CString+_VkDestroySwapchainKHR = Ptr "vkDestroySwapchainKHR\NUL"#++{-# INLINE is_VkDestroySwapchainKHR #-}++is_VkDestroySwapchainKHR :: CString -> Bool+is_VkDestroySwapchainKHR+ = (EQ ==) . cmpCStrings _VkDestroySwapchainKHR++type VkDestroySwapchainKHR = "vkDestroySwapchainKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySwapchainKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySwapchainKHR vkDestroySwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkDestroySwapchainKHR"+ vkDestroySwapchainKHR ::+ VkDevice -- ^ device+ -> VkSwapchainKHR -- ^ swapchain+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++#else+-- |+-- > void vkDestroySwapchainKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySwapchainKHR vkDestroySwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySwapchainKHRSafe@ and @vkDestroySwapchainKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySwapchainKHR <- vkGetDeviceProc @VkDestroySwapchainKHR vkDevice+--+-- or less efficient:+--+-- > myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR+--+vkDestroySwapchainKHR ::+ VkDevice -- ^ device+ -> VkSwapchainKHR -- ^ swapchain+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySwapchainKHR+ = unsafeDupablePerformIO (vkGetProc @VkDestroySwapchainKHR)++{-# NOINLINE vkDestroySwapchainKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > void vkDestroySwapchainKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySwapchainKHR vkDestroySwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkDestroySwapchainKHR"+ vkDestroySwapchainKHRSafe ::+ VkDevice -- ^ device+ -> VkSwapchainKHR -- ^ swapchain+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++#else+-- |+-- > void vkDestroySwapchainKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySwapchainKHR vkDestroySwapchainKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkDestroySwapchainKHRSafe@ and @vkDestroySwapchainKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myDestroySwapchainKHR <- vkGetDeviceProc @VkDestroySwapchainKHR vkDevice+--+-- or less efficient:+--+-- > myDestroySwapchainKHR <- vkGetProc @VkDestroySwapchainKHR+--+vkDestroySwapchainKHRSafe ::+ VkDevice -- ^ device+ -> VkSwapchainKHR -- ^ swapchain+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()+vkDestroySwapchainKHRSafe = vkDestroySwapchainKHR++{-# INLINE vkDestroySwapchainKHRSafe #-}+#endif++-- | > void vkDestroySwapchainKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , const VkAllocationCallbacks* pAllocator+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroySwapchainKHR vkDestroySwapchainKHR registry at www.khronos.org>+type HS_vkDestroySwapchainKHR =+ VkDevice -- ^ device+ -> VkSwapchainKHR -- ^ swapchain+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO ()++type PFN_vkDestroySwapchainKHR = FunPtr HS_vkDestroySwapchainKHR++foreign import ccall "dynamic" unwrapVkDestroySwapchainKHR ::+ PFN_vkDestroySwapchainKHR -> HS_vkDestroySwapchainKHR++instance VulkanProc "vkDestroySwapchainKHR" where+ type VkProcType "vkDestroySwapchainKHR" = HS_vkDestroySwapchainKHR+ vkProcSymbol = _VkDestroySwapchainKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroySwapchainKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetSwapchainImagesKHR :: CString++pattern VkGetSwapchainImagesKHR <-+ (is_VkGetSwapchainImagesKHR -> True)+ where VkGetSwapchainImagesKHR = _VkGetSwapchainImagesKHR++{-# INLINE _VkGetSwapchainImagesKHR #-}++_VkGetSwapchainImagesKHR :: CString+_VkGetSwapchainImagesKHR = Ptr "vkGetSwapchainImagesKHR\NUL"#++{-# INLINE is_VkGetSwapchainImagesKHR #-}++is_VkGetSwapchainImagesKHR :: CString -> Bool+is_VkGetSwapchainImagesKHR+ = (EQ ==) . cmpCStrings _VkGetSwapchainImagesKHR++type VkGetSwapchainImagesKHR = "vkGetSwapchainImagesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetSwapchainImagesKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint32_t* pSwapchainImageCount+-- > , VkImage* pSwapchainImages+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkGetSwapchainImagesKHR"+ vkGetSwapchainImagesKHR ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ -> Ptr Word32 -- ^ pSwapchainImageCount+ -> Ptr VkImage -- ^ pSwapchainImages+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetSwapchainImagesKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint32_t* pSwapchainImageCount+-- > , VkImage* pSwapchainImages+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetSwapchainImagesKHRSafe@ and @vkGetSwapchainImagesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetSwapchainImagesKHR <- vkGetDeviceProc @VkGetSwapchainImagesKHR vkDevice+--+-- or less efficient:+--+-- > myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR+--+vkGetSwapchainImagesKHR ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ -> Ptr Word32 -- ^ pSwapchainImageCount+ -> Ptr VkImage -- ^ pSwapchainImages+ -> IO VkResult+vkGetSwapchainImagesKHR+ = unsafeDupablePerformIO (vkGetProc @VkGetSwapchainImagesKHR)++{-# NOINLINE vkGetSwapchainImagesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetSwapchainImagesKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint32_t* pSwapchainImageCount+-- > , VkImage* pSwapchainImages+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetSwapchainImagesKHR"+ vkGetSwapchainImagesKHRSafe ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ -> Ptr Word32 -- ^ pSwapchainImageCount+ -> Ptr VkImage -- ^ pSwapchainImages+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetSwapchainImagesKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint32_t* pSwapchainImageCount+-- > , VkImage* pSwapchainImages+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetSwapchainImagesKHRSafe@ and @vkGetSwapchainImagesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetSwapchainImagesKHR <- vkGetDeviceProc @VkGetSwapchainImagesKHR vkDevice+--+-- or less efficient:+--+-- > myGetSwapchainImagesKHR <- vkGetProc @VkGetSwapchainImagesKHR+--+vkGetSwapchainImagesKHRSafe ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ -> Ptr Word32 -- ^ pSwapchainImageCount+ -> Ptr VkImage -- ^ pSwapchainImages+ -> IO VkResult+vkGetSwapchainImagesKHRSafe = vkGetSwapchainImagesKHR++{-# INLINE vkGetSwapchainImagesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetSwapchainImagesKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint32_t* pSwapchainImageCount+-- > , VkImage* pSwapchainImages+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR registry at www.khronos.org>+type HS_vkGetSwapchainImagesKHR =+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ -> Ptr Word32 -- ^ pSwapchainImageCount+ -> Ptr VkImage -- ^ pSwapchainImages+ -> IO VkResult++type PFN_vkGetSwapchainImagesKHR =+ FunPtr HS_vkGetSwapchainImagesKHR++foreign import ccall "dynamic" unwrapVkGetSwapchainImagesKHR ::+ PFN_vkGetSwapchainImagesKHR -> HS_vkGetSwapchainImagesKHR++instance VulkanProc "vkGetSwapchainImagesKHR" where+ type VkProcType "vkGetSwapchainImagesKHR" =+ HS_vkGetSwapchainImagesKHR+ vkProcSymbol = _VkGetSwapchainImagesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetSwapchainImagesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkAcquireNextImageKHR :: CString++pattern VkAcquireNextImageKHR <- (is_VkAcquireNextImageKHR -> True)+ where VkAcquireNextImageKHR = _VkAcquireNextImageKHR++{-# INLINE _VkAcquireNextImageKHR #-}++_VkAcquireNextImageKHR :: CString+_VkAcquireNextImageKHR = Ptr "vkAcquireNextImageKHR\NUL"#++{-# INLINE is_VkAcquireNextImageKHR #-}++is_VkAcquireNextImageKHR :: CString -> Bool+is_VkAcquireNextImageKHR+ = (EQ ==) . cmpCStrings _VkAcquireNextImageKHR++type VkAcquireNextImageKHR = "vkAcquireNextImageKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImageKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint64_t timeout+-- > , VkSemaphore semaphore+-- > , VkFence fence+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImageKHR vkAcquireNextImageKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkAcquireNextImageKHR"+ vkAcquireNextImageKHR ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ Word64 -- ^ timeout+ -> VkSemaphore -- ^ semaphore+ -> VkFence -- ^ fence+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImageKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint64_t timeout+-- > , VkSemaphore semaphore+-- > , VkFence fence+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImageKHR vkAcquireNextImageKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAcquireNextImageKHRSafe@ and @vkAcquireNextImageKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAcquireNextImageKHR <- vkGetDeviceProc @VkAcquireNextImageKHR vkDevice+--+-- or less efficient:+--+-- > myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR+--+vkAcquireNextImageKHR ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ Word64 -- ^ timeout+ -> VkSemaphore -- ^ semaphore+ -> VkFence -- ^ fence+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult+vkAcquireNextImageKHR+ = unsafeDupablePerformIO (vkGetProc @VkAcquireNextImageKHR)++{-# NOINLINE vkAcquireNextImageKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImageKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint64_t timeout+-- > , VkSemaphore semaphore+-- > , VkFence fence+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImageKHR vkAcquireNextImageKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkAcquireNextImageKHR"+ vkAcquireNextImageKHRSafe ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ Word64 -- ^ timeout+ -> VkSemaphore -- ^ semaphore+ -> VkFence -- ^ fence+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImageKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint64_t timeout+-- > , VkSemaphore semaphore+-- > , VkFence fence+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImageKHR vkAcquireNextImageKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAcquireNextImageKHRSafe@ and @vkAcquireNextImageKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAcquireNextImageKHR <- vkGetDeviceProc @VkAcquireNextImageKHR vkDevice+--+-- or less efficient:+--+-- > myAcquireNextImageKHR <- vkGetProc @VkAcquireNextImageKHR+--+vkAcquireNextImageKHRSafe ::+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ Word64 -- ^ timeout+ -> VkSemaphore -- ^ semaphore+ -> VkFence -- ^ fence+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult+vkAcquireNextImageKHRSafe = vkAcquireNextImageKHR++{-# INLINE vkAcquireNextImageKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImageKHR+-- > ( VkDevice device+-- > , VkSwapchainKHR swapchain+-- > , uint64_t timeout+-- > , VkSemaphore semaphore+-- > , VkFence fence+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImageKHR vkAcquireNextImageKHR registry at www.khronos.org>+type HS_vkAcquireNextImageKHR =+ VkDevice -- ^ device+ ->+ VkSwapchainKHR -- ^ swapchain+ ->+ Word64 -- ^ timeout+ -> VkSemaphore -- ^ semaphore+ -> VkFence -- ^ fence+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult++type PFN_vkAcquireNextImageKHR = FunPtr HS_vkAcquireNextImageKHR++foreign import ccall "dynamic" unwrapVkAcquireNextImageKHR ::+ PFN_vkAcquireNextImageKHR -> HS_vkAcquireNextImageKHR++instance VulkanProc "vkAcquireNextImageKHR" where+ type VkProcType "vkAcquireNextImageKHR" = HS_vkAcquireNextImageKHR+ vkProcSymbol = _VkAcquireNextImageKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkAcquireNextImageKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkQueuePresentKHR :: CString++pattern VkQueuePresentKHR <- (is_VkQueuePresentKHR -> True)+ where VkQueuePresentKHR = _VkQueuePresentKHR++{-# INLINE _VkQueuePresentKHR #-}++_VkQueuePresentKHR :: CString+_VkQueuePresentKHR = Ptr "vkQueuePresentKHR\NUL"#++{-# INLINE is_VkQueuePresentKHR #-}++is_VkQueuePresentKHR :: CString -> Bool+is_VkQueuePresentKHR = (EQ ==) . cmpCStrings _VkQueuePresentKHR++type VkQueuePresentKHR = "vkQueuePresentKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkQueuePresentKHR+-- > ( VkQueue queue+-- > , const VkPresentInfoKHR* pPresentInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueuePresentKHR vkQueuePresentKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkQueuePresentKHR" vkQueuePresentKHR+ :: VkQueue -- ^ queue+ -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkQueuePresentKHR+-- > ( VkQueue queue+-- > , const VkPresentInfoKHR* pPresentInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueuePresentKHR vkQueuePresentKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueuePresentKHRSafe@ and @vkQueuePresentKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueuePresentKHR <- vkGetInstanceProc @VkQueuePresentKHR vkInstance+--+-- or less efficient:+--+-- > myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR+--+vkQueuePresentKHR :: VkQueue -- ^ queue+ -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+ -> IO VkResult+vkQueuePresentKHR+ = unsafeDupablePerformIO (vkGetProc @VkQueuePresentKHR)++{-# NOINLINE vkQueuePresentKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkQueuePresentKHR+-- > ( VkQueue queue+-- > , const VkPresentInfoKHR* pPresentInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueuePresentKHR vkQueuePresentKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkQueuePresentKHR" vkQueuePresentKHRSafe+ :: VkQueue -- ^ queue+ -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkQueuePresentKHR+-- > ( VkQueue queue+-- > , const VkPresentInfoKHR* pPresentInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueuePresentKHR vkQueuePresentKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkQueuePresentKHRSafe@ and @vkQueuePresentKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myQueuePresentKHR <- vkGetInstanceProc @VkQueuePresentKHR vkInstance+--+-- or less efficient:+--+-- > myQueuePresentKHR <- vkGetProc @VkQueuePresentKHR+--+vkQueuePresentKHRSafe ::+ VkQueue -- ^ queue+ -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+ -> IO VkResult+vkQueuePresentKHRSafe = vkQueuePresentKHR++{-# INLINE vkQueuePresentKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkQueuePresentKHR+-- > ( VkQueue queue+-- > , const VkPresentInfoKHR* pPresentInfo+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkQueuePresentKHR vkQueuePresentKHR registry at www.khronos.org>+type HS_vkQueuePresentKHR =+ VkQueue -- ^ queue+ -> Ptr VkPresentInfoKHR -- ^ pPresentInfo+ -> IO VkResult++type PFN_vkQueuePresentKHR = FunPtr HS_vkQueuePresentKHR++foreign import ccall "dynamic" unwrapVkQueuePresentKHR ::+ PFN_vkQueuePresentKHR -> HS_vkQueuePresentKHR++instance VulkanProc "vkQueuePresentKHR" where+ type VkProcType "vkQueuePresentKHR" = HS_vkQueuePresentKHR+ vkProcSymbol = _VkQueuePresentKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkQueuePresentKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VK_KHR_SWAPCHAIN_SPEC_VERSION :: (Num a, Eq a) => a++pattern VK_KHR_SWAPCHAIN_SPEC_VERSION = 70++type VK_KHR_SWAPCHAIN_SPEC_VERSION = 70++pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString++pattern VK_KHR_SWAPCHAIN_EXTENSION_NAME <-+ (is_VK_KHR_SWAPCHAIN_EXTENSION_NAME -> True)+ where VK_KHR_SWAPCHAIN_EXTENSION_NAME+ = _VK_KHR_SWAPCHAIN_EXTENSION_NAME++{-# INLINE _VK_KHR_SWAPCHAIN_EXTENSION_NAME #-}++_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString+_VK_KHR_SWAPCHAIN_EXTENSION_NAME = Ptr "VK_KHR_swapchain\NUL"#++{-# INLINE is_VK_KHR_SWAPCHAIN_EXTENSION_NAME #-}++is_VK_KHR_SWAPCHAIN_EXTENSION_NAME :: CString -> Bool+is_VK_KHR_SWAPCHAIN_EXTENSION_NAME+ = (EQ ==) . cmpCStrings _VK_KHR_SWAPCHAIN_EXTENSION_NAME++type VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain"++pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR =+ VkStructureType 1000001000++pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR :: VkStructureType++pattern VK_STRUCTURE_TYPE_PRESENT_INFO_KHR =+ VkStructureType 1000001001++pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR :: VkImageLayout++pattern VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = VkImageLayout 1000001002++pattern VK_SUBOPTIMAL_KHR :: VkResult++pattern VK_SUBOPTIMAL_KHR = VkResult 1000001003++pattern VK_ERROR_OUT_OF_DATE_KHR :: VkResult++pattern VK_ERROR_OUT_OF_DATE_KHR = VkResult (-1000001004)++-- | VkSwapchainKHR+pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR :: VkObjectType++pattern VK_OBJECT_TYPE_SWAPCHAIN_KHR = VkObjectType 1000001000++pattern VkGetDeviceGroupPresentCapabilitiesKHR :: CString++pattern VkGetDeviceGroupPresentCapabilitiesKHR <-+ (is_VkGetDeviceGroupPresentCapabilitiesKHR -> True)+ where VkGetDeviceGroupPresentCapabilitiesKHR+ = _VkGetDeviceGroupPresentCapabilitiesKHR++{-# INLINE _VkGetDeviceGroupPresentCapabilitiesKHR #-}++_VkGetDeviceGroupPresentCapabilitiesKHR :: CString+_VkGetDeviceGroupPresentCapabilitiesKHR+ = Ptr "vkGetDeviceGroupPresentCapabilitiesKHR\NUL"#++{-# INLINE is_VkGetDeviceGroupPresentCapabilitiesKHR #-}++is_VkGetDeviceGroupPresentCapabilitiesKHR :: CString -> Bool+is_VkGetDeviceGroupPresentCapabilitiesKHR+ = (EQ ==) . cmpCStrings _VkGetDeviceGroupPresentCapabilitiesKHR++type VkGetDeviceGroupPresentCapabilitiesKHR =+ "vkGetDeviceGroupPresentCapabilitiesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+-- > ( VkDevice device+-- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetDeviceGroupPresentCapabilitiesKHR"+ vkGetDeviceGroupPresentCapabilitiesKHR ::+ VkDevice -- ^ device+ -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+-- > ( VkDevice device+-- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceGroupPresentCapabilitiesKHRSafe@ and @vkGetDeviceGroupPresentCapabilitiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetDeviceProc @VkGetDeviceGroupPresentCapabilitiesKHR vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR+--+vkGetDeviceGroupPresentCapabilitiesKHR ::+ VkDevice -- ^ device+ ->+ Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+ -> IO VkResult+vkGetDeviceGroupPresentCapabilitiesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR)++{-# NOINLINE vkGetDeviceGroupPresentCapabilitiesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+-- > ( VkDevice device+-- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceGroupPresentCapabilitiesKHR"+ vkGetDeviceGroupPresentCapabilitiesKHRSafe ::+ VkDevice -- ^ device+ -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+-- > ( VkDevice device+-- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceGroupPresentCapabilitiesKHRSafe@ and @vkGetDeviceGroupPresentCapabilitiesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetDeviceProc @VkGetDeviceGroupPresentCapabilitiesKHR vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupPresentCapabilitiesKHR <- vkGetProc @VkGetDeviceGroupPresentCapabilitiesKHR+--+vkGetDeviceGroupPresentCapabilitiesKHRSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+ -> IO VkResult+vkGetDeviceGroupPresentCapabilitiesKHRSafe+ = vkGetDeviceGroupPresentCapabilitiesKHR++{-# INLINE vkGetDeviceGroupPresentCapabilitiesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetDeviceGroupPresentCapabilitiesKHR+-- > ( VkDevice device+-- > , VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+type HS_vkGetDeviceGroupPresentCapabilitiesKHR =+ VkDevice -- ^ device+ -> Ptr VkDeviceGroupPresentCapabilitiesKHR -- ^ pDeviceGroupPresentCapabilities+ -> IO VkResult++type PFN_vkGetDeviceGroupPresentCapabilitiesKHR =+ FunPtr HS_vkGetDeviceGroupPresentCapabilitiesKHR++foreign import ccall "dynamic"+ unwrapVkGetDeviceGroupPresentCapabilitiesKHR ::+ PFN_vkGetDeviceGroupPresentCapabilitiesKHR ->+ HS_vkGetDeviceGroupPresentCapabilitiesKHR++instance VulkanProc "vkGetDeviceGroupPresentCapabilitiesKHR" where+ type VkProcType "vkGetDeviceGroupPresentCapabilitiesKHR" =+ HS_vkGetDeviceGroupPresentCapabilitiesKHR+ vkProcSymbol = _VkGetDeviceGroupPresentCapabilitiesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceGroupPresentCapabilitiesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetDeviceGroupSurfacePresentModesKHR :: CString++pattern VkGetDeviceGroupSurfacePresentModesKHR <-+ (is_VkGetDeviceGroupSurfacePresentModesKHR -> True)+ where VkGetDeviceGroupSurfacePresentModesKHR+ = _VkGetDeviceGroupSurfacePresentModesKHR++{-# INLINE _VkGetDeviceGroupSurfacePresentModesKHR #-}++_VkGetDeviceGroupSurfacePresentModesKHR :: CString+_VkGetDeviceGroupSurfacePresentModesKHR+ = Ptr "vkGetDeviceGroupSurfacePresentModesKHR\NUL"#++{-# INLINE is_VkGetDeviceGroupSurfacePresentModesKHR #-}++is_VkGetDeviceGroupSurfacePresentModesKHR :: CString -> Bool+is_VkGetDeviceGroupSurfacePresentModesKHR+ = (EQ ==) . cmpCStrings _VkGetDeviceGroupSurfacePresentModesKHR++type VkGetDeviceGroupSurfacePresentModesKHR =+ "vkGetDeviceGroupSurfacePresentModesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetDeviceGroupSurfacePresentModesKHR+-- > ( VkDevice device+-- > , VkSurfaceKHR surface+-- > , VkDeviceGroupPresentModeFlagsKHR* pModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetDeviceGroupSurfacePresentModesKHR"+ vkGetDeviceGroupSurfacePresentModesKHR ::+ VkDevice -- ^ device+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetDeviceGroupSurfacePresentModesKHR+-- > ( VkDevice device+-- > , VkSurfaceKHR surface+-- > , VkDeviceGroupPresentModeFlagsKHR* pModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceGroupSurfacePresentModesKHRSafe@ and @vkGetDeviceGroupSurfacePresentModesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetDeviceProc @VkGetDeviceGroupSurfacePresentModesKHR vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR+--+vkGetDeviceGroupSurfacePresentModesKHR ::+ VkDevice -- ^ device+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+ -> IO VkResult+vkGetDeviceGroupSurfacePresentModesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR)++{-# NOINLINE vkGetDeviceGroupSurfacePresentModesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetDeviceGroupSurfacePresentModesKHR+-- > ( VkDevice device+-- > , VkSurfaceKHR surface+-- > , VkDeviceGroupPresentModeFlagsKHR* pModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetDeviceGroupSurfacePresentModesKHR"+ vkGetDeviceGroupSurfacePresentModesKHRSafe ::+ VkDevice -- ^ device+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetDeviceGroupSurfacePresentModesKHR+-- > ( VkDevice device+-- > , VkSurfaceKHR surface+-- > , VkDeviceGroupPresentModeFlagsKHR* pModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetDeviceGroupSurfacePresentModesKHRSafe@ and @vkGetDeviceGroupSurfacePresentModesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetDeviceProc @VkGetDeviceGroupSurfacePresentModesKHR vkDevice+--+-- or less efficient:+--+-- > myGetDeviceGroupSurfacePresentModesKHR <- vkGetProc @VkGetDeviceGroupSurfacePresentModesKHR+--+vkGetDeviceGroupSurfacePresentModesKHRSafe ::+ VkDevice -- ^ device+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+ -> IO VkResult+vkGetDeviceGroupSurfacePresentModesKHRSafe+ = vkGetDeviceGroupSurfacePresentModesKHR++{-# INLINE vkGetDeviceGroupSurfacePresentModesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkGetDeviceGroupSurfacePresentModesKHR+-- > ( VkDevice device+-- > , VkSurfaceKHR surface+-- > , VkDeviceGroupPresentModeFlagsKHR* pModes+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR registry at www.khronos.org>+type HS_vkGetDeviceGroupSurfacePresentModesKHR =+ VkDevice -- ^ device+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr VkDeviceGroupPresentModeFlagsKHR -- ^ pModes+ -> IO VkResult++type PFN_vkGetDeviceGroupSurfacePresentModesKHR =+ FunPtr HS_vkGetDeviceGroupSurfacePresentModesKHR++foreign import ccall "dynamic"+ unwrapVkGetDeviceGroupSurfacePresentModesKHR ::+ PFN_vkGetDeviceGroupSurfacePresentModesKHR ->+ HS_vkGetDeviceGroupSurfacePresentModesKHR++instance VulkanProc "vkGetDeviceGroupSurfacePresentModesKHR" where+ type VkProcType "vkGetDeviceGroupSurfacePresentModesKHR" =+ HS_vkGetDeviceGroupSurfacePresentModesKHR+ vkProcSymbol = _VkGetDeviceGroupSurfacePresentModesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetDeviceGroupSurfacePresentModesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDevicePresentRectanglesKHR :: CString++pattern VkGetPhysicalDevicePresentRectanglesKHR <-+ (is_VkGetPhysicalDevicePresentRectanglesKHR -> True)+ where VkGetPhysicalDevicePresentRectanglesKHR+ = _VkGetPhysicalDevicePresentRectanglesKHR++{-# INLINE _VkGetPhysicalDevicePresentRectanglesKHR #-}++_VkGetPhysicalDevicePresentRectanglesKHR :: CString+_VkGetPhysicalDevicePresentRectanglesKHR+ = Ptr "vkGetPhysicalDevicePresentRectanglesKHR\NUL"#++{-# INLINE is_VkGetPhysicalDevicePresentRectanglesKHR #-}++is_VkGetPhysicalDevicePresentRectanglesKHR :: CString -> Bool+is_VkGetPhysicalDevicePresentRectanglesKHR+ = (EQ ==) . cmpCStrings _VkGetPhysicalDevicePresentRectanglesKHR++type VkGetPhysicalDevicePresentRectanglesKHR =+ "vkGetPhysicalDevicePresentRectanglesKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDevicePresentRectanglesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pRectCount+-- > , VkRect2D* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe+ "vkGetPhysicalDevicePresentRectanglesKHR"+ vkGetPhysicalDevicePresentRectanglesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr Word32 -- ^ pRectCount+ -> Ptr VkRect2D -- ^ pRects+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDevicePresentRectanglesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pRectCount+-- > , VkRect2D* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDevicePresentRectanglesKHRSafe@ and @vkGetPhysicalDevicePresentRectanglesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetInstanceProc @VkGetPhysicalDevicePresentRectanglesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR+--+vkGetPhysicalDevicePresentRectanglesKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr Word32 -- ^ pRectCount+ -> Ptr VkRect2D -- ^ pRects+ -> IO VkResult+vkGetPhysicalDevicePresentRectanglesKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR)++{-# NOINLINE vkGetPhysicalDevicePresentRectanglesKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDevicePresentRectanglesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pRectCount+-- > , VkRect2D* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkGetPhysicalDevicePresentRectanglesKHR"+ vkGetPhysicalDevicePresentRectanglesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr Word32 -- ^ pRectCount+ -> Ptr VkRect2D -- ^ pRects+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDevicePresentRectanglesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pRectCount+-- > , VkRect2D* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDevicePresentRectanglesKHRSafe@ and @vkGetPhysicalDevicePresentRectanglesKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetInstanceProc @VkGetPhysicalDevicePresentRectanglesKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDevicePresentRectanglesKHR <- vkGetProc @VkGetPhysicalDevicePresentRectanglesKHR+--+vkGetPhysicalDevicePresentRectanglesKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ ->+ Ptr Word32 -- ^ pRectCount+ -> Ptr VkRect2D -- ^ pRects+ -> IO VkResult+vkGetPhysicalDevicePresentRectanglesKHRSafe+ = vkGetPhysicalDevicePresentRectanglesKHR++{-# INLINE vkGetPhysicalDevicePresentRectanglesKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkGetPhysicalDevicePresentRectanglesKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , VkSurfaceKHR surface+-- > , uint32_t* pRectCount+-- > , VkRect2D* pRects+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR registry at www.khronos.org>+type HS_vkGetPhysicalDevicePresentRectanglesKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkSurfaceKHR -- ^ surface+ -> Ptr Word32 -- ^ pRectCount+ -> Ptr VkRect2D -- ^ pRects+ -> IO VkResult++type PFN_vkGetPhysicalDevicePresentRectanglesKHR =+ FunPtr HS_vkGetPhysicalDevicePresentRectanglesKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDevicePresentRectanglesKHR ::+ PFN_vkGetPhysicalDevicePresentRectanglesKHR ->+ HS_vkGetPhysicalDevicePresentRectanglesKHR++instance VulkanProc "vkGetPhysicalDevicePresentRectanglesKHR" where+ type VkProcType "vkGetPhysicalDevicePresentRectanglesKHR" =+ HS_vkGetPhysicalDevicePresentRectanglesKHR+ vkProcSymbol = _VkGetPhysicalDevicePresentRectanglesKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetPhysicalDevicePresentRectanglesKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkAcquireNextImage2KHR :: CString++pattern VkAcquireNextImage2KHR <-+ (is_VkAcquireNextImage2KHR -> True)+ where VkAcquireNextImage2KHR = _VkAcquireNextImage2KHR++{-# INLINE _VkAcquireNextImage2KHR #-}++_VkAcquireNextImage2KHR :: CString+_VkAcquireNextImage2KHR = Ptr "vkAcquireNextImage2KHR\NUL"#++{-# INLINE is_VkAcquireNextImage2KHR #-}++is_VkAcquireNextImage2KHR :: CString -> Bool+is_VkAcquireNextImage2KHR+ = (EQ ==) . cmpCStrings _VkAcquireNextImage2KHR++type VkAcquireNextImage2KHR = "vkAcquireNextImage2KHR"++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImage2KHR+-- > ( VkDevice device+-- > , const VkAcquireNextImageInfoKHR* pAcquireInfo+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImage2KHR vkAcquireNextImage2KHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall unsafe "vkAcquireNextImage2KHR"+ vkAcquireNextImage2KHR ::+ VkDevice -- ^ device+ ->+ Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImage2KHR+-- > ( VkDevice device+-- > , const VkAcquireNextImageInfoKHR* pAcquireInfo+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImage2KHR vkAcquireNextImage2KHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAcquireNextImage2KHRSafe@ and @vkAcquireNextImage2KHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAcquireNextImage2KHR <- vkGetDeviceProc @VkAcquireNextImage2KHR vkDevice+--+-- or less efficient:+--+-- > myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR+--+vkAcquireNextImage2KHR ::+ VkDevice -- ^ device+ ->+ Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult+vkAcquireNextImage2KHR+ = unsafeDupablePerformIO (vkGetProc @VkAcquireNextImage2KHR)++{-# NOINLINE vkAcquireNextImage2KHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_1+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImage2KHR+-- > ( VkDevice device+-- > , const VkAcquireNextImageInfoKHR* pAcquireInfo+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImage2KHR vkAcquireNextImage2KHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+--+foreign import ccall safe "vkAcquireNextImage2KHR"+ vkAcquireNextImage2KHRSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult++#else+-- |+-- Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImage2KHR+-- > ( VkDevice device+-- > , const VkAcquireNextImageInfoKHR* pAcquireInfo+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImage2KHR vkAcquireNextImage2KHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-1@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkAcquireNextImage2KHRSafe@ and @vkAcquireNextImage2KHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myAcquireNextImage2KHR <- vkGetDeviceProc @VkAcquireNextImage2KHR vkDevice+--+-- or less efficient:+--+-- > myAcquireNextImage2KHR <- vkGetProc @VkAcquireNextImage2KHR+--+vkAcquireNextImage2KHRSafe ::+ VkDevice -- ^ device+ ->+ Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult+vkAcquireNextImage2KHRSafe = vkAcquireNextImage2KHR++{-# INLINE vkAcquireNextImage2KHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS', 'VK_TIMEOUT', 'VK_NOT_READY', 'VK_SUBOPTIMAL_KHR'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR', 'VK_ERROR_SURFACE_LOST_KHR'.+--+-- > VkResult vkAcquireNextImage2KHR+-- > ( VkDevice device+-- > , const VkAcquireNextImageInfoKHR* pAcquireInfo+-- > , uint32_t* pImageIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkAcquireNextImage2KHR vkAcquireNextImage2KHR registry at www.khronos.org>+type HS_vkAcquireNextImage2KHR =+ VkDevice -- ^ device+ ->+ Ptr VkAcquireNextImageInfoKHR -- ^ pAcquireInfo+ -> Ptr Word32 -- ^ pImageIndex+ -> IO VkResult++type PFN_vkAcquireNextImage2KHR = FunPtr HS_vkAcquireNextImage2KHR++foreign import ccall "dynamic" unwrapVkAcquireNextImage2KHR ::+ PFN_vkAcquireNextImage2KHR -> HS_vkAcquireNextImage2KHR++instance VulkanProc "vkAcquireNextImage2KHR" where+ type VkProcType "vkAcquireNextImage2KHR" =+ HS_vkAcquireNextImage2KHR+ vkProcSymbol = _VkAcquireNextImage2KHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkAcquireNextImage2KHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR :: VkStructureType
@@ -23,19 +23,17 @@ -- -- ** Required extensions: 'VK_KHR_get_physical_device_properties2', 'VK_KHR_storage_buffer_storage_class'.- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeaturesKHR,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, pattern VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR) where-import GHC.Ptr- (Ptr (..))-import Graphics.Vulkan.Core_1_1- (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES)+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceVariablePointerFeaturesKHR+import Graphics.Vulkan.Types.Struct.PhysicalDevice pattern VK_KHR_VARIABLE_POINTERS_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_wayland_surface (-- * Vulkan extension: @VK_KHR_wayland_surface@@@ -26,53 +32,86 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkWaylandSurfaceCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.PlatformWaylandKhr, -- > #include "vk_platform.h"+ VkCreateWaylandSurfaceKHR, pattern VkCreateWaylandSurfaceKHR,+ HS_vkCreateWaylandSurfaceKHR, PFN_vkCreateWaylandSurfaceKHR, vkCreateWaylandSurfaceKHR, vkCreateWaylandSurfaceKHRSafe,+ VkGetPhysicalDeviceWaylandPresentationSupportKHR,+ pattern VkGetPhysicalDeviceWaylandPresentationSupportKHR,+ HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR,+ PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR, vkGetPhysicalDeviceWaylandPresentationSupportKHR, vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_WAYLAND_SURFACE_SPEC_VERSION, pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION, VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME, pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkWaylandSurfaceCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformWaylandKhr+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateWaylandSurfaceKHR :: CString++pattern VkCreateWaylandSurfaceKHR <-+ (is_VkCreateWaylandSurfaceKHR -> True)+ where VkCreateWaylandSurfaceKHR = _VkCreateWaylandSurfaceKHR++{-# INLINE _VkCreateWaylandSurfaceKHR #-}++_VkCreateWaylandSurfaceKHR :: CString+_VkCreateWaylandSurfaceKHR = Ptr "vkCreateWaylandSurfaceKHR\NUL"#++{-# INLINE is_VkCreateWaylandSurfaceKHR #-}++is_VkCreateWaylandSurfaceKHR :: CString -> Bool+is_VkCreateWaylandSurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateWaylandSurfaceKHR++type VkCreateWaylandSurfaceKHR = "vkCreateWaylandSurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateWaylandSurfaceKHR--- > ( VkInstance instance--- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateWaylandSurfaceKHR+-- > ( VkInstance instance+-- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWaylandSurfaceKHR.html vkCreateWaylandSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateWaylandSurfaceKHR" vkCreateWaylandSurfaceKHR :: VkInstance -- ^ instance@@ -83,18 +122,65 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateWaylandSurfaceKHR--- > ( VkInstance instance--- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateWaylandSurfaceKHR+-- > ( VkInstance instance+-- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWaylandSurfaceKHR.html vkCreateWaylandSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateWaylandSurfaceKHRSafe@ and @vkCreateWaylandSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateWaylandSurfaceKHR <- vkGetInstanceProc @VkCreateWaylandSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateWaylandSurfaceKHR <- vkGetProc @VkCreateWaylandSurfaceKHR+--+vkCreateWaylandSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateWaylandSurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateWaylandSurfaceKHR)++{-# NOINLINE vkCreateWaylandSurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWaylandSurfaceKHR+-- > ( VkInstance instance+-- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateWaylandSurfaceKHR" vkCreateWaylandSurfaceKHRSafe :: VkInstance -- ^ instance@@ -105,13 +191,120 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , struct wl_display* display+#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWaylandSurfaceKHR+-- > ( VkInstance instance+-- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateWaylandSurfaceKHRSafe@ and @vkCreateWaylandSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateWaylandSurfaceKHR <- vkGetInstanceProc @VkCreateWaylandSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateWaylandSurfaceKHR <- vkGetProc @VkCreateWaylandSurfaceKHR+--+vkCreateWaylandSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateWaylandSurfaceKHRSafe = vkCreateWaylandSurfaceKHR++{-# INLINE vkCreateWaylandSurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWaylandSurfaceKHR+-- > ( VkInstance instance+-- > , const VkWaylandSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR registry at www.khronos.org>+type HS_vkCreateWaylandSurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkWaylandSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateWaylandSurfaceKHR =+ FunPtr HS_vkCreateWaylandSurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateWaylandSurfaceKHR ::+ PFN_vkCreateWaylandSurfaceKHR -> HS_vkCreateWaylandSurfaceKHR++instance VulkanProc "vkCreateWaylandSurfaceKHR" where+ type VkProcType "vkCreateWaylandSurfaceKHR" =+ HS_vkCreateWaylandSurfaceKHR+ vkProcSymbol = _VkCreateWaylandSurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateWaylandSurfaceKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceWaylandPresentationSupportKHR :: CString++pattern VkGetPhysicalDeviceWaylandPresentationSupportKHR <-+ (is_VkGetPhysicalDeviceWaylandPresentationSupportKHR -> True)+ where VkGetPhysicalDeviceWaylandPresentationSupportKHR+ = _VkGetPhysicalDeviceWaylandPresentationSupportKHR++{-# INLINE _VkGetPhysicalDeviceWaylandPresentationSupportKHR #-}++_VkGetPhysicalDeviceWaylandPresentationSupportKHR :: CString+_VkGetPhysicalDeviceWaylandPresentationSupportKHR+ = Ptr "vkGetPhysicalDeviceWaylandPresentationSupportKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceWaylandPresentationSupportKHR #-}++is_VkGetPhysicalDeviceWaylandPresentationSupportKHR ::+ CString -> Bool+is_VkGetPhysicalDeviceWaylandPresentationSupportKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceWaylandPresentationSupportKHR++type VkGetPhysicalDeviceWaylandPresentationSupportKHR =+ "vkGetPhysicalDeviceWaylandPresentationSupportKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , struct wl_display* display+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceWaylandPresentationSupportKHR" vkGetPhysicalDeviceWaylandPresentationSupportKHR ::@@ -120,13 +313,54 @@ -> Ptr WlDisplay -- ^ display -> IO VkBool32 --- | > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , struct wl_display* display--- > )+#else+-- |+-- > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , struct wl_display* display+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWaylandPresentationSupportKHR.html vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceWaylandPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR+--+vkGetPhysicalDeviceWaylandPresentationSupportKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr WlDisplay -- ^ display+ -> IO VkBool32+vkGetPhysicalDeviceWaylandPresentationSupportKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR)++{-# NOINLINE vkGetPhysicalDeviceWaylandPresentationSupportKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , struct wl_display* display+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceWaylandPresentationSupportKHR" vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe ::@@ -134,6 +368,74 @@ -> Word32 -- ^ queueFamilyIndex -> Ptr WlDisplay -- ^ display -> IO VkBool32++#else+-- |+-- > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , struct wl_display* display+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceWaylandPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceWaylandPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWaylandPresentationSupportKHR+--+vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr WlDisplay -- ^ display+ -> IO VkBool32+vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe+ = vkGetPhysicalDeviceWaylandPresentationSupportKHR++{-# INLINE vkGetPhysicalDeviceWaylandPresentationSupportKHRSafe #-}+#endif++-- | > VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , struct wl_display* display+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> Word32 -- ^ queueFamilyIndex+ -> Ptr WlDisplay -- ^ display+ -> IO VkBool32++type PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR =+ FunPtr HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHR ::+ PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR ->+ HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR++instance VulkanProc+ "vkGetPhysicalDeviceWaylandPresentationSupportKHR"+ where+ type VkProcType "vkGetPhysicalDeviceWaylandPresentationSupportKHR"+ = HS_vkGetPhysicalDeviceWaylandPresentationSupportKHR+ vkProcSymbol = _VkGetPhysicalDeviceWaylandPresentationSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceWaylandPresentationSupportKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_WAYLAND_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -25,10 +25,10 @@ -- ** Required extensions: 'VK_KHR_external_memory_win32'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSubmitInfo,- module Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoKHR,+ module Graphics.Vulkan.Types.Enum.Pipeline,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.SubmitInfo,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr, -- > #include "vk_platform.h" VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION, pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION,@@ -36,14 +36,13 @@ pattern VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkSubmitInfo-import Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoKHR+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr+import Graphics.Vulkan.Types.Struct.SubmitInfo pattern VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_win32_surface (-- * Vulkan extension: @VK_KHR_win32_surface@@@ -26,53 +32,86 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkWin32SurfaceCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr, -- > #include "vk_platform.h"+ VkCreateWin32SurfaceKHR, pattern VkCreateWin32SurfaceKHR,+ HS_vkCreateWin32SurfaceKHR, PFN_vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHR, vkCreateWin32SurfaceKHRSafe,+ VkGetPhysicalDeviceWin32PresentationSupportKHR,+ pattern VkGetPhysicalDeviceWin32PresentationSupportKHR,+ HS_vkGetPhysicalDeviceWin32PresentationSupportKHR,+ PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR, vkGetPhysicalDeviceWin32PresentationSupportKHR, vkGetPhysicalDeviceWin32PresentationSupportKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_WIN32_SURFACE_SPEC_VERSION, pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION, VK_KHR_WIN32_SURFACE_EXTENSION_NAME, pattern VK_KHR_WIN32_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkWin32SurfaceCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateWin32SurfaceKHR :: CString++pattern VkCreateWin32SurfaceKHR <-+ (is_VkCreateWin32SurfaceKHR -> True)+ where VkCreateWin32SurfaceKHR = _VkCreateWin32SurfaceKHR++{-# INLINE _VkCreateWin32SurfaceKHR #-}++_VkCreateWin32SurfaceKHR :: CString+_VkCreateWin32SurfaceKHR = Ptr "vkCreateWin32SurfaceKHR\NUL"#++{-# INLINE is_VkCreateWin32SurfaceKHR #-}++is_VkCreateWin32SurfaceKHR :: CString -> Bool+is_VkCreateWin32SurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateWin32SurfaceKHR++type VkCreateWin32SurfaceKHR = "vkCreateWin32SurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateWin32SurfaceKHR--- > ( VkInstance instance--- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateWin32SurfaceKHR+-- > ( VkInstance instance+-- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWin32SurfaceKHR.html vkCreateWin32SurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateWin32SurfaceKHR" vkCreateWin32SurfaceKHR :: VkInstance -- ^ instance@@ -83,18 +122,65 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateWin32SurfaceKHR--- > ( VkInstance instance--- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateWin32SurfaceKHR+-- > ( VkInstance instance+-- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateWin32SurfaceKHR.html vkCreateWin32SurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateWin32SurfaceKHRSafe@ and @vkCreateWin32SurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateWin32SurfaceKHR <- vkGetInstanceProc @VkCreateWin32SurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateWin32SurfaceKHR <- vkGetProc @VkCreateWin32SurfaceKHR+--+vkCreateWin32SurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateWin32SurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateWin32SurfaceKHR)++{-# NOINLINE vkCreateWin32SurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWin32SurfaceKHR+-- > ( VkInstance instance+-- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateWin32SurfaceKHR" vkCreateWin32SurfaceKHRSafe :: VkInstance -- ^ instance@@ -105,12 +191,119 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex+#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWin32SurfaceKHR+-- > ( VkInstance instance+-- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateWin32SurfaceKHRSafe@ and @vkCreateWin32SurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateWin32SurfaceKHR <- vkGetInstanceProc @VkCreateWin32SurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateWin32SurfaceKHR <- vkGetProc @VkCreateWin32SurfaceKHR+--+vkCreateWin32SurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateWin32SurfaceKHRSafe = vkCreateWin32SurfaceKHR++{-# INLINE vkCreateWin32SurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateWin32SurfaceKHR+-- > ( VkInstance instance+-- > , const VkWin32SurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR registry at www.khronos.org>+type HS_vkCreateWin32SurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkWin32SurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateWin32SurfaceKHR =+ FunPtr HS_vkCreateWin32SurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateWin32SurfaceKHR ::+ PFN_vkCreateWin32SurfaceKHR -> HS_vkCreateWin32SurfaceKHR++instance VulkanProc "vkCreateWin32SurfaceKHR" where+ type VkProcType "vkCreateWin32SurfaceKHR" =+ HS_vkCreateWin32SurfaceKHR+ vkProcSymbol = _VkCreateWin32SurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateWin32SurfaceKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceWin32PresentationSupportKHR :: CString++pattern VkGetPhysicalDeviceWin32PresentationSupportKHR <-+ (is_VkGetPhysicalDeviceWin32PresentationSupportKHR -> True)+ where VkGetPhysicalDeviceWin32PresentationSupportKHR+ = _VkGetPhysicalDeviceWin32PresentationSupportKHR++{-# INLINE _VkGetPhysicalDeviceWin32PresentationSupportKHR #-}++_VkGetPhysicalDeviceWin32PresentationSupportKHR :: CString+_VkGetPhysicalDeviceWin32PresentationSupportKHR+ = Ptr "vkGetPhysicalDeviceWin32PresentationSupportKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceWin32PresentationSupportKHR #-}++is_VkGetPhysicalDeviceWin32PresentationSupportKHR ::+ CString -> Bool+is_VkGetPhysicalDeviceWin32PresentationSupportKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceWin32PresentationSupportKHR++type VkGetPhysicalDeviceWin32PresentationSupportKHR =+ "vkGetPhysicalDeviceWin32PresentationSupportKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceWin32PresentationSupportKHR" vkGetPhysicalDeviceWin32PresentationSupportKHR ::@@ -118,18 +311,119 @@ -> Word32 -- ^ queueFamilyIndex -> IO VkBool32 --- | > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > )+#else+-- |+-- > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceWin32PresentationSupportKHR.html vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@ and @vkGetPhysicalDeviceWin32PresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceWin32PresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR+--+vkGetPhysicalDeviceWin32PresentationSupportKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Word32 -- ^ queueFamilyIndex+ -> IO VkBool32+vkGetPhysicalDeviceWin32PresentationSupportKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR)++{-# NOINLINE vkGetPhysicalDeviceWin32PresentationSupportKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceWin32PresentationSupportKHR" vkGetPhysicalDeviceWin32PresentationSupportKHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Word32 -- ^ queueFamilyIndex -> IO VkBool32++#else+-- |+-- > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceWin32PresentationSupportKHRSafe@ and @vkGetPhysicalDeviceWin32PresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceWin32PresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceWin32PresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceWin32PresentationSupportKHR+--+vkGetPhysicalDeviceWin32PresentationSupportKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ -> Word32 -- ^ queueFamilyIndex+ -> IO VkBool32+vkGetPhysicalDeviceWin32PresentationSupportKHRSafe+ = vkGetPhysicalDeviceWin32PresentationSupportKHR++{-# INLINE vkGetPhysicalDeviceWin32PresentationSupportKHRSafe #-}+#endif++-- | > VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceWin32PresentationSupportKHR =+ VkPhysicalDevice -- ^ physicalDevice+ -> Word32 -- ^ queueFamilyIndex+ -> IO VkBool32++type PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR =+ FunPtr HS_vkGetPhysicalDeviceWin32PresentationSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceWin32PresentationSupportKHR ::+ PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR ->+ HS_vkGetPhysicalDeviceWin32PresentationSupportKHR++instance VulkanProc+ "vkGetPhysicalDeviceWin32PresentationSupportKHR"+ where+ type VkProcType "vkGetPhysicalDeviceWin32PresentationSupportKHR" =+ HS_vkGetPhysicalDeviceWin32PresentationSupportKHR+ vkProcSymbol = _VkGetPhysicalDeviceWin32PresentationSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceWin32PresentationSupportKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_WIN32_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_xcb_surface (-- * Vulkan extension: @VK_KHR_xcb_surface@@@ -26,53 +32,85 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkXcbSurfaceCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.PlatformXcbKhr, -- > #include "vk_platform.h"+ VkCreateXcbSurfaceKHR, pattern VkCreateXcbSurfaceKHR,+ HS_vkCreateXcbSurfaceKHR, PFN_vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHR, vkCreateXcbSurfaceKHRSafe,+ VkGetPhysicalDeviceXcbPresentationSupportKHR,+ pattern VkGetPhysicalDeviceXcbPresentationSupportKHR,+ HS_vkGetPhysicalDeviceXcbPresentationSupportKHR,+ PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR, vkGetPhysicalDeviceXcbPresentationSupportKHR, vkGetPhysicalDeviceXcbPresentationSupportKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_XCB_SURFACE_SPEC_VERSION, pattern VK_KHR_XCB_SURFACE_SPEC_VERSION, VK_KHR_XCB_SURFACE_EXTENSION_NAME, pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkXcbSurfaceCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformXcbKhr+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateXcbSurfaceKHR :: CString++pattern VkCreateXcbSurfaceKHR <- (is_VkCreateXcbSurfaceKHR -> True)+ where VkCreateXcbSurfaceKHR = _VkCreateXcbSurfaceKHR++{-# INLINE _VkCreateXcbSurfaceKHR #-}++_VkCreateXcbSurfaceKHR :: CString+_VkCreateXcbSurfaceKHR = Ptr "vkCreateXcbSurfaceKHR\NUL"#++{-# INLINE is_VkCreateXcbSurfaceKHR #-}++is_VkCreateXcbSurfaceKHR :: CString -> Bool+is_VkCreateXcbSurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateXcbSurfaceKHR++type VkCreateXcbSurfaceKHR = "vkCreateXcbSurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateXcbSurfaceKHR--- > ( VkInstance instance--- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateXcbSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXcbSurfaceKHR.html vkCreateXcbSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateXcbSurfaceKHR" vkCreateXcbSurfaceKHR :: VkInstance -- ^ instance@@ -83,18 +121,65 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateXcbSurfaceKHR--- > ( VkInstance instance--- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateXcbSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXcbSurfaceKHR.html vkCreateXcbSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateXcbSurfaceKHRSafe@ and @vkCreateXcbSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateXcbSurfaceKHR <- vkGetInstanceProc @VkCreateXcbSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateXcbSurfaceKHR <- vkGetProc @VkCreateXcbSurfaceKHR+--+vkCreateXcbSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateXcbSurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateXcbSurfaceKHR)++{-# NOINLINE vkCreateXcbSurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXcbSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateXcbSurfaceKHR" vkCreateXcbSurfaceKHRSafe :: VkInstance -- ^ instance@@ -105,14 +190,118 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , xcb_connection_t* connection--- > , xcb_visualid_t visual_id+#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXcbSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateXcbSurfaceKHRSafe@ and @vkCreateXcbSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateXcbSurfaceKHR <- vkGetInstanceProc @VkCreateXcbSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateXcbSurfaceKHR <- vkGetProc @VkCreateXcbSurfaceKHR+--+vkCreateXcbSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateXcbSurfaceKHRSafe = vkCreateXcbSurfaceKHR++{-# INLINE vkCreateXcbSurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXcbSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXcbSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR registry at www.khronos.org>+type HS_vkCreateXcbSurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkXcbSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateXcbSurfaceKHR = FunPtr HS_vkCreateXcbSurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateXcbSurfaceKHR ::+ PFN_vkCreateXcbSurfaceKHR -> HS_vkCreateXcbSurfaceKHR++instance VulkanProc "vkCreateXcbSurfaceKHR" where+ type VkProcType "vkCreateXcbSurfaceKHR" = HS_vkCreateXcbSurfaceKHR+ vkProcSymbol = _VkCreateXcbSurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateXcbSurfaceKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceXcbPresentationSupportKHR :: CString++pattern VkGetPhysicalDeviceXcbPresentationSupportKHR <-+ (is_VkGetPhysicalDeviceXcbPresentationSupportKHR -> True)+ where VkGetPhysicalDeviceXcbPresentationSupportKHR+ = _VkGetPhysicalDeviceXcbPresentationSupportKHR++{-# INLINE _VkGetPhysicalDeviceXcbPresentationSupportKHR #-}++_VkGetPhysicalDeviceXcbPresentationSupportKHR :: CString+_VkGetPhysicalDeviceXcbPresentationSupportKHR+ = Ptr "vkGetPhysicalDeviceXcbPresentationSupportKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceXcbPresentationSupportKHR #-}++is_VkGetPhysicalDeviceXcbPresentationSupportKHR :: CString -> Bool+is_VkGetPhysicalDeviceXcbPresentationSupportKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceXcbPresentationSupportKHR++type VkGetPhysicalDeviceXcbPresentationSupportKHR =+ "vkGetPhysicalDeviceXcbPresentationSupportKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , xcb_connection_t* connection+-- > , xcb_visualid_t visual_id+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceXcbPresentationSupportKHR" vkGetPhysicalDeviceXcbPresentationSupportKHR ::@@ -123,14 +312,58 @@ -> XcbVisualidT -- ^ visual_id -> IO VkBool32 --- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , xcb_connection_t* connection--- > , xcb_visualid_t visual_id--- > )+#else+-- |+-- > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , xcb_connection_t* connection+-- > , xcb_visualid_t visual_id+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXcbPresentationSupportKHR.html vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceXcbPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceXcbPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR+--+vkGetPhysicalDeviceXcbPresentationSupportKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ ->+ Ptr XcbConnectionT -- ^ connection+ -> XcbVisualidT -- ^ visual_id+ -> IO VkBool32+vkGetPhysicalDeviceXcbPresentationSupportKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR)++{-# NOINLINE vkGetPhysicalDeviceXcbPresentationSupportKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , xcb_connection_t* connection+-- > , xcb_visualid_t visual_id+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceXcbPresentationSupportKHR" vkGetPhysicalDeviceXcbPresentationSupportKHRSafe ::@@ -140,6 +373,80 @@ -> Ptr XcbConnectionT -- ^ connection -> XcbVisualidT -- ^ visual_id -> IO VkBool32++#else+-- |+-- > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , xcb_connection_t* connection+-- > , xcb_visualid_t visual_id+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceXcbPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceXcbPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceXcbPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceXcbPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXcbPresentationSupportKHR+--+vkGetPhysicalDeviceXcbPresentationSupportKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ ->+ Ptr XcbConnectionT -- ^ connection+ ->+ XcbVisualidT -- ^ visual_id+ -> IO VkBool32+vkGetPhysicalDeviceXcbPresentationSupportKHRSafe+ = vkGetPhysicalDeviceXcbPresentationSupportKHR++{-# INLINE vkGetPhysicalDeviceXcbPresentationSupportKHRSafe #-}+#endif++-- | > VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , xcb_connection_t* connection+-- > , xcb_visualid_t visual_id+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceXcbPresentationSupportKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr XcbConnectionT -- ^ connection+ -> XcbVisualidT -- ^ visual_id+ -> IO VkBool32++type PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR =+ FunPtr HS_vkGetPhysicalDeviceXcbPresentationSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceXcbPresentationSupportKHR ::+ PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR ->+ HS_vkGetPhysicalDeviceXcbPresentationSupportKHR++instance VulkanProc "vkGetPhysicalDeviceXcbPresentationSupportKHR"+ where+ type VkProcType "vkGetPhysicalDeviceXcbPresentationSupportKHR" =+ HS_vkGetPhysicalDeviceXcbPresentationSupportKHR+ vkProcSymbol = _VkGetPhysicalDeviceXcbPresentationSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceXcbPresentationSupportKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_XCB_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,15 @@+{-# OPTIONS_GHC -fno-warn-orphans#-}+{-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_xlib_surface (-- * Vulkan extension: @VK_KHR_xlib_surface@@@ -26,53 +32,86 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkXlibSurfaceCreateInfoKHR,+ module Graphics.Vulkan.Types.Struct.PlatformXlibKhr, -- > #include "vk_platform.h"+ VkCreateXlibSurfaceKHR, pattern VkCreateXlibSurfaceKHR,+ HS_vkCreateXlibSurfaceKHR, PFN_vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHR, vkCreateXlibSurfaceKHRSafe,+ VkGetPhysicalDeviceXlibPresentationSupportKHR,+ pattern VkGetPhysicalDeviceXlibPresentationSupportKHR,+ HS_vkGetPhysicalDeviceXlibPresentationSupportKHR,+ PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR, vkGetPhysicalDeviceXlibPresentationSupportKHR, vkGetPhysicalDeviceXlibPresentationSupportKHRSafe, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Include,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_KHR_XLIB_SURFACE_SPEC_VERSION, pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION, VK_KHR_XLIB_SURFACE_EXTENSION_NAME, pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Include-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkXlibSurfaceCreateInfoKHR+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformXlibKhr+import System.IO.Unsafe (unsafeDupablePerformIO) --- | Success codes: 'VK_SUCCESS'.+pattern VkCreateXlibSurfaceKHR :: CString++pattern VkCreateXlibSurfaceKHR <-+ (is_VkCreateXlibSurfaceKHR -> True)+ where VkCreateXlibSurfaceKHR = _VkCreateXlibSurfaceKHR++{-# INLINE _VkCreateXlibSurfaceKHR #-}++_VkCreateXlibSurfaceKHR :: CString+_VkCreateXlibSurfaceKHR = Ptr "vkCreateXlibSurfaceKHR\NUL"#++{-# INLINE is_VkCreateXlibSurfaceKHR #-}++is_VkCreateXlibSurfaceKHR :: CString -> Bool+is_VkCreateXlibSurfaceKHR+ = (EQ ==) . cmpCStrings _VkCreateXlibSurfaceKHR++type VkCreateXlibSurfaceKHR = "vkCreateXlibSurfaceKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateXlibSurfaceKHR--- > ( VkInstance instance--- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateXlibSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXlibSurfaceKHR.html vkCreateXlibSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkCreateXlibSurfaceKHR" vkCreateXlibSurfaceKHR :: VkInstance -- ^ instance@@ -83,18 +122,65 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | Success codes: 'VK_SUCCESS'.+#else+-- |+-- Success codes: 'VK_SUCCESS'. ----- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'. ----- > VkResult vkCreateXlibSurfaceKHR--- > ( VkInstance instance--- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )+-- > VkResult vkCreateXlibSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateXlibSurfaceKHR.html vkCreateXlibSurfaceKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateXlibSurfaceKHRSafe@ and @vkCreateXlibSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateXlibSurfaceKHR <- vkGetInstanceProc @VkCreateXlibSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateXlibSurfaceKHR <- vkGetProc @VkCreateXlibSurfaceKHR+--+vkCreateXlibSurfaceKHR ::+ VkInstance -- ^ instance+ ->+ Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateXlibSurfaceKHR+ = unsafeDupablePerformIO (vkGetProc @VkCreateXlibSurfaceKHR)++{-# NOINLINE vkCreateXlibSurfaceKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXlibSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkCreateXlibSurfaceKHR" vkCreateXlibSurfaceKHRSafe :: VkInstance -- ^ instance@@ -105,14 +191,119 @@ -> Ptr VkSurfaceKHR -- ^ pSurface -> IO VkResult --- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , Display* dpy--- > , VisualID visualID+#else+-- |+-- Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXlibSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkCreateXlibSurfaceKHRSafe@ and @vkCreateXlibSurfaceKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myCreateXlibSurfaceKHR <- vkGetInstanceProc @VkCreateXlibSurfaceKHR vkInstance+--+-- or less efficient:+--+-- > myCreateXlibSurfaceKHR <- vkGetProc @VkCreateXlibSurfaceKHR+--+vkCreateXlibSurfaceKHRSafe ::+ VkInstance -- ^ instance+ ->+ Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult+vkCreateXlibSurfaceKHRSafe = vkCreateXlibSurfaceKHR++{-# INLINE vkCreateXlibSurfaceKHRSafe #-}+#endif++-- | Success codes: 'VK_SUCCESS'.+--+-- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.+--+-- > VkResult vkCreateXlibSurfaceKHR+-- > ( VkInstance instance+-- > , const VkXlibSurfaceCreateInfoKHR* pCreateInfo+-- > , const VkAllocationCallbacks* pAllocator+-- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR registry at www.khronos.org>+type HS_vkCreateXlibSurfaceKHR =+ VkInstance -- ^ instance+ ->+ Ptr VkXlibSurfaceCreateInfoKHR -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateXlibSurfaceKHR = FunPtr HS_vkCreateXlibSurfaceKHR++foreign import ccall "dynamic" unwrapVkCreateXlibSurfaceKHR ::+ PFN_vkCreateXlibSurfaceKHR -> HS_vkCreateXlibSurfaceKHR++instance VulkanProc "vkCreateXlibSurfaceKHR" where+ type VkProcType "vkCreateXlibSurfaceKHR" =+ HS_vkCreateXlibSurfaceKHR+ vkProcSymbol = _VkCreateXlibSurfaceKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateXlibSurfaceKHR++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceXlibPresentationSupportKHR :: CString++pattern VkGetPhysicalDeviceXlibPresentationSupportKHR <-+ (is_VkGetPhysicalDeviceXlibPresentationSupportKHR -> True)+ where VkGetPhysicalDeviceXlibPresentationSupportKHR+ = _VkGetPhysicalDeviceXlibPresentationSupportKHR++{-# INLINE _VkGetPhysicalDeviceXlibPresentationSupportKHR #-}++_VkGetPhysicalDeviceXlibPresentationSupportKHR :: CString+_VkGetPhysicalDeviceXlibPresentationSupportKHR+ = Ptr "vkGetPhysicalDeviceXlibPresentationSupportKHR\NUL"#++{-# INLINE is_VkGetPhysicalDeviceXlibPresentationSupportKHR #-}++is_VkGetPhysicalDeviceXlibPresentationSupportKHR :: CString -> Bool+is_VkGetPhysicalDeviceXlibPresentationSupportKHR+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceXlibPresentationSupportKHR++type VkGetPhysicalDeviceXlibPresentationSupportKHR =+ "vkGetPhysicalDeviceXlibPresentationSupportKHR"++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , Display* dpy+-- > , VisualID visualID+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall unsafe "vkGetPhysicalDeviceXlibPresentationSupportKHR" vkGetPhysicalDeviceXlibPresentationSupportKHR ::@@ -123,14 +314,57 @@ -> VisualID -- ^ visualID -> IO VkBool32 --- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR--- > ( VkPhysicalDevice physicalDevice--- > , uint32_t queueFamilyIndex--- > , Display* dpy--- > , VisualID visualID--- > )+#else+-- |+-- > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , Display* dpy+-- > , VisualID visualID+-- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceXlibPresentationSupportKHR.html vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceXlibPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceXlibPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR+--+vkGetPhysicalDeviceXlibPresentationSupportKHR ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr Display -- ^ dpy+ -> VisualID -- ^ visualID+ -> IO VkBool32+vkGetPhysicalDeviceXlibPresentationSupportKHR+ = unsafeDupablePerformIO+ (vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR)++{-# NOINLINE vkGetPhysicalDeviceXlibPresentationSupportKHR #-}+#endif++#ifdef NATIVE_FFI_VK_VERSION_1_0+-- |+-- > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , Display* dpy+-- > , VisualID visualID+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is enabled, so this function is implemented+-- as a @foreign import@ call to C Vulkan loader.+-- foreign import ccall safe "vkGetPhysicalDeviceXlibPresentationSupportKHR" vkGetPhysicalDeviceXlibPresentationSupportKHRSafe ::@@ -140,6 +374,78 @@ -> Ptr Display -- ^ dpy -> VisualID -- ^ visualID -> IO VkBool32++#else+-- |+-- > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , Display* dpy+-- > , VisualID visualID+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+--+-- __Note:__ flag @useNativeFFI-1-0@ is disabled, so this function is looked up+-- dynamically at runtime;+-- @vkGetPhysicalDeviceXlibPresentationSupportKHRSafe@ and @vkGetPhysicalDeviceXlibPresentationSupportKHR@ are synonyms.+--+-- Independently of the flag setting, you can lookup the function manually at runtime:+--+-- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetInstanceProc @VkGetPhysicalDeviceXlibPresentationSupportKHR vkInstance+--+-- or less efficient:+--+-- > myGetPhysicalDeviceXlibPresentationSupportKHR <- vkGetProc @VkGetPhysicalDeviceXlibPresentationSupportKHR+--+vkGetPhysicalDeviceXlibPresentationSupportKHRSafe ::+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr Display -- ^ dpy+ -> VisualID -- ^ visualID+ -> IO VkBool32+vkGetPhysicalDeviceXlibPresentationSupportKHRSafe+ = vkGetPhysicalDeviceXlibPresentationSupportKHR++{-# INLINE vkGetPhysicalDeviceXlibPresentationSupportKHRSafe #-}+#endif++-- | > VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR+-- > ( VkPhysicalDevice physicalDevice+-- > , uint32_t queueFamilyIndex+-- > , Display* dpy+-- > , VisualID visualID+-- > )+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR registry at www.khronos.org>+type HS_vkGetPhysicalDeviceXlibPresentationSupportKHR =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Word32 -- ^ queueFamilyIndex+ -> Ptr Display -- ^ dpy+ -> VisualID -- ^ visualID+ -> IO VkBool32++type PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR =+ FunPtr HS_vkGetPhysicalDeviceXlibPresentationSupportKHR++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceXlibPresentationSupportKHR ::+ PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR ->+ HS_vkGetPhysicalDeviceXlibPresentationSupportKHR++instance VulkanProc "vkGetPhysicalDeviceXlibPresentationSupportKHR"+ where+ type VkProcType "vkGetPhysicalDeviceXlibPresentationSupportKHR" =+ HS_vkGetPhysicalDeviceXlibPresentationSupportKHR+ vkProcSymbol = _VkGetPhysicalDeviceXlibPresentationSupportKHR++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceXlibPresentationSupportKHR++ {-# INLINE unwrapVkProcPtr #-} pattern VK_KHR_XLIB_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_MVK_ios_surface (-- * Vulkan extension: @VK_MVK_ios_surface@@@ -27,58 +30,56 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkIOSSurfaceCreateInfoMVK,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PlatformIosMvk,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkCreateIOSSurfaceMVK, vkCreateIOSSurfaceMVKSafe,+ VkCreateIOSSurfaceMVK, pattern VkCreateIOSSurfaceMVK,+ HS_vkCreateIOSSurfaceMVK, PFN_vkCreateIOSSurfaceMVK, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_MVK_IOS_SURFACE_SPEC_VERSION, pattern VK_MVK_IOS_SURFACE_SPEC_VERSION, VK_MVK_IOS_SURFACE_EXTENSION_NAME, pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkIOSSurfaceCreateInfoMVK+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformIosMvk --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.------ > VkResult vkCreateIOSSurfaceMVK--- > ( VkInstance instance--- > , const VkIOSSurfaceCreateInfoMVK* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIOSSurfaceMVK.html vkCreateIOSSurfaceMVK registry at www.khronos.org>-foreign import ccall unsafe "vkCreateIOSSurfaceMVK"- vkCreateIOSSurfaceMVK ::- VkInstance -- ^ instance- ->- Ptr VkIOSSurfaceCreateInfoMVK -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+pattern VkCreateIOSSurfaceMVK :: CString +pattern VkCreateIOSSurfaceMVK <- (is_VkCreateIOSSurfaceMVK -> True)+ where VkCreateIOSSurfaceMVK = _VkCreateIOSSurfaceMVK++{-# INLINE _VkCreateIOSSurfaceMVK #-}++_VkCreateIOSSurfaceMVK :: CString+_VkCreateIOSSurfaceMVK = Ptr "vkCreateIOSSurfaceMVK\NUL"#++{-# INLINE is_VkCreateIOSSurfaceMVK #-}++is_VkCreateIOSSurfaceMVK :: CString -> Bool+is_VkCreateIOSSurfaceMVK+ = (EQ ==) . cmpCStrings _VkCreateIOSSurfaceMVK++type VkCreateIOSSurfaceMVK = "vkCreateIOSSurfaceMVK"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.@@ -90,16 +91,29 @@ -- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIOSSurfaceMVK.html vkCreateIOSSurfaceMVK registry at www.khronos.org>-foreign import ccall safe "vkCreateIOSSurfaceMVK"- vkCreateIOSSurfaceMVKSafe ::- VkInstance -- ^ instance- ->- Ptr VkIOSSurfaceCreateInfoMVK -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK registry at www.khronos.org>+type HS_vkCreateIOSSurfaceMVK =+ VkInstance -- ^ instance+ ->+ Ptr VkIOSSurfaceCreateInfoMVK -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateIOSSurfaceMVK = FunPtr HS_vkCreateIOSSurfaceMVK++foreign import ccall "dynamic" unwrapVkCreateIOSSurfaceMVK ::+ PFN_vkCreateIOSSurfaceMVK -> HS_vkCreateIOSSurfaceMVK++instance VulkanProc "vkCreateIOSSurfaceMVK" where+ type VkProcType "vkCreateIOSSurfaceMVK" = HS_vkCreateIOSSurfaceMVK+ vkProcSymbol = _VkCreateIOSSurfaceMVK++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateIOSSurfaceMVK++ {-# INLINE unwrapVkProcPtr #-} pattern VK_MVK_IOS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_MVK_macos_surface (-- * Vulkan extension: @VK_MVK_macos_surface@@@ -27,58 +30,57 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkMacOSSurfaceCreateInfoMVK,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PlatformMacosMvk,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkCreateMacOSSurfaceMVK, vkCreateMacOSSurfaceMVKSafe,+ VkCreateMacOSSurfaceMVK, pattern VkCreateMacOSSurfaceMVK,+ HS_vkCreateMacOSSurfaceMVK, PFN_vkCreateMacOSSurfaceMVK, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_MVK_MACOS_SURFACE_SPEC_VERSION, pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION, VK_MVK_MACOS_SURFACE_EXTENSION_NAME, pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkMacOSSurfaceCreateInfoMVK+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformMacosMvk --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.------ > VkResult vkCreateMacOSSurfaceMVK--- > ( VkInstance instance--- > , const VkMacOSSurfaceCreateInfoMVK* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMacOSSurfaceMVK.html vkCreateMacOSSurfaceMVK registry at www.khronos.org>-foreign import ccall unsafe "vkCreateMacOSSurfaceMVK"- vkCreateMacOSSurfaceMVK ::- VkInstance -- ^ instance- ->- Ptr VkMacOSSurfaceCreateInfoMVK -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+pattern VkCreateMacOSSurfaceMVK :: CString +pattern VkCreateMacOSSurfaceMVK <-+ (is_VkCreateMacOSSurfaceMVK -> True)+ where VkCreateMacOSSurfaceMVK = _VkCreateMacOSSurfaceMVK++{-# INLINE _VkCreateMacOSSurfaceMVK #-}++_VkCreateMacOSSurfaceMVK :: CString+_VkCreateMacOSSurfaceMVK = Ptr "vkCreateMacOSSurfaceMVK\NUL"#++{-# INLINE is_VkCreateMacOSSurfaceMVK #-}++is_VkCreateMacOSSurfaceMVK :: CString -> Bool+is_VkCreateMacOSSurfaceMVK+ = (EQ ==) . cmpCStrings _VkCreateMacOSSurfaceMVK++type VkCreateMacOSSurfaceMVK = "vkCreateMacOSSurfaceMVK"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.@@ -90,16 +92,31 @@ -- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateMacOSSurfaceMVK.html vkCreateMacOSSurfaceMVK registry at www.khronos.org>-foreign import ccall safe "vkCreateMacOSSurfaceMVK"- vkCreateMacOSSurfaceMVKSafe ::- VkInstance -- ^ instance- ->- Ptr VkMacOSSurfaceCreateInfoMVK -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK registry at www.khronos.org>+type HS_vkCreateMacOSSurfaceMVK =+ VkInstance -- ^ instance+ ->+ Ptr VkMacOSSurfaceCreateInfoMVK -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateMacOSSurfaceMVK =+ FunPtr HS_vkCreateMacOSSurfaceMVK++foreign import ccall "dynamic" unwrapVkCreateMacOSSurfaceMVK ::+ PFN_vkCreateMacOSSurfaceMVK -> HS_vkCreateMacOSSurfaceMVK++instance VulkanProc "vkCreateMacOSSurfaceMVK" where+ type VkProcType "vkCreateMacOSSurfaceMVK" =+ HS_vkCreateMacOSSurfaceMVK+ vkProcSymbol = _VkCreateMacOSSurfaceMVK++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateMacOSSurfaceMVK++ {-# INLINE unwrapVkProcPtr #-} pattern VK_MVK_MACOS_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_NN_vi_surface (-- * Vulkan extension: @VK_NN_vi_surface@@@ -26,59 +29,56 @@ -- ** Required extensions: 'VK_KHR_surface'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.StructureType, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkViSurfaceCreateInfoNN,+ module Graphics.Vulkan.Types.Struct.PlatformViNn, -- > #include "vk_platform.h"- vkCreateViSurfaceNN, vkCreateViSurfaceNNSafe,+ VkCreateViSurfaceNN, pattern VkCreateViSurfaceNN,+ HS_vkCreateViSurfaceNN, PFN_vkCreateViSurfaceNN, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_NN_VI_SURFACE_SPEC_VERSION, pattern VK_NN_VI_SURFACE_SPEC_VERSION, VK_NN_VI_SURFACE_EXTENSION_NAME, pattern VK_NN_VI_SURFACE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkViSurfaceCreateInfoNN+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.PlatformViNn --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.------ > VkResult vkCreateViSurfaceNN--- > ( VkInstance instance--- > , const VkViSurfaceCreateInfoNN* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkSurfaceKHR* pSurface--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateViSurfaceNN.html vkCreateViSurfaceNN registry at www.khronos.org>-foreign import ccall unsafe "vkCreateViSurfaceNN"- vkCreateViSurfaceNN ::- VkInstance -- ^ instance- ->- Ptr VkViSurfaceCreateInfoNN -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+pattern VkCreateViSurfaceNN :: CString +pattern VkCreateViSurfaceNN <- (is_VkCreateViSurfaceNN -> True)+ where VkCreateViSurfaceNN = _VkCreateViSurfaceNN++{-# INLINE _VkCreateViSurfaceNN #-}++_VkCreateViSurfaceNN :: CString+_VkCreateViSurfaceNN = Ptr "vkCreateViSurfaceNN\NUL"#++{-# INLINE is_VkCreateViSurfaceNN #-}++is_VkCreateViSurfaceNN :: CString -> Bool+is_VkCreateViSurfaceNN = (EQ ==) . cmpCStrings _VkCreateViSurfaceNN++type VkCreateViSurfaceNN = "vkCreateViSurfaceNN"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_NATIVE_WINDOW_IN_USE_KHR'.@@ -90,16 +90,29 @@ -- > , VkSurfaceKHR* pSurface -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateViSurfaceNN.html vkCreateViSurfaceNN registry at www.khronos.org>-foreign import ccall safe "vkCreateViSurfaceNN"- vkCreateViSurfaceNNSafe ::- VkInstance -- ^ instance- ->- Ptr VkViSurfaceCreateInfoNN -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkSurfaceKHR -- ^ pSurface- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateViSurfaceNN vkCreateViSurfaceNN registry at www.khronos.org>+type HS_vkCreateViSurfaceNN =+ VkInstance -- ^ instance+ ->+ Ptr VkViSurfaceCreateInfoNN -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkSurfaceKHR -- ^ pSurface+ -> IO VkResult++type PFN_vkCreateViSurfaceNN = FunPtr HS_vkCreateViSurfaceNN++foreign import ccall "dynamic" unwrapVkCreateViSurfaceNN ::+ PFN_vkCreateViSurfaceNN -> HS_vkCreateViSurfaceNN++instance VulkanProc "vkCreateViSurfaceNN" where+ type VkProcType "vkCreateViSurfaceNN" = HS_vkCreateViSurfaceNN+ vkProcSymbol = _VkCreateViSurfaceNN++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateViSurfaceNN++ {-# INLINE unwrapVkProcPtr #-} pattern VK_NN_VI_SURFACE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_NVX_device_generated_commands (-- * Vulkan extension: @VK_NVX_device_generated_commands@@@ -19,49 +22,50 @@ -- -- Extension number: @87@ module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkCmdProcessCommandsInfoNVX,- module Graphics.Vulkan.Types.Struct.VkCmdReserveSpaceForCommandsInfoNVX,- module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsFeaturesNVX,- module Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsLimitsNVX,- module Graphics.Vulkan.Types.Enum.VkIndexType,- module Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutCreateInfoNVX,- module Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutTokenNVX,- module Graphics.Vulkan.Types.Enum.VkIndirectCommandsLayoutUsageFlagsNVX,- module Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX,- module Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX,- module Graphics.Vulkan.Types.Enum.VkObjectEntryTypeNVX,- module Graphics.Vulkan.Types.Enum.VkObjectEntryUsageFlagsNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTableCreateInfoNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTableDescriptorSetEntryNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTableEntryNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTableIndexBufferEntryNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTablePipelineEntryNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTablePushConstantEntryNVX,- module Graphics.Vulkan.Types.Struct.VkObjectTableVertexBufferEntryNVX,- module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint,- module Graphics.Vulkan.Types.Enum.VkShaderStageFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Cmd,+ module Graphics.Vulkan.Types.Struct.Device,+ module Graphics.Vulkan.Types.Enum.IndexType,+ module Graphics.Vulkan.Types.Struct.IndirectCommands,+ module Graphics.Vulkan.Types.Enum.IndirectCommands,+ module Graphics.Vulkan.Types.Enum.Object,+ module Graphics.Vulkan.Types.Struct.ObjectTable,+ module Graphics.Vulkan.Types.Enum.Pipeline,+ module Graphics.Vulkan.Types.Enum.Shader,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkCmdProcessCommandsNVX, vkCmdProcessCommandsNVXSafe,- vkCmdReserveSpaceForCommandsNVX,- vkCmdReserveSpaceForCommandsNVXSafe,- vkCreateIndirectCommandsLayoutNVX,- vkCreateIndirectCommandsLayoutNVXSafe,- vkDestroyIndirectCommandsLayoutNVX,- vkDestroyIndirectCommandsLayoutNVXSafe, vkCreateObjectTableNVX,- vkCreateObjectTableNVXSafe, vkDestroyObjectTableNVX,- vkDestroyObjectTableNVXSafe, vkRegisterObjectsNVX,- vkRegisterObjectsNVXSafe, vkUnregisterObjectsNVX,- vkUnregisterObjectsNVXSafe,- vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,- vkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe,+ VkCmdProcessCommandsNVX, pattern VkCmdProcessCommandsNVX,+ HS_vkCmdProcessCommandsNVX, PFN_vkCmdProcessCommandsNVX,+ VkCmdReserveSpaceForCommandsNVX,+ pattern VkCmdReserveSpaceForCommandsNVX,+ HS_vkCmdReserveSpaceForCommandsNVX,+ PFN_vkCmdReserveSpaceForCommandsNVX,+ VkCreateIndirectCommandsLayoutNVX,+ pattern VkCreateIndirectCommandsLayoutNVX,+ HS_vkCreateIndirectCommandsLayoutNVX,+ PFN_vkCreateIndirectCommandsLayoutNVX,+ VkDestroyIndirectCommandsLayoutNVX,+ pattern VkDestroyIndirectCommandsLayoutNVX,+ HS_vkDestroyIndirectCommandsLayoutNVX,+ PFN_vkDestroyIndirectCommandsLayoutNVX, VkCreateObjectTableNVX,+ pattern VkCreateObjectTableNVX, HS_vkCreateObjectTableNVX,+ PFN_vkCreateObjectTableNVX, VkDestroyObjectTableNVX,+ pattern VkDestroyObjectTableNVX, HS_vkDestroyObjectTableNVX,+ PFN_vkDestroyObjectTableNVX, VkRegisterObjectsNVX,+ pattern VkRegisterObjectsNVX, HS_vkRegisterObjectsNVX,+ PFN_vkRegisterObjectsNVX, VkUnregisterObjectsNVX,+ pattern VkUnregisterObjectsNVX, HS_vkUnregisterObjectsNVX,+ PFN_vkUnregisterObjectsNVX,+ VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,+ pattern VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,+ HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX,+ PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkInternalAllocationType,- module Graphics.Vulkan.Types.Enum.VkResult,- module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope,+ module Graphics.Vulkan.Types.Enum.InternalAllocationType,+ module Graphics.Vulkan.Types.Enum.Result,+ module Graphics.Vulkan.Types.Enum.SystemAllocationScope, module Graphics.Vulkan.Types.Funcpointers, module Graphics.Vulkan.Types.Handles,- module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks,+ module Graphics.Vulkan.Types.Struct.AllocationCallbacks, VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME,@@ -78,134 +82,156 @@ pattern VK_OBJECT_TYPE_OBJECT_TABLE_NVX, pattern VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkAccessFlags- (VkAccessBitmask (..),- VkAccessFlagBits)-import Graphics.Vulkan.Types.Enum.VkIndexType-import Graphics.Vulkan.Types.Enum.VkIndirectCommandsLayoutUsageFlagsNVX-import Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType-import Graphics.Vulkan.Types.Enum.VkObjectEntryTypeNVX-import Graphics.Vulkan.Types.Enum.VkObjectEntryUsageFlagsNVX-import Graphics.Vulkan.Types.Enum.VkObjectType- (VkObjectType (..))-import Graphics.Vulkan.Types.Enum.VkPipelineBindPoint-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags- (VkPipelineStageBitmask (..),- VkPipelineStageFlagBits)-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkShaderStageFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope+import Graphics.Vulkan.Types.Enum.AccessFlags (VkAccessBitmask (..),+ VkAccessFlagBits)+import Graphics.Vulkan.Types.Enum.IndexType+import Graphics.Vulkan.Types.Enum.IndirectCommands+import Graphics.Vulkan.Types.Enum.InternalAllocationType+import Graphics.Vulkan.Types.Enum.Object+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.Shader+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.SystemAllocationScope import Graphics.Vulkan.Types.Funcpointers import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkAllocationCallbacks-import Graphics.Vulkan.Types.Struct.VkCmdProcessCommandsInfoNVX-import Graphics.Vulkan.Types.Struct.VkCmdReserveSpaceForCommandsInfoNVX-import Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsFeaturesNVX-import Graphics.Vulkan.Types.Struct.VkDeviceGeneratedCommandsLimitsNVX-import Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutCreateInfoNVX-import Graphics.Vulkan.Types.Struct.VkIndirectCommandsLayoutTokenNVX-import Graphics.Vulkan.Types.Struct.VkIndirectCommandsTokenNVX-import Graphics.Vulkan.Types.Struct.VkObjectTableCreateInfoNVX-import Graphics.Vulkan.Types.Struct.VkObjectTableDescriptorSetEntryNVX-import Graphics.Vulkan.Types.Struct.VkObjectTableEntryNVX-import Graphics.Vulkan.Types.Struct.VkObjectTableIndexBufferEntryNVX-import Graphics.Vulkan.Types.Struct.VkObjectTablePipelineEntryNVX-import Graphics.Vulkan.Types.Struct.VkObjectTablePushConstantEntryNVX-import Graphics.Vulkan.Types.Struct.VkObjectTableVertexBufferEntryNVX+import Graphics.Vulkan.Types.Struct.AllocationCallbacks+import Graphics.Vulkan.Types.Struct.Cmd+import Graphics.Vulkan.Types.Struct.Device+import Graphics.Vulkan.Types.Struct.IndirectCommands+import Graphics.Vulkan.Types.Struct.ObjectTable --- | queues: 'graphics', 'compute'.------ renderpass: @inside@------ > () vkCmdProcessCommandsNVX--- > ( VkCommandBuffer commandBuffer--- > , const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdProcessCommandsNVX.html vkCmdProcessCommandsNVX registry at www.khronos.org>-foreign import ccall unsafe "vkCmdProcessCommandsNVX"- vkCmdProcessCommandsNVX ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkCmdProcessCommandsInfoNVX -- ^ pProcessCommandsInfo- -> IO ()+pattern VkCmdProcessCommandsNVX :: CString --- | queues: 'graphics', 'compute'.+pattern VkCmdProcessCommandsNVX <-+ (is_VkCmdProcessCommandsNVX -> True)+ where VkCmdProcessCommandsNVX = _VkCmdProcessCommandsNVX++{-# INLINE _VkCmdProcessCommandsNVX #-}++_VkCmdProcessCommandsNVX :: CString+_VkCmdProcessCommandsNVX = Ptr "vkCmdProcessCommandsNVX\NUL"#++{-# INLINE is_VkCmdProcessCommandsNVX #-}++is_VkCmdProcessCommandsNVX :: CString -> Bool+is_VkCmdProcessCommandsNVX+ = (EQ ==) . cmpCStrings _VkCmdProcessCommandsNVX++type VkCmdProcessCommandsNVX = "vkCmdProcessCommandsNVX"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @inside@+-- Renderpass: @inside@ ----- > () vkCmdProcessCommandsNVX+-- > void vkCmdProcessCommandsNVX -- > ( VkCommandBuffer commandBuffer -- > , const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdProcessCommandsNVX.html vkCmdProcessCommandsNVX registry at www.khronos.org>-foreign import ccall safe "vkCmdProcessCommandsNVX"- vkCmdProcessCommandsNVXSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkCmdProcessCommandsInfoNVX -- ^ pProcessCommandsInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdProcessCommandsNVX vkCmdProcessCommandsNVX registry at www.khronos.org>+type HS_vkCmdProcessCommandsNVX =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCmdProcessCommandsInfoNVX -- ^ pProcessCommandsInfo+ -> IO () --- | queues: 'graphics', 'compute'.------ renderpass: @inside@------ > () vkCmdReserveSpaceForCommandsNVX--- > ( VkCommandBuffer commandBuffer--- > , const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdReserveSpaceForCommandsNVX.html vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org>-foreign import ccall unsafe "vkCmdReserveSpaceForCommandsNVX"- vkCmdReserveSpaceForCommandsNVX ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkCmdReserveSpaceForCommandsInfoNVX -- ^ pReserveSpaceInfo- -> IO ()+type PFN_vkCmdProcessCommandsNVX =+ FunPtr HS_vkCmdProcessCommandsNVX --- | queues: 'graphics', 'compute'.+foreign import ccall "dynamic" unwrapVkCmdProcessCommandsNVX ::+ PFN_vkCmdProcessCommandsNVX -> HS_vkCmdProcessCommandsNVX++instance VulkanProc "vkCmdProcessCommandsNVX" where+ type VkProcType "vkCmdProcessCommandsNVX" =+ HS_vkCmdProcessCommandsNVX+ vkProcSymbol = _VkCmdProcessCommandsNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdProcessCommandsNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCmdReserveSpaceForCommandsNVX :: CString++pattern VkCmdReserveSpaceForCommandsNVX <-+ (is_VkCmdReserveSpaceForCommandsNVX -> True)+ where VkCmdReserveSpaceForCommandsNVX+ = _VkCmdReserveSpaceForCommandsNVX++{-# INLINE _VkCmdReserveSpaceForCommandsNVX #-}++_VkCmdReserveSpaceForCommandsNVX :: CString+_VkCmdReserveSpaceForCommandsNVX+ = Ptr "vkCmdReserveSpaceForCommandsNVX\NUL"#++{-# INLINE is_VkCmdReserveSpaceForCommandsNVX #-}++is_VkCmdReserveSpaceForCommandsNVX :: CString -> Bool+is_VkCmdReserveSpaceForCommandsNVX+ = (EQ ==) . cmpCStrings _VkCmdReserveSpaceForCommandsNVX++type VkCmdReserveSpaceForCommandsNVX =+ "vkCmdReserveSpaceForCommandsNVX"++-- | Queues: 'graphics', 'compute'. ----- renderpass: @inside@+-- Renderpass: @inside@ ----- > () vkCmdReserveSpaceForCommandsNVX+-- > void vkCmdReserveSpaceForCommandsNVX -- > ( VkCommandBuffer commandBuffer -- > , const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdReserveSpaceForCommandsNVX.html vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org>-foreign import ccall safe "vkCmdReserveSpaceForCommandsNVX"- vkCmdReserveSpaceForCommandsNVXSafe ::- VkCommandBuffer -- ^ commandBuffer- -> Ptr VkCmdReserveSpaceForCommandsInfoNVX -- ^ pReserveSpaceInfo- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdReserveSpaceForCommandsNVX vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org>+type HS_vkCmdReserveSpaceForCommandsNVX =+ VkCommandBuffer -- ^ commandBuffer+ -> Ptr VkCmdReserveSpaceForCommandsInfoNVX -- ^ pReserveSpaceInfo+ -> IO () --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateIndirectCommandsLayoutNVX--- > ( VkDevice device--- > , const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIndirectCommandsLayoutNVX.html vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org>-foreign import ccall unsafe "vkCreateIndirectCommandsLayoutNVX"- vkCreateIndirectCommandsLayoutNVX ::- VkDevice -- ^ device- ->- Ptr VkIndirectCommandsLayoutCreateInfoNVX -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkIndirectCommandsLayoutNVX -- ^ pIndirectCommandsLayout- -> IO VkResult+type PFN_vkCmdReserveSpaceForCommandsNVX =+ FunPtr HS_vkCmdReserveSpaceForCommandsNVX +foreign import ccall "dynamic"+ unwrapVkCmdReserveSpaceForCommandsNVX ::+ PFN_vkCmdReserveSpaceForCommandsNVX ->+ HS_vkCmdReserveSpaceForCommandsNVX++instance VulkanProc "vkCmdReserveSpaceForCommandsNVX" where+ type VkProcType "vkCmdReserveSpaceForCommandsNVX" =+ HS_vkCmdReserveSpaceForCommandsNVX+ vkProcSymbol = _VkCmdReserveSpaceForCommandsNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdReserveSpaceForCommandsNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateIndirectCommandsLayoutNVX :: CString++pattern VkCreateIndirectCommandsLayoutNVX <-+ (is_VkCreateIndirectCommandsLayoutNVX -> True)+ where VkCreateIndirectCommandsLayoutNVX+ = _VkCreateIndirectCommandsLayoutNVX++{-# INLINE _VkCreateIndirectCommandsLayoutNVX #-}++_VkCreateIndirectCommandsLayoutNVX :: CString+_VkCreateIndirectCommandsLayoutNVX+ = Ptr "vkCreateIndirectCommandsLayoutNVX\NUL"#++{-# INLINE is_VkCreateIndirectCommandsLayoutNVX #-}++is_VkCreateIndirectCommandsLayoutNVX :: CString -> Bool+is_VkCreateIndirectCommandsLayoutNVX+ = (EQ ==) . cmpCStrings _VkCreateIndirectCommandsLayoutNVX++type VkCreateIndirectCommandsLayoutNVX =+ "vkCreateIndirectCommandsLayoutNVX"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -217,70 +243,108 @@ -- > , VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateIndirectCommandsLayoutNVX.html vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org>-foreign import ccall safe "vkCreateIndirectCommandsLayoutNVX"- vkCreateIndirectCommandsLayoutNVXSafe ::- VkDevice -- ^ device- ->- Ptr VkIndirectCommandsLayoutCreateInfoNVX -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- ->- Ptr VkIndirectCommandsLayoutNVX -- ^ pIndirectCommandsLayout- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateIndirectCommandsLayoutNVX vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org>+type HS_vkCreateIndirectCommandsLayoutNVX =+ VkDevice -- ^ device+ ->+ Ptr VkIndirectCommandsLayoutCreateInfoNVX -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ ->+ Ptr VkIndirectCommandsLayoutNVX -- ^ pIndirectCommandsLayout+ -> IO VkResult --- | > () vkDestroyIndirectCommandsLayoutNVX--- > ( VkDevice device--- > , VkIndirectCommandsLayoutNVX indirectCommandsLayout--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyIndirectCommandsLayoutNVX.html vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyIndirectCommandsLayoutNVX"- vkDestroyIndirectCommandsLayoutNVX ::- VkDevice -- ^ device- ->- VkIndirectCommandsLayoutNVX -- ^ indirectCommandsLayout- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateIndirectCommandsLayoutNVX =+ FunPtr HS_vkCreateIndirectCommandsLayoutNVX --- | > () vkDestroyIndirectCommandsLayoutNVX+foreign import ccall "dynamic"+ unwrapVkCreateIndirectCommandsLayoutNVX ::+ PFN_vkCreateIndirectCommandsLayoutNVX ->+ HS_vkCreateIndirectCommandsLayoutNVX++instance VulkanProc "vkCreateIndirectCommandsLayoutNVX" where+ type VkProcType "vkCreateIndirectCommandsLayoutNVX" =+ HS_vkCreateIndirectCommandsLayoutNVX+ vkProcSymbol = _VkCreateIndirectCommandsLayoutNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateIndirectCommandsLayoutNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyIndirectCommandsLayoutNVX :: CString++pattern VkDestroyIndirectCommandsLayoutNVX <-+ (is_VkDestroyIndirectCommandsLayoutNVX -> True)+ where VkDestroyIndirectCommandsLayoutNVX+ = _VkDestroyIndirectCommandsLayoutNVX++{-# INLINE _VkDestroyIndirectCommandsLayoutNVX #-}++_VkDestroyIndirectCommandsLayoutNVX :: CString+_VkDestroyIndirectCommandsLayoutNVX+ = Ptr "vkDestroyIndirectCommandsLayoutNVX\NUL"#++{-# INLINE is_VkDestroyIndirectCommandsLayoutNVX #-}++is_VkDestroyIndirectCommandsLayoutNVX :: CString -> Bool+is_VkDestroyIndirectCommandsLayoutNVX+ = (EQ ==) . cmpCStrings _VkDestroyIndirectCommandsLayoutNVX++type VkDestroyIndirectCommandsLayoutNVX =+ "vkDestroyIndirectCommandsLayoutNVX"++-- | > void vkDestroyIndirectCommandsLayoutNVX -- > ( VkDevice device -- > , VkIndirectCommandsLayoutNVX indirectCommandsLayout -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyIndirectCommandsLayoutNVX.html vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org>-foreign import ccall safe "vkDestroyIndirectCommandsLayoutNVX"- vkDestroyIndirectCommandsLayoutNVXSafe ::- VkDevice -- ^ device- ->- VkIndirectCommandsLayoutNVX -- ^ indirectCommandsLayout- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyIndirectCommandsLayoutNVX vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org>+type HS_vkDestroyIndirectCommandsLayoutNVX =+ VkDevice -- ^ device+ ->+ VkIndirectCommandsLayoutNVX -- ^ indirectCommandsLayout+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO () --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkCreateObjectTableNVX--- > ( VkDevice device--- > , const VkObjectTableCreateInfoNVX* pCreateInfo--- > , const VkAllocationCallbacks* pAllocator--- > , VkObjectTableNVX* pObjectTable--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateObjectTableNVX.html vkCreateObjectTableNVX registry at www.khronos.org>-foreign import ccall unsafe "vkCreateObjectTableNVX"- vkCreateObjectTableNVX ::- VkDevice -- ^ device- ->- Ptr VkObjectTableCreateInfoNVX -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkObjectTableNVX -- ^ pObjectTable- -> IO VkResult+type PFN_vkDestroyIndirectCommandsLayoutNVX =+ FunPtr HS_vkDestroyIndirectCommandsLayoutNVX +foreign import ccall "dynamic"+ unwrapVkDestroyIndirectCommandsLayoutNVX ::+ PFN_vkDestroyIndirectCommandsLayoutNVX ->+ HS_vkDestroyIndirectCommandsLayoutNVX++instance VulkanProc "vkDestroyIndirectCommandsLayoutNVX" where+ type VkProcType "vkDestroyIndirectCommandsLayoutNVX" =+ HS_vkDestroyIndirectCommandsLayoutNVX+ vkProcSymbol = _VkDestroyIndirectCommandsLayoutNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyIndirectCommandsLayoutNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkCreateObjectTableNVX :: CString++pattern VkCreateObjectTableNVX <-+ (is_VkCreateObjectTableNVX -> True)+ where VkCreateObjectTableNVX = _VkCreateObjectTableNVX++{-# INLINE _VkCreateObjectTableNVX #-}++_VkCreateObjectTableNVX :: CString+_VkCreateObjectTableNVX = Ptr "vkCreateObjectTableNVX\NUL"#++{-# INLINE is_VkCreateObjectTableNVX #-}++is_VkCreateObjectTableNVX :: CString -> Bool+is_VkCreateObjectTableNVX+ = (EQ ==) . cmpCStrings _VkCreateObjectTableNVX++type VkCreateObjectTableNVX = "vkCreateObjectTableNVX"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -292,70 +356,97 @@ -- > , VkObjectTableNVX* pObjectTable -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCreateObjectTableNVX.html vkCreateObjectTableNVX registry at www.khronos.org>-foreign import ccall safe "vkCreateObjectTableNVX"- vkCreateObjectTableNVXSafe ::- VkDevice -- ^ device- ->- Ptr VkObjectTableCreateInfoNVX -- ^ pCreateInfo- ->- Ptr VkAllocationCallbacks -- ^ pAllocator- -> Ptr VkObjectTableNVX -- ^ pObjectTable- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCreateObjectTableNVX vkCreateObjectTableNVX registry at www.khronos.org>+type HS_vkCreateObjectTableNVX =+ VkDevice -- ^ device+ ->+ Ptr VkObjectTableCreateInfoNVX -- ^ pCreateInfo+ ->+ Ptr VkAllocationCallbacks -- ^ pAllocator+ -> Ptr VkObjectTableNVX -- ^ pObjectTable+ -> IO VkResult --- | > () vkDestroyObjectTableNVX--- > ( VkDevice device--- > , VkObjectTableNVX objectTable--- > , const VkAllocationCallbacks* pAllocator--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyObjectTableNVX.html vkDestroyObjectTableNVX registry at www.khronos.org>-foreign import ccall unsafe "vkDestroyObjectTableNVX"- vkDestroyObjectTableNVX ::- VkDevice -- ^ device- -> VkObjectTableNVX -- ^ objectTable- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+type PFN_vkCreateObjectTableNVX = FunPtr HS_vkCreateObjectTableNVX --- | > () vkDestroyObjectTableNVX+foreign import ccall "dynamic" unwrapVkCreateObjectTableNVX ::+ PFN_vkCreateObjectTableNVX -> HS_vkCreateObjectTableNVX++instance VulkanProc "vkCreateObjectTableNVX" where+ type VkProcType "vkCreateObjectTableNVX" =+ HS_vkCreateObjectTableNVX+ vkProcSymbol = _VkCreateObjectTableNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCreateObjectTableNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkDestroyObjectTableNVX :: CString++pattern VkDestroyObjectTableNVX <-+ (is_VkDestroyObjectTableNVX -> True)+ where VkDestroyObjectTableNVX = _VkDestroyObjectTableNVX++{-# INLINE _VkDestroyObjectTableNVX #-}++_VkDestroyObjectTableNVX :: CString+_VkDestroyObjectTableNVX = Ptr "vkDestroyObjectTableNVX\NUL"#++{-# INLINE is_VkDestroyObjectTableNVX #-}++is_VkDestroyObjectTableNVX :: CString -> Bool+is_VkDestroyObjectTableNVX+ = (EQ ==) . cmpCStrings _VkDestroyObjectTableNVX++type VkDestroyObjectTableNVX = "vkDestroyObjectTableNVX"++-- | > void vkDestroyObjectTableNVX -- > ( VkDevice device -- > , VkObjectTableNVX objectTable -- > , const VkAllocationCallbacks* pAllocator -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkDestroyObjectTableNVX.html vkDestroyObjectTableNVX registry at www.khronos.org>-foreign import ccall safe "vkDestroyObjectTableNVX"- vkDestroyObjectTableNVXSafe ::- VkDevice -- ^ device- -> VkObjectTableNVX -- ^ objectTable- -> Ptr VkAllocationCallbacks -- ^ pAllocator- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkDestroyObjectTableNVX vkDestroyObjectTableNVX registry at www.khronos.org>+type HS_vkDestroyObjectTableNVX =+ VkDevice -- ^ device+ -> VkObjectTableNVX -- ^ objectTable+ -> Ptr VkAllocationCallbacks -- ^ pAllocator+ -> IO () --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkRegisterObjectsNVX--- > ( VkDevice device--- > , VkObjectTableNVX objectTable--- > , uint32_t objectCount--- > , const VkObjectTableEntryNVX* const* ppObjectTableEntries--- > , const uint32_t* pObjectIndices--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterObjectsNVX.html vkRegisterObjectsNVX registry at www.khronos.org>-foreign import ccall unsafe "vkRegisterObjectsNVX"- vkRegisterObjectsNVX ::- VkDevice -- ^ device- ->- VkObjectTableNVX -- ^ objectTable- ->- Word32 -- ^ objectCount- ->- Ptr (Ptr VkObjectTableEntryNVX) -- ^ ppObjectTableEntries- -> Ptr Word32 -- ^ pObjectIndices- -> IO VkResult+type PFN_vkDestroyObjectTableNVX =+ FunPtr HS_vkDestroyObjectTableNVX +foreign import ccall "dynamic" unwrapVkDestroyObjectTableNVX ::+ PFN_vkDestroyObjectTableNVX -> HS_vkDestroyObjectTableNVX++instance VulkanProc "vkDestroyObjectTableNVX" where+ type VkProcType "vkDestroyObjectTableNVX" =+ HS_vkDestroyObjectTableNVX+ vkProcSymbol = _VkDestroyObjectTableNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkDestroyObjectTableNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkRegisterObjectsNVX :: CString++pattern VkRegisterObjectsNVX <- (is_VkRegisterObjectsNVX -> True)+ where VkRegisterObjectsNVX = _VkRegisterObjectsNVX++{-# INLINE _VkRegisterObjectsNVX #-}++_VkRegisterObjectsNVX :: CString+_VkRegisterObjectsNVX = Ptr "vkRegisterObjectsNVX\NUL"#++{-# INLINE is_VkRegisterObjectsNVX #-}++is_VkRegisterObjectsNVX :: CString -> Bool+is_VkRegisterObjectsNVX+ = (EQ ==) . cmpCStrings _VkRegisterObjectsNVX++type VkRegisterObjectsNVX = "vkRegisterObjectsNVX"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -368,43 +459,51 @@ -- > , const uint32_t* pObjectIndices -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkRegisterObjectsNVX.html vkRegisterObjectsNVX registry at www.khronos.org>-foreign import ccall safe "vkRegisterObjectsNVX"- vkRegisterObjectsNVXSafe ::- VkDevice -- ^ device+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkRegisterObjectsNVX vkRegisterObjectsNVX registry at www.khronos.org>+type HS_vkRegisterObjectsNVX =+ VkDevice -- ^ device+ ->+ VkObjectTableNVX -- ^ objectTable ->- VkObjectTableNVX -- ^ objectTable- ->- Word32 -- ^ objectCount- ->- Ptr (Ptr VkObjectTableEntryNVX) -- ^ ppObjectTableEntries- -> Ptr Word32 -- ^ pObjectIndices- -> IO VkResult+ Word32 -- ^ objectCount+ ->+ Ptr (Ptr VkObjectTableEntryNVX) -- ^ ppObjectTableEntries+ -> Ptr Word32 -- ^ pObjectIndices+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.------ > VkResult vkUnregisterObjectsNVX--- > ( VkDevice device--- > , VkObjectTableNVX objectTable--- > , uint32_t objectCount--- > , const VkObjectEntryTypeNVX* pObjectEntryTypes--- > , const uint32_t* pObjectIndices--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnregisterObjectsNVX.html vkUnregisterObjectsNVX registry at www.khronos.org>-foreign import ccall unsafe "vkUnregisterObjectsNVX"- vkUnregisterObjectsNVX ::- VkDevice -- ^ device- ->- VkObjectTableNVX -- ^ objectTable- ->- Word32 -- ^ objectCount- -> Ptr VkObjectEntryTypeNVX -- ^ pObjectEntryTypes- -> Ptr Word32 -- ^ pObjectIndices- -> IO VkResult+type PFN_vkRegisterObjectsNVX = FunPtr HS_vkRegisterObjectsNVX +foreign import ccall "dynamic" unwrapVkRegisterObjectsNVX ::+ PFN_vkRegisterObjectsNVX -> HS_vkRegisterObjectsNVX++instance VulkanProc "vkRegisterObjectsNVX" where+ type VkProcType "vkRegisterObjectsNVX" = HS_vkRegisterObjectsNVX+ vkProcSymbol = _VkRegisterObjectsNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkRegisterObjectsNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkUnregisterObjectsNVX :: CString++pattern VkUnregisterObjectsNVX <-+ (is_VkUnregisterObjectsNVX -> True)+ where VkUnregisterObjectsNVX = _VkUnregisterObjectsNVX++{-# INLINE _VkUnregisterObjectsNVX #-}++_VkUnregisterObjectsNVX :: CString+_VkUnregisterObjectsNVX = Ptr "vkUnregisterObjectsNVX\NUL"#++{-# INLINE is_VkUnregisterObjectsNVX #-}++is_VkUnregisterObjectsNVX :: CString -> Bool+is_VkUnregisterObjectsNVX+ = (EQ ==) . cmpCStrings _VkUnregisterObjectsNVX++type VkUnregisterObjectsNVX = "vkUnregisterObjectsNVX"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.@@ -417,51 +516,92 @@ -- > , const uint32_t* pObjectIndices -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkUnregisterObjectsNVX.html vkUnregisterObjectsNVX registry at www.khronos.org>-foreign import ccall safe "vkUnregisterObjectsNVX"- vkUnregisterObjectsNVXSafe ::- VkDevice -- ^ device+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkUnregisterObjectsNVX vkUnregisterObjectsNVX registry at www.khronos.org>+type HS_vkUnregisterObjectsNVX =+ VkDevice -- ^ device+ ->+ VkObjectTableNVX -- ^ objectTable ->- VkObjectTableNVX -- ^ objectTable- ->- Word32 -- ^ objectCount- -> Ptr VkObjectEntryTypeNVX -- ^ pObjectEntryTypes- -> Ptr Word32 -- ^ pObjectIndices- -> IO VkResult+ Word32 -- ^ objectCount+ -> Ptr VkObjectEntryTypeNVX -- ^ pObjectEntryTypes+ -> Ptr Word32 -- ^ pObjectIndices+ -> IO VkResult --- | > () vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX--- > ( VkPhysicalDevice physicalDevice--- > , VkDeviceGeneratedCommandsFeaturesNVX* pFeatures--- > , VkDeviceGeneratedCommandsLimitsNVX* pLimits--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX.html vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"- vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkDeviceGeneratedCommandsFeaturesNVX -- ^ pFeatures- ->- Ptr VkDeviceGeneratedCommandsLimitsNVX -- ^ pLimits- -> IO ()+type PFN_vkUnregisterObjectsNVX = FunPtr HS_vkUnregisterObjectsNVX --- | > () vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+foreign import ccall "dynamic" unwrapVkUnregisterObjectsNVX ::+ PFN_vkUnregisterObjectsNVX -> HS_vkUnregisterObjectsNVX++instance VulkanProc "vkUnregisterObjectsNVX" where+ type VkProcType "vkUnregisterObjectsNVX" =+ HS_vkUnregisterObjectsNVX+ vkProcSymbol = _VkUnregisterObjectsNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkUnregisterObjectsNVX++ {-# INLINE unwrapVkProcPtr #-}++pattern VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::+ CString++pattern VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX <-+ (is_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX -> True)+ where VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+ = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX++{-# INLINE _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX #-}++_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: CString+_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+ = Ptr "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX\NUL"#++{-# INLINE is_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX #-}++is_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::+ CString -> Bool+is_VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX++type VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX =+ "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"++-- | > void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX -- > ( VkPhysicalDevice physicalDevice -- > , VkDeviceGeneratedCommandsFeaturesNVX* pFeatures -- > , VkDeviceGeneratedCommandsLimitsNVX* pLimits -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX.html vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at www.khronos.org>-foreign import ccall safe- "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"- vkGetPhysicalDeviceGeneratedCommandsPropertiesNVXSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- Ptr VkDeviceGeneratedCommandsFeaturesNVX -- ^ pFeatures- ->- Ptr VkDeviceGeneratedCommandsLimitsNVX -- ^ pLimits- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at www.khronos.org>+type HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ Ptr VkDeviceGeneratedCommandsFeaturesNVX -- ^ pFeatures+ ->+ Ptr VkDeviceGeneratedCommandsLimitsNVX -- ^ pLimits+ -> IO ()++type PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX =+ FunPtr HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ::+ PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX ->+ HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX++instance VulkanProc+ "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"+ where+ type VkProcType "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX"+ = HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX+ vkProcSymbol = _VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX++ {-# INLINE unwrapVkProcPtr #-} pattern VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION :: (Num a, Eq a) => a
@@ -24,14 +24,10 @@ -- ** Required extensions: 'VK_KHR_multiview'. module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2,- module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties,- module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PhysicalDevice,+ module Graphics.Vulkan.Types.Enum.PhysicalDeviceType,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION, pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION,@@ -41,21 +37,15 @@ pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX, pattern VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags- (VkSubpassDescriptionBitmask (..),- VkSubpassDescriptionFlagBits)-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2-import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.Subpass (VkSubpassDescriptionBitmask (..),+ VkSubpassDescriptionFlagBits)+import Graphics.Vulkan.Types.Struct.PhysicalDevice pattern VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,9 +1,12 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling (-- * Vulkan extension: @VK_NV_clip_space_w_scaling@@@ -19,17 +22,16 @@ -- -- Extension number: @88@ module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkExtent2D,- module Graphics.Vulkan.Types.Struct.VkOffset2D,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.Offset, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineViewportWScalingStateCreateInfoNV,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkViewport,- module Graphics.Vulkan.Types.Struct.VkViewportWScalingNV,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Viewport, -- > #include "vk_platform.h"- vkCmdSetViewportWScalingNV, vkCmdSetViewportWScalingNVSafe,+ VkCmdSetViewportWScalingNV, pattern VkCmdSetViewportWScalingNV,+ HS_vkCmdSetViewportWScalingNV, PFN_vkCmdSetViewportWScalingNV, module Graphics.Vulkan.Types.Handles, VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION, pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION,@@ -38,64 +40,74 @@ pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV, pattern VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkDynamicState- (VkDynamicState (..))-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.DynamicState (VkDynamicState (..))+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineViewportWScalingStateCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkViewport-import Graphics.Vulkan.Types.Struct.VkViewportWScalingNV+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.Viewport --- | queues: 'graphics'.------ renderpass: @both@------ > () vkCmdSetViewportWScalingNV--- > ( VkCommandBuffer commandBuffer--- > , uint32_t firstViewport--- > , uint32_t viewportCount--- > , const VkViewportWScalingNV* pViewportWScalings--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewportWScalingNV.html vkCmdSetViewportWScalingNV registry at www.khronos.org>-foreign import ccall unsafe "vkCmdSetViewportWScalingNV"- vkCmdSetViewportWScalingNV ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ firstViewport- -> Word32 -- ^ viewportCount- -> Ptr VkViewportWScalingNV -- ^ pViewportWScalings- -> IO ()+pattern VkCmdSetViewportWScalingNV :: CString --- | queues: 'graphics'.+pattern VkCmdSetViewportWScalingNV <-+ (is_VkCmdSetViewportWScalingNV -> True)+ where VkCmdSetViewportWScalingNV = _VkCmdSetViewportWScalingNV++{-# INLINE _VkCmdSetViewportWScalingNV #-}++_VkCmdSetViewportWScalingNV :: CString+_VkCmdSetViewportWScalingNV = Ptr "vkCmdSetViewportWScalingNV\NUL"#++{-# INLINE is_VkCmdSetViewportWScalingNV #-}++is_VkCmdSetViewportWScalingNV :: CString -> Bool+is_VkCmdSetViewportWScalingNV+ = (EQ ==) . cmpCStrings _VkCmdSetViewportWScalingNV++type VkCmdSetViewportWScalingNV = "vkCmdSetViewportWScalingNV"++-- | Queues: 'graphics'. ----- renderpass: @both@+-- Renderpass: @both@ ----- > () vkCmdSetViewportWScalingNV+-- > void vkCmdSetViewportWScalingNV -- > ( VkCommandBuffer commandBuffer -- > , uint32_t firstViewport -- > , uint32_t viewportCount -- > , const VkViewportWScalingNV* pViewportWScalings -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetViewportWScalingNV.html vkCmdSetViewportWScalingNV registry at www.khronos.org>-foreign import ccall safe "vkCmdSetViewportWScalingNV"- vkCmdSetViewportWScalingNVSafe ::- VkCommandBuffer -- ^ commandBuffer- ->- Word32 -- ^ firstViewport- -> Word32 -- ^ viewportCount- -> Ptr VkViewportWScalingNV -- ^ pViewportWScalings- -> IO ()+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV registry at www.khronos.org>+type HS_vkCmdSetViewportWScalingNV =+ VkCommandBuffer -- ^ commandBuffer+ ->+ Word32 -- ^ firstViewport+ -> Word32 -- ^ viewportCount+ -> Ptr VkViewportWScalingNV -- ^ pViewportWScalings+ -> IO ()++type PFN_vkCmdSetViewportWScalingNV =+ FunPtr HS_vkCmdSetViewportWScalingNV++foreign import ccall "dynamic" unwrapVkCmdSetViewportWScalingNV ::+ PFN_vkCmdSetViewportWScalingNV -> HS_vkCmdSetViewportWScalingNV++instance VulkanProc "vkCmdSetViewportWScalingNV" where+ type VkProcType "vkCmdSetViewportWScalingNV" =+ HS_vkCmdSetViewportWScalingNV+ vkProcSymbol = _VkCmdSetViewportWScalingNV++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkCmdSetViewportWScalingNV++ {-# INLINE unwrapVkProcPtr #-} pattern VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION :: (Num a, Eq a) => a
@@ -18,24 +18,17 @@ -- -- Extension number: @27@ module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags,- module Graphics.Vulkan.Types.Struct.VkBufferCreateInfo,- module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags,- module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationBufferCreateInfoNV,- module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationImageCreateInfoNV,- module Graphics.Vulkan.Types.Struct.VkDedicatedAllocationMemoryAllocateInfoNV,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Enum.Buffer,+ module Graphics.Vulkan.Types.Struct.Buffer,+ module Graphics.Vulkan.Types.Struct.DedicatedAllocation,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION, pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION,@@ -45,28 +38,20 @@ pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV, pattern VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkBufferCreateFlags-import Graphics.Vulkan.Types.Enum.VkBufferUsageFlags-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkBufferCreateInfo-import Graphics.Vulkan.Types.Struct.VkDedicatedAllocationBufferCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkDedicatedAllocationImageCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkDedicatedAllocationMemoryAllocateInfoNV-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import Graphics.Vulkan.Types.Enum.Buffer+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Buffer+import Graphics.Vulkan.Types.Struct.DedicatedAllocation+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Memory pattern VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,21 +23,17 @@ -- ** Required extensions: 'VK_NV_external_memory_capabilities'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoNV,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV,- module Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoNV,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Struct.VkImageCreateInfo,- module Graphics.Vulkan.Types.Enum.VkImageLayout,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkSharingMode,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Export,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Struct.External,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.SharingMode,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_NV_EXTERNAL_MEMORY_SPEC_VERSION, pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION,@@ -46,24 +42,20 @@ pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV, pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageLayout-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkSharingMode-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkExportMemoryAllocateInfoNV-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkExternalMemoryImageCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkImageCreateInfo-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.SharingMode+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Export+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.Image+import Graphics.Vulkan.Types.Struct.Memory pattern VK_NV_EXTERNAL_MEMORY_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities (-- * Vulkan extension: @VK_NV_external_memory_capabilities@@@ -20,45 +23,66 @@ -- -- Extension number: @56@ module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkExtent3D,- module Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesNV,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsNV,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV,- module Graphics.Vulkan.Types.Struct.VkImageFormatProperties,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,+ module Graphics.Vulkan.Types.Struct.Extent,+ module Graphics.Vulkan.Types.Struct.External,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Struct.Image,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags, -- > #include "vk_platform.h"- vkGetPhysicalDeviceExternalImageFormatPropertiesNV,- vkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe,+ VkGetPhysicalDeviceExternalImageFormatPropertiesNV,+ pattern VkGetPhysicalDeviceExternalImageFormatPropertiesNV,+ HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV,+ PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkFormat,- module Graphics.Vulkan.Types.Enum.VkImageCreateFlags,- module Graphics.Vulkan.Types.Enum.VkImageTiling,- module Graphics.Vulkan.Types.Enum.VkImageType,- module Graphics.Vulkan.Types.Enum.VkImageUsageFlags,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Format,+ module Graphics.Vulkan.Types.Enum.Image,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION, pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION, VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME, pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsNV-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV-import Graphics.Vulkan.Types.Enum.VkFormat-import Graphics.Vulkan.Types.Enum.VkImageCreateFlags-import Graphics.Vulkan.Types.Enum.VkImageTiling-import Graphics.Vulkan.Types.Enum.VkImageType-import Graphics.Vulkan.Types.Enum.VkImageUsageFlags-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Format+import Graphics.Vulkan.Types.Enum.Image+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.SampleCountFlags import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Struct.VkExtent3D-import Graphics.Vulkan.Types.Struct.VkExternalImageFormatPropertiesNV-import Graphics.Vulkan.Types.Struct.VkImageFormatProperties+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.External+import Graphics.Vulkan.Types.Struct.Image +pattern VkGetPhysicalDeviceExternalImageFormatPropertiesNV ::+ CString++pattern VkGetPhysicalDeviceExternalImageFormatPropertiesNV <-+ (is_VkGetPhysicalDeviceExternalImageFormatPropertiesNV -> True)+ where VkGetPhysicalDeviceExternalImageFormatPropertiesNV+ = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV++{-# INLINE _VkGetPhysicalDeviceExternalImageFormatPropertiesNV #-}++_VkGetPhysicalDeviceExternalImageFormatPropertiesNV :: CString+_VkGetPhysicalDeviceExternalImageFormatPropertiesNV+ = Ptr "vkGetPhysicalDeviceExternalImageFormatPropertiesNV\NUL"#++{-# INLINE is_VkGetPhysicalDeviceExternalImageFormatPropertiesNV+ #-}++is_VkGetPhysicalDeviceExternalImageFormatPropertiesNV ::+ CString -> Bool+is_VkGetPhysicalDeviceExternalImageFormatPropertiesNV+ = (EQ ==) .+ cmpCStrings _VkGetPhysicalDeviceExternalImageFormatPropertiesNV++type VkGetPhysicalDeviceExternalImageFormatPropertiesNV =+ "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.@@ -74,62 +98,46 @@ -- > , VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org>-foreign import ccall unsafe- "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"- vkGetPhysicalDeviceExternalImageFormatPropertiesNV ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkFormat -- ^ format- ->- VkImageType -- ^ type+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org>+type HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV =+ VkPhysicalDevice -- ^ physicalDevice+ ->+ VkFormat -- ^ format+ ->+ VkImageType -- ^ type+ ->+ VkImageTiling -- ^ tiling+ ->+ VkImageUsageFlags -- ^ usage ->- VkImageTiling -- ^ tiling- ->- VkImageUsageFlags -- ^ usage- ->- VkImageCreateFlags -- ^ flags- ->- VkExternalMemoryHandleTypeFlagsNV -- ^ externalHandleType- ->- Ptr VkExternalImageFormatPropertiesNV -- ^ pExternalImageFormatProperties- -> IO VkResult+ VkImageCreateFlags -- ^ flags+ ->+ VkExternalMemoryHandleTypeFlagsNV -- ^ externalHandleType+ ->+ Ptr VkExternalImageFormatPropertiesNV -- ^ pExternalImageFormatProperties+ -> IO VkResult --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'.------ > VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV--- > ( VkPhysicalDevice physicalDevice--- > , VkFormat format--- > , VkImageType type--- > , VkImageTiling tiling--- > , VkImageUsageFlags usage--- > , VkImageCreateFlags flags--- > , VkExternalMemoryHandleTypeFlagsNV externalHandleType--- > , VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.html vkGetPhysicalDeviceExternalImageFormatPropertiesNV registry at www.khronos.org>-foreign import ccall safe+type PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV =+ FunPtr HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV++foreign import ccall "dynamic"+ unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNV ::+ PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV ->+ HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV++instance VulkanProc+ "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"+ where+ type VkProcType "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"- vkGetPhysicalDeviceExternalImageFormatPropertiesNVSafe ::- VkPhysicalDevice -- ^ physicalDevice- ->- VkFormat -- ^ format- ->- VkImageType -- ^ type- ->- VkImageTiling -- ^ tiling- ->- VkImageUsageFlags -- ^ usage- ->- VkImageCreateFlags -- ^ flags- ->- VkExternalMemoryHandleTypeFlagsNV -- ^ externalHandleType- ->- Ptr VkExternalImageFormatPropertiesNV -- ^ pExternalImageFormatProperties- -> IO VkResult+ = HS_vkGetPhysicalDeviceExternalImageFormatPropertiesNV+ vkProcSymbol = _VkGetPhysicalDeviceExternalImageFormatPropertiesNV++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr+ = unwrapVkGetPhysicalDeviceExternalImageFormatPropertiesNV++ {-# INLINE unwrapVkProcPtr #-} pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -1,10 +1,13 @@+{-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_GHC -fno-warn-unused-imports#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_NV_external_memory_win32 (-- * Vulkan extension: @VK_NV_external_memory_win32@@@ -27,15 +30,15 @@ -- ** Required extensions: 'VK_NV_external_memory'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoNV,- module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV,- module Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoNV,- module Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr,+ module Graphics.Vulkan.Types.Enum.External,+ module Graphics.Vulkan.Types.Struct.Memory,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h"- vkGetMemoryWin32HandleNV, vkGetMemoryWin32HandleNVSafe,+ VkGetMemoryWin32HandleNV, pattern VkGetMemoryWin32HandleNV,+ HS_vkGetMemoryWin32HandleNV, PFN_vkGetMemoryWin32HandleNV, module Graphics.Vulkan.Marshal,- module Graphics.Vulkan.Types.Enum.VkResult,+ module Graphics.Vulkan.Types.Enum.Result, module Graphics.Vulkan.Types.Handles, VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION, pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION,@@ -44,40 +47,37 @@ pattern VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV, pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV-import Graphics.Vulkan.Types.Enum.VkResult-import Graphics.Vulkan.Types.Enum.VkStructureType+import Graphics.Vulkan.Types.Enum.External+import Graphics.Vulkan.Types.Enum.Result+import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles-import Graphics.Vulkan.Types.Include (HANDLE)-import Graphics.Vulkan.Types.Struct.VkExportMemoryWin32HandleInfoNV-import Graphics.Vulkan.Types.Struct.VkImportMemoryWin32HandleInfoNV-import Graphics.Vulkan.Types.Struct.VkMemoryAllocateInfo+import Graphics.Vulkan.Types.Include (HANDLE)+import Graphics.Vulkan.Types.Struct.Memory+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr --- | Success codes: 'VK_SUCCESS'.------ Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.------ > VkResult vkGetMemoryWin32HandleNV--- > ( VkDevice device--- > , VkDeviceMemory memory--- > , VkExternalMemoryHandleTypeFlagsNV handleType--- > , HANDLE* pHandle--- > )------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleNV.html vkGetMemoryWin32HandleNV registry at www.khronos.org>-foreign import ccall unsafe "vkGetMemoryWin32HandleNV"- vkGetMemoryWin32HandleNV ::- VkDevice -- ^ device- ->- VkDeviceMemory -- ^ memory- ->- VkExternalMemoryHandleTypeFlagsNV -- ^ handleType- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+pattern VkGetMemoryWin32HandleNV :: CString +pattern VkGetMemoryWin32HandleNV <-+ (is_VkGetMemoryWin32HandleNV -> True)+ where VkGetMemoryWin32HandleNV = _VkGetMemoryWin32HandleNV++{-# INLINE _VkGetMemoryWin32HandleNV #-}++_VkGetMemoryWin32HandleNV :: CString+_VkGetMemoryWin32HandleNV = Ptr "vkGetMemoryWin32HandleNV\NUL"#++{-# INLINE is_VkGetMemoryWin32HandleNV #-}++is_VkGetMemoryWin32HandleNV :: CString -> Bool+is_VkGetMemoryWin32HandleNV+ = (EQ ==) . cmpCStrings _VkGetMemoryWin32HandleNV++type VkGetMemoryWin32HandleNV = "vkGetMemoryWin32HandleNV"+ -- | Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_TOO_MANY_OBJECTS', 'VK_ERROR_OUT_OF_HOST_MEMORY'.@@ -89,16 +89,31 @@ -- > , HANDLE* pHandle -- > ) ----- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetMemoryWin32HandleNV.html vkGetMemoryWin32HandleNV registry at www.khronos.org>-foreign import ccall safe "vkGetMemoryWin32HandleNV"- vkGetMemoryWin32HandleNVSafe ::- VkDevice -- ^ device- ->- VkDeviceMemory -- ^ memory- ->- VkExternalMemoryHandleTypeFlagsNV -- ^ handleType- -> Ptr HANDLE -- ^ pHandle- -> IO VkResult+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV registry at www.khronos.org>+type HS_vkGetMemoryWin32HandleNV =+ VkDevice -- ^ device+ ->+ VkDeviceMemory -- ^ memory+ ->+ VkExternalMemoryHandleTypeFlagsNV -- ^ handleType+ -> Ptr HANDLE -- ^ pHandle+ -> IO VkResult++type PFN_vkGetMemoryWin32HandleNV =+ FunPtr HS_vkGetMemoryWin32HandleNV++foreign import ccall "dynamic" unwrapVkGetMemoryWin32HandleNV ::+ PFN_vkGetMemoryWin32HandleNV -> HS_vkGetMemoryWin32HandleNV++instance VulkanProc "vkGetMemoryWin32HandleNV" where+ type VkProcType "vkGetMemoryWin32HandleNV" =+ HS_vkGetMemoryWin32HandleNV+ vkProcSymbol = _VkGetMemoryWin32HandleNV++ {-# INLINE vkProcSymbol #-}+ unwrapVkProcPtr = unwrapVkGetMemoryWin32HandleNV++ {-# INLINE unwrapVkProcPtr #-} pattern VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,9 +23,9 @@ pattern VK_NV_FILL_RECTANGLE_EXTENSION_NAME, pattern VK_POLYGON_MODE_FILL_RECTANGLE_NV) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkPolygonMode (VkPolygonMode (..))+import Graphics.Vulkan.Types.Enum.PolygonMode (VkPolygonMode (..)) pattern VK_NV_FILL_RECTANGLE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -19,10 +19,9 @@ -- Extension number: @150@ module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineCoverageToColorStateCreateInfoNV,- module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION, pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION,@@ -30,15 +29,13 @@ pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkPipelineCoverageToColorStateCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Pipeline pattern VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION :: (Num a, Eq a) => a
@@ -18,12 +18,11 @@ -- -- Extension number: @153@ module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkCoverageModulationModeNV,+ module Graphics.Vulkan.Types.Enum.CoverageModulationModeNV, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineCoverageModulationStateCreateInfoNV,- module Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo,- module Graphics.Vulkan.Types.Enum.VkSampleCountFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Enum.SampleCountFlags,+ module Graphics.Vulkan.Types.Enum.StructureType, -- > #include "vk_platform.h" VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION, pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION,@@ -31,16 +30,14 @@ pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkCoverageModulationModeNV-import Graphics.Vulkan.Types.Enum.VkSampleCountFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkPipelineCoverageModulationStateCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkPipelineMultisampleStateCreateInfo+import Graphics.Vulkan.Types.Enum.CoverageModulationModeNV+import Graphics.Vulkan.Types.Enum.SampleCountFlags+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.Pipeline pattern VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: (Num a, Eq a) => a
@@ -23,9 +23,9 @@ pattern VK_NV_GLSL_SHADER_EXTENSION_NAME, pattern VK_ERROR_INVALID_SHADER_NV) where-import GHC.Ptr (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.Enum.VkResult (VkResult (..))+import Graphics.Vulkan.Types.Enum.Result (VkResult (..)) pattern VK_NV_GLSL_SHADER_SPEC_VERSION :: (Num a, Eq a) => a
@@ -0,0 +1,67 @@+{-# OPTIONS_HADDOCK not-home#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE ViewPatterns #-}+module Graphics.Vulkan.Ext.VK_NV_shader_subgroup_partitioned+ (-- * Vulkan extension: @VK_NV_shader_subgroup_partitioned@+ -- |+ --+ -- supported: @vulkan@+ --+ -- contact: @Jeff Bolz @jbolz@+ --+ -- author: @NV@+ --+ -- type: @device@+ --+ -- Extension number: @199@+ VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION,+ pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION,+ VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME,+ pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME,+ pattern VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV)+ where+import GHC.Ptr (Ptr (..))+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags (VkSubgroupFeatureBitmask (..),+ VkSubgroupFeatureFlagBits)++pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION ::+ (Num a, Eq a) => a++pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1++type VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1++pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME :: CString++pattern VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME <-+ (is_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME -> True)+ where VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME+ = _VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME++{-# INLINE _VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME #-}++_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME :: CString+_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME+ = Ptr "VK_NV_shader_subgroup_partitioned\NUL"#++{-# INLINE is_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME #-}++is_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME ::+ CString -> Bool+is_VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME+ = (EQ ==) .+ cmpCStrings _VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME++type VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME =+ "VK_NV_shader_subgroup_partitioned"++-- | bitpos = @8@+pattern VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV ::+ VkSubgroupFeatureFlagBits++pattern VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV =+ VkSubgroupFeatureFlagBits 256
@@ -17,17 +17,15 @@ -- type: @device@ -- -- Extension number: @99@- module Graphics.Vulkan.Types.Struct.VkExtent2D,+ module Graphics.Vulkan.Types.Struct.Extent, module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Struct.VkOffset2D,+ module Graphics.Vulkan.Types.Struct.Offset, module Graphics.Vulkan.Types.Bitmasks,- module Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo,- module Graphics.Vulkan.Types.Struct.VkPipelineViewportSwizzleStateCreateInfoNV,- module Graphics.Vulkan.Types.Struct.VkRect2D,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkViewport,- module Graphics.Vulkan.Types.Enum.VkViewportCoordinateSwizzleNV,- module Graphics.Vulkan.Types.Struct.VkViewportSwizzleNV,+ module Graphics.Vulkan.Types.Struct.Pipeline,+ module Graphics.Vulkan.Types.Struct.Rect,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.Viewport,+ module Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV, -- > #include "vk_platform.h" VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION, pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION,@@ -35,20 +33,17 @@ pattern VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Enum.VkViewportCoordinateSwizzleNV-import Graphics.Vulkan.Types.Struct.VkExtent2D-import Graphics.Vulkan.Types.Struct.VkOffset2D-import Graphics.Vulkan.Types.Struct.VkPipelineViewportStateCreateInfo-import Graphics.Vulkan.Types.Struct.VkPipelineViewportSwizzleStateCreateInfoNV-import Graphics.Vulkan.Types.Struct.VkRect2D-import Graphics.Vulkan.Types.Struct.VkViewport-import Graphics.Vulkan.Types.Struct.VkViewportSwizzleNV+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV+import Graphics.Vulkan.Types.Struct.Extent+import Graphics.Vulkan.Types.Struct.Offset+import Graphics.Vulkan.Types.Struct.Pipeline+import Graphics.Vulkan.Types.Struct.Rect+import Graphics.Vulkan.Types.Struct.Viewport pattern VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: (Num a, Eq a) => a
@@ -25,10 +25,10 @@ -- ** Required extensions: 'VK_NV_external_memory_win32'. module Graphics.Vulkan.Types.BaseTypes,- module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags,- module Graphics.Vulkan.Types.Enum.VkStructureType,- module Graphics.Vulkan.Types.Struct.VkSubmitInfo,- module Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoNV,+ module Graphics.Vulkan.Types.Enum.Pipeline,+ module Graphics.Vulkan.Types.Enum.StructureType,+ module Graphics.Vulkan.Types.Struct.SubmitInfo,+ module Graphics.Vulkan.Types.Struct.PlatformWin32Khr, -- > #include "vk_platform.h" VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION, pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION,@@ -36,14 +36,13 @@ pattern VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV) where-import GHC.Ptr- (Ptr (..))+import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes-import Graphics.Vulkan.Types.Enum.VkPipelineStageFlags-import Graphics.Vulkan.Types.Enum.VkStructureType-import Graphics.Vulkan.Types.Struct.VkSubmitInfo-import Graphics.Vulkan.Types.Struct.VkWin32KeyedMutexAcquireReleaseInfoNV+import Graphics.Vulkan.Types.Enum.Pipeline+import Graphics.Vulkan.Types.Enum.StructureType+import Graphics.Vulkan.Types.Struct.PlatformWin32Khr+import Graphics.Vulkan.Types.Struct.SubmitInfo pattern VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION :: (Num a, Eq a) => a
@@ -57,12 +57,12 @@ type VK_API_VERSION_1_1 = 4198400 -- | > // Version of this file--- > #define VK_HEADER_VERSION 71+-- > #define VK_HEADER_VERSION 72 pattern VK_HEADER_VERSION :: (Num a, Eq a) => a -pattern VK_HEADER_VERSION = 71+pattern VK_HEADER_VERSION = 72 -type VK_HEADER_VERSION = 71+type VK_HEADER_VERSION = 72 -- | > #define VK_MAKE_VERSION(major, minor, patch) \ -- > (((major) << 22) | ((minor) << 12) | (patch))
@@ -0,0 +1,260 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.AccessFlags+ (VkAccessBitmask(VkAccessBitmask, VkAccessFlags, VkAccessFlagBits,+ VK_ACCESS_INDIRECT_COMMAND_READ_BIT, VK_ACCESS_INDEX_READ_BIT,+ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_ACCESS_UNIFORM_READ_BIT,+ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, VK_ACCESS_SHADER_READ_BIT,+ VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,+ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,+ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,+ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,+ VK_ACCESS_TRANSFER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,+ VK_ACCESS_HOST_READ_BIT, VK_ACCESS_HOST_WRITE_BIT,+ VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_MEMORY_WRITE_BIT),+ VkAccessFlags, VkAccessFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkAccessBitmask (a :: FlagType) = VkAccessBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkAccessFlags = VkAccessBitmask FlagMask++type VkAccessFlagBits = VkAccessBitmask FlagBit++pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit++pattern VkAccessFlagBits n = VkAccessBitmask n++pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask++pattern VkAccessFlags n = VkAccessBitmask n++deriving instance Bits (VkAccessBitmask FlagMask)++deriving instance FiniteBits (VkAccessBitmask FlagMask)++deriving instance Integral (VkAccessBitmask FlagMask)++deriving instance Num (VkAccessBitmask FlagMask)++deriving instance Bounded (VkAccessBitmask FlagMask)++deriving instance Enum (VkAccessBitmask FlagMask)++deriving instance Real (VkAccessBitmask FlagMask)++instance Show (VkAccessBitmask a) where+ showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT+ = showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"+ showsPrec _ VK_ACCESS_INDEX_READ_BIT+ = showString "VK_ACCESS_INDEX_READ_BIT"+ showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT+ = showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"+ showsPrec _ VK_ACCESS_UNIFORM_READ_BIT+ = showString "VK_ACCESS_UNIFORM_READ_BIT"+ showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT+ = showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"+ showsPrec _ VK_ACCESS_SHADER_READ_BIT+ = showString "VK_ACCESS_SHADER_READ_BIT"+ showsPrec _ VK_ACCESS_SHADER_WRITE_BIT+ = showString "VK_ACCESS_SHADER_WRITE_BIT"+ showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT+ = showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"+ showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT+ = showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"+ showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT+ = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"+ showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT+ = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"+ showsPrec _ VK_ACCESS_TRANSFER_READ_BIT+ = showString "VK_ACCESS_TRANSFER_READ_BIT"+ showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT+ = showString "VK_ACCESS_TRANSFER_WRITE_BIT"+ showsPrec _ VK_ACCESS_HOST_READ_BIT+ = showString "VK_ACCESS_HOST_READ_BIT"+ showsPrec _ VK_ACCESS_HOST_WRITE_BIT+ = showString "VK_ACCESS_HOST_WRITE_BIT"+ showsPrec _ VK_ACCESS_MEMORY_READ_BIT+ = showString "VK_ACCESS_MEMORY_READ_BIT"+ showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT+ = showString "VK_ACCESS_MEMORY_WRITE_BIT"+ showsPrec p (VkAccessBitmask x)+ = showParen (p >= 11)+ (showString "VkAccessBitmask " . showsPrec 11 x)++instance Read (VkAccessBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_ACCESS_INDIRECT_COMMAND_READ_BIT",+ pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT),+ ("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT),+ ("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT",+ pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT),+ ("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT),+ ("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT",+ pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT),+ ("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT),+ ("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT),+ ("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",+ pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT),+ ("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT",+ pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT),+ ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT",+ pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT),+ ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT",+ pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT),+ ("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT),+ ("VK_ACCESS_TRANSFER_WRITE_BIT",+ pure VK_ACCESS_TRANSFER_WRITE_BIT),+ ("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT),+ ("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT),+ ("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT),+ ("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkAccessBitmask") >>+ (VkAccessBitmask <$> step readPrec)))++-- | Controls coherency of indirect command reads+--+-- bitpos = @0@+pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessBitmask 1++-- | Controls coherency of index reads+--+-- bitpos = @1@+pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_INDEX_READ_BIT = VkAccessBitmask 2++-- | Controls coherency of vertex attribute reads+--+-- bitpos = @2@+pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = VkAccessBitmask 4++-- | Controls coherency of uniform buffer reads+--+-- bitpos = @3@+pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_UNIFORM_READ_BIT = VkAccessBitmask 8++-- | Controls coherency of input attachment reads+--+-- bitpos = @4@+pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = VkAccessBitmask 16++-- | Controls coherency of shader reads+--+-- bitpos = @5@+pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_SHADER_READ_BIT = VkAccessBitmask 32++-- | Controls coherency of shader writes+--+-- bitpos = @6@+pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_SHADER_WRITE_BIT = VkAccessBitmask 64++-- | Controls coherency of color attachment reads+--+-- bitpos = @7@+pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = VkAccessBitmask 128++-- | Controls coherency of color attachment writes+--+-- bitpos = @8@+pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = VkAccessBitmask 256++-- | Controls coherency of depth/stencil attachment reads+--+-- bitpos = @9@+pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT ::+ VkAccessBitmask a++pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT =+ VkAccessBitmask 512++-- | Controls coherency of depth/stencil attachment writes+--+-- bitpos = @10@+pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT ::+ VkAccessBitmask a++pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT =+ VkAccessBitmask 1024++-- | Controls coherency of transfer reads+--+-- bitpos = @11@+pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_TRANSFER_READ_BIT = VkAccessBitmask 2048++-- | Controls coherency of transfer writes+--+-- bitpos = @12@+pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_TRANSFER_WRITE_BIT = VkAccessBitmask 4096++-- | Controls coherency of host reads+--+-- bitpos = @13@+pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_HOST_READ_BIT = VkAccessBitmask 8192++-- | Controls coherency of host writes+--+-- bitpos = @14@+pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_HOST_WRITE_BIT = VkAccessBitmask 16384++-- | Controls coherency of memory reads+--+-- bitpos = @15@+pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a++pattern VK_ACCESS_MEMORY_READ_BIT = VkAccessBitmask 32768++-- | Controls coherency of memory writes+--+-- bitpos = @16@+pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a++pattern VK_ACCESS_MEMORY_WRITE_BIT = VkAccessBitmask 65536
@@ -0,0 +1,176 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Attachment+ (VkAttachmentDescriptionBitmask(VkAttachmentDescriptionBitmask,+ VkAttachmentDescriptionFlags,+ VkAttachmentDescriptionFlagBits,+ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT),+ VkAttachmentDescriptionFlags, VkAttachmentDescriptionFlagBits,+ VkAttachmentLoadOp(VkAttachmentLoadOp, VK_ATTACHMENT_LOAD_OP_LOAD,+ VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE),+ VkAttachmentStoreOp(VkAttachmentStoreOp,+ VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkAttachmentDescriptionBitmask (a ::+ FlagType) = VkAttachmentDescriptionBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkAttachmentDescriptionFlags =+ VkAttachmentDescriptionBitmask FlagMask++type VkAttachmentDescriptionFlagBits =+ VkAttachmentDescriptionBitmask FlagBit++pattern VkAttachmentDescriptionFlagBits ::+ VkFlags -> VkAttachmentDescriptionBitmask FlagBit++pattern VkAttachmentDescriptionFlagBits n =+ VkAttachmentDescriptionBitmask n++pattern VkAttachmentDescriptionFlags ::+ VkFlags -> VkAttachmentDescriptionBitmask FlagMask++pattern VkAttachmentDescriptionFlags n =+ VkAttachmentDescriptionBitmask n++deriving instance Bits (VkAttachmentDescriptionBitmask FlagMask)++deriving instance+ FiniteBits (VkAttachmentDescriptionBitmask FlagMask)++deriving instance+ Integral (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Num (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Bounded (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Enum (VkAttachmentDescriptionBitmask FlagMask)++deriving instance Real (VkAttachmentDescriptionBitmask FlagMask)++instance Show (VkAttachmentDescriptionBitmask a) where+ showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT+ = showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"+ showsPrec p (VkAttachmentDescriptionBitmask x)+ = showParen (p >= 11)+ (showString "VkAttachmentDescriptionBitmask " . showsPrec 11 x)++instance Read (VkAttachmentDescriptionBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT",+ pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)]+ ++++ prec 10+ (expectP (Ident "VkAttachmentDescriptionBitmask") >>+ (VkAttachmentDescriptionBitmask <$> step readPrec)))++-- | The attachment may alias physical memory of another attachment in the same render pass+--+-- bitpos = @0@+pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT ::+ VkAttachmentDescriptionBitmask a++pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT =+ VkAttachmentDescriptionBitmask 1++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentLoadOp VkAttachmentLoadOp registry at www.khronos.org>+newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkAttachmentLoadOp where+ showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD+ = showString "VK_ATTACHMENT_LOAD_OP_LOAD"+ showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR+ = showString "VK_ATTACHMENT_LOAD_OP_CLEAR"+ showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE+ = showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"+ showsPrec p (VkAttachmentLoadOp x)+ = showParen (p >= 11)+ (showString "VkAttachmentLoadOp " . showsPrec 11 x)++instance Read VkAttachmentLoadOp where+ readPrec+ = parens+ (choose+ [("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD),+ ("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR),+ ("VK_ATTACHMENT_LOAD_OP_DONT_CARE",+ pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)]+ ++++ prec 10+ (expectP (Ident "VkAttachmentLoadOp") >>+ (VkAttachmentLoadOp <$> step readPrec)))++pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp++pattern VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0++pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp++pattern VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1++pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp++pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp 2++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentStoreOp VkAttachmentStoreOp registry at www.khronos.org>+newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkAttachmentStoreOp where+ showsPrec _ VK_ATTACHMENT_STORE_OP_STORE+ = showString "VK_ATTACHMENT_STORE_OP_STORE"+ showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE+ = showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"+ showsPrec p (VkAttachmentStoreOp x)+ = showParen (p >= 11)+ (showString "VkAttachmentStoreOp " . showsPrec 11 x)++instance Read VkAttachmentStoreOp where+ readPrec+ = parens+ (choose+ [("VK_ATTACHMENT_STORE_OP_STORE",+ pure VK_ATTACHMENT_STORE_OP_STORE),+ ("VK_ATTACHMENT_STORE_OP_DONT_CARE",+ pure VK_ATTACHMENT_STORE_OP_DONT_CARE)]+ ++++ prec 10+ (expectP (Ident "VkAttachmentStoreOp") >>+ (VkAttachmentStoreOp <$> step readPrec)))++pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp++pattern VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0++pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp++pattern VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp 1
@@ -0,0 +1,293 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.Blend+ (VkBlendFactor(VkBlendFactor, VK_BLEND_FACTOR_ZERO,+ VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_SRC_COLOR,+ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, VK_BLEND_FACTOR_DST_COLOR,+ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR, VK_BLEND_FACTOR_SRC_ALPHA,+ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, VK_BLEND_FACTOR_DST_ALPHA,+ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,+ VK_BLEND_FACTOR_CONSTANT_COLOR,+ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,+ VK_BLEND_FACTOR_CONSTANT_ALPHA,+ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,+ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE, VK_BLEND_FACTOR_SRC1_COLOR,+ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, VK_BLEND_FACTOR_SRC1_ALPHA,+ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA),+ VkBlendOp(VkBlendOp, VK_BLEND_OP_ADD, VK_BLEND_OP_SUBTRACT,+ VK_BLEND_OP_REVERSE_SUBTRACT, VK_BLEND_OP_MIN, VK_BLEND_OP_MAX),+ VkBlendOverlapEXT(VkBlendOverlapEXT,+ VK_BLEND_OVERLAP_UNCORRELATED_EXT, VK_BLEND_OVERLAP_DISJOINT_EXT,+ VK_BLEND_OVERLAP_CONJOINT_EXT))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBlendFactor VkBlendFactor registry at www.khronos.org>+newtype VkBlendFactor = VkBlendFactor Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBlendFactor where+ showsPrec _ VK_BLEND_FACTOR_ZERO+ = showString "VK_BLEND_FACTOR_ZERO"+ showsPrec _ VK_BLEND_FACTOR_ONE = showString "VK_BLEND_FACTOR_ONE"+ showsPrec _ VK_BLEND_FACTOR_SRC_COLOR+ = showString "VK_BLEND_FACTOR_SRC_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR+ = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"+ showsPrec _ VK_BLEND_FACTOR_DST_COLOR+ = showString "VK_BLEND_FACTOR_DST_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR+ = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"+ showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA+ = showString "VK_BLEND_FACTOR_SRC_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA+ = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_DST_ALPHA+ = showString "VK_BLEND_FACTOR_DST_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA+ = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_CONSTANT_COLOR+ = showString "VK_BLEND_FACTOR_CONSTANT_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR+ = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"+ showsPrec _ VK_BLEND_FACTOR_CONSTANT_ALPHA+ = showString "VK_BLEND_FACTOR_CONSTANT_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA+ = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE+ = showString "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"+ showsPrec _ VK_BLEND_FACTOR_SRC1_COLOR+ = showString "VK_BLEND_FACTOR_SRC1_COLOR"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR+ = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"+ showsPrec _ VK_BLEND_FACTOR_SRC1_ALPHA+ = showString "VK_BLEND_FACTOR_SRC1_ALPHA"+ showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA+ = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"+ showsPrec p (VkBlendFactor x)+ = showParen (p >= 11)+ (showString "VkBlendFactor " . showsPrec 11 x)++instance Read VkBlendFactor where+ readPrec+ = parens+ (choose+ [("VK_BLEND_FACTOR_ZERO", pure VK_BLEND_FACTOR_ZERO),+ ("VK_BLEND_FACTOR_ONE", pure VK_BLEND_FACTOR_ONE),+ ("VK_BLEND_FACTOR_SRC_COLOR", pure VK_BLEND_FACTOR_SRC_COLOR),+ ("VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR",+ pure VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR),+ ("VK_BLEND_FACTOR_DST_COLOR", pure VK_BLEND_FACTOR_DST_COLOR),+ ("VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR",+ pure VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR),+ ("VK_BLEND_FACTOR_SRC_ALPHA", pure VK_BLEND_FACTOR_SRC_ALPHA),+ ("VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA",+ pure VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA),+ ("VK_BLEND_FACTOR_DST_ALPHA", pure VK_BLEND_FACTOR_DST_ALPHA),+ ("VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA",+ pure VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA),+ ("VK_BLEND_FACTOR_CONSTANT_COLOR",+ pure VK_BLEND_FACTOR_CONSTANT_COLOR),+ ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR",+ pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR),+ ("VK_BLEND_FACTOR_CONSTANT_ALPHA",+ pure VK_BLEND_FACTOR_CONSTANT_ALPHA),+ ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA",+ pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA),+ ("VK_BLEND_FACTOR_SRC_ALPHA_SATURATE",+ pure VK_BLEND_FACTOR_SRC_ALPHA_SATURATE),+ ("VK_BLEND_FACTOR_SRC1_COLOR", pure VK_BLEND_FACTOR_SRC1_COLOR),+ ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR",+ pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR),+ ("VK_BLEND_FACTOR_SRC1_ALPHA", pure VK_BLEND_FACTOR_SRC1_ALPHA),+ ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA",+ pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA)]+ ++++ prec 10+ (expectP (Ident "VkBlendFactor") >>+ (VkBlendFactor <$> step readPrec)))++pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor++pattern VK_BLEND_FACTOR_ZERO = VkBlendFactor 0++pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE = VkBlendFactor 1++pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC_COLOR = VkBlendFactor 2++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = VkBlendFactor 3++pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_DST_COLOR = VkBlendFactor 4++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = VkBlendFactor 5++pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC_ALPHA = VkBlendFactor 6++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = VkBlendFactor 7++pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_DST_ALPHA = VkBlendFactor 8++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = VkBlendFactor 9++pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_CONSTANT_COLOR = VkBlendFactor 10++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = VkBlendFactor 11++pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_CONSTANT_ALPHA = VkBlendFactor 12++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = VkBlendFactor 13++pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = VkBlendFactor 14++pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC1_COLOR = VkBlendFactor 15++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = VkBlendFactor 16++pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_SRC1_ALPHA = VkBlendFactor 17++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor++pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = VkBlendFactor 18++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBlendOp VkBlendOp registry at www.khronos.org>+newtype VkBlendOp = VkBlendOp Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBlendOp where+ showsPrec _ VK_BLEND_OP_ADD = showString "VK_BLEND_OP_ADD"+ showsPrec _ VK_BLEND_OP_SUBTRACT+ = showString "VK_BLEND_OP_SUBTRACT"+ showsPrec _ VK_BLEND_OP_REVERSE_SUBTRACT+ = showString "VK_BLEND_OP_REVERSE_SUBTRACT"+ showsPrec _ VK_BLEND_OP_MIN = showString "VK_BLEND_OP_MIN"+ showsPrec _ VK_BLEND_OP_MAX = showString "VK_BLEND_OP_MAX"+ showsPrec p (VkBlendOp x)+ = showParen (p >= 11) (showString "VkBlendOp " . showsPrec 11 x)++instance Read VkBlendOp where+ readPrec+ = parens+ (choose+ [("VK_BLEND_OP_ADD", pure VK_BLEND_OP_ADD),+ ("VK_BLEND_OP_SUBTRACT", pure VK_BLEND_OP_SUBTRACT),+ ("VK_BLEND_OP_REVERSE_SUBTRACT",+ pure VK_BLEND_OP_REVERSE_SUBTRACT),+ ("VK_BLEND_OP_MIN", pure VK_BLEND_OP_MIN),+ ("VK_BLEND_OP_MAX", pure VK_BLEND_OP_MAX)]+ ++++ prec 10+ (expectP (Ident "VkBlendOp") >> (VkBlendOp <$> step readPrec)))++pattern VK_BLEND_OP_ADD :: VkBlendOp++pattern VK_BLEND_OP_ADD = VkBlendOp 0++pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp++pattern VK_BLEND_OP_SUBTRACT = VkBlendOp 1++pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp++pattern VK_BLEND_OP_REVERSE_SUBTRACT = VkBlendOp 2++pattern VK_BLEND_OP_MIN :: VkBlendOp++pattern VK_BLEND_OP_MIN = VkBlendOp 3++pattern VK_BLEND_OP_MAX :: VkBlendOp++pattern VK_BLEND_OP_MAX = VkBlendOp 4++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBlendOverlapEXT VkBlendOverlapEXT registry at www.khronos.org>+newtype VkBlendOverlapEXT = VkBlendOverlapEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBlendOverlapEXT where+ showsPrec _ VK_BLEND_OVERLAP_UNCORRELATED_EXT+ = showString "VK_BLEND_OVERLAP_UNCORRELATED_EXT"+ showsPrec _ VK_BLEND_OVERLAP_DISJOINT_EXT+ = showString "VK_BLEND_OVERLAP_DISJOINT_EXT"+ showsPrec _ VK_BLEND_OVERLAP_CONJOINT_EXT+ = showString "VK_BLEND_OVERLAP_CONJOINT_EXT"+ showsPrec p (VkBlendOverlapEXT x)+ = showParen (p >= 11)+ (showString "VkBlendOverlapEXT " . showsPrec 11 x)++instance Read VkBlendOverlapEXT where+ readPrec+ = parens+ (choose+ [("VK_BLEND_OVERLAP_UNCORRELATED_EXT",+ pure VK_BLEND_OVERLAP_UNCORRELATED_EXT),+ ("VK_BLEND_OVERLAP_DISJOINT_EXT",+ pure VK_BLEND_OVERLAP_DISJOINT_EXT),+ ("VK_BLEND_OVERLAP_CONJOINT_EXT",+ pure VK_BLEND_OVERLAP_CONJOINT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkBlendOverlapEXT") >>+ (VkBlendOverlapEXT <$> step readPrec)))++pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT++pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT = VkBlendOverlapEXT 0++pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT++pattern VK_BLEND_OVERLAP_DISJOINT_EXT = VkBlendOverlapEXT 1++pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT++pattern VK_BLEND_OVERLAP_CONJOINT_EXT = VkBlendOverlapEXT 2
@@ -0,0 +1,92 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.BorderColor+ (VkBorderColor(VkBorderColor,+ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,+ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,+ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,+ VK_BORDER_COLOR_INT_OPAQUE_BLACK,+ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,+ VK_BORDER_COLOR_INT_OPAQUE_WHITE))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBorderColor VkBorderColor registry at www.khronos.org>+newtype VkBorderColor = VkBorderColor Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkBorderColor where+ showsPrec _ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK+ = showString "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"+ showsPrec _ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK+ = showString "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"+ showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK+ = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"+ showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_BLACK+ = showString "VK_BORDER_COLOR_INT_OPAQUE_BLACK"+ showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE+ = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"+ showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_WHITE+ = showString "VK_BORDER_COLOR_INT_OPAQUE_WHITE"+ showsPrec p (VkBorderColor x)+ = showParen (p >= 11)+ (showString "VkBorderColor " . showsPrec 11 x)++instance Read VkBorderColor where+ readPrec+ = parens+ (choose+ [("VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK",+ pure VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK),+ ("VK_BORDER_COLOR_INT_TRANSPARENT_BLACK",+ pure VK_BORDER_COLOR_INT_TRANSPARENT_BLACK),+ ("VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK",+ pure VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK),+ ("VK_BORDER_COLOR_INT_OPAQUE_BLACK",+ pure VK_BORDER_COLOR_INT_OPAQUE_BLACK),+ ("VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE",+ pure VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE),+ ("VK_BORDER_COLOR_INT_OPAQUE_WHITE",+ pure VK_BORDER_COLOR_INT_OPAQUE_WHITE)]+ ++++ prec 10+ (expectP (Ident "VkBorderColor") >>+ (VkBorderColor <$> step readPrec)))++pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor 0++pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = VkBorderColor 1++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = VkBorderColor 2++pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor++pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK = VkBorderColor 3++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor++pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = VkBorderColor 4++pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor++pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE = VkBorderColor 5
@@ -0,0 +1,294 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Buffer+ (VkBufferCreateBitmask(VkBufferCreateBitmask, VkBufferCreateFlags,+ VkBufferCreateFlagBits, VK_BUFFER_CREATE_SPARSE_BINDING_BIT,+ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,+ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT),+ VkBufferCreateFlags, VkBufferCreateFlagBits,+ VkBufferUsageBitmask(VkBufferUsageBitmask, VkBufferUsageFlags,+ VkBufferUsageFlagBits, VK_BUFFER_USAGE_TRANSFER_SRC_BIT,+ VK_BUFFER_USAGE_TRANSFER_DST_BIT,+ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,+ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,+ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,+ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,+ VK_BUFFER_USAGE_INDEX_BUFFER_BIT,+ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,+ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT),+ VkBufferUsageFlags, VkBufferUsageFlagBits,+ VkBufferViewCreateFlagBits(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkBufferCreateBitmask (a ::+ FlagType) = VkBufferCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask++type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit++pattern VkBufferCreateFlagBits ::+ VkFlags -> VkBufferCreateBitmask FlagBit++pattern VkBufferCreateFlagBits n = VkBufferCreateBitmask n++pattern VkBufferCreateFlags ::+ VkFlags -> VkBufferCreateBitmask FlagMask++pattern VkBufferCreateFlags n = VkBufferCreateBitmask n++deriving instance Bits (VkBufferCreateBitmask FlagMask)++deriving instance FiniteBits (VkBufferCreateBitmask FlagMask)++deriving instance Integral (VkBufferCreateBitmask FlagMask)++deriving instance Num (VkBufferCreateBitmask FlagMask)++deriving instance Bounded (VkBufferCreateBitmask FlagMask)++deriving instance Enum (VkBufferCreateBitmask FlagMask)++deriving instance Real (VkBufferCreateBitmask FlagMask)++instance Show (VkBufferCreateBitmask a) where+ showsPrec _ VK_BUFFER_CREATE_SPARSE_BINDING_BIT+ = showString "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"+ showsPrec _ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT+ = showString "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"+ showsPrec _ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT+ = showString "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"+ showsPrec p (VkBufferCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkBufferCreateBitmask " . showsPrec 11 x)++instance Read (VkBufferCreateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_BUFFER_CREATE_SPARSE_BINDING_BIT",+ pure VK_BUFFER_CREATE_SPARSE_BINDING_BIT),+ ("VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT",+ pure VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT),+ ("VK_BUFFER_CREATE_SPARSE_ALIASED_BIT",+ pure VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)]+ ++++ prec 10+ (expectP (Ident "VkBufferCreateBitmask") >>+ (VkBufferCreateBitmask <$> step readPrec)))++-- | Buffer should support sparse backing+--+-- bitpos = @0@+pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT ::+ VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT =+ VkBufferCreateBitmask 1++-- | Buffer should support sparse backing with partial residency+--+-- bitpos = @1@+pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT ::+ VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT =+ VkBufferCreateBitmask 2++-- | Buffer should support constent data access to physical memory ranges mapped into multiple locations of sparse buffers+--+-- bitpos = @2@+pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT ::+ VkBufferCreateBitmask a++pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT =+ VkBufferCreateBitmask 4++newtype VkBufferUsageBitmask (a ::+ FlagType) = VkBufferUsageBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask++type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit++pattern VkBufferUsageFlagBits ::+ VkFlags -> VkBufferUsageBitmask FlagBit++pattern VkBufferUsageFlagBits n = VkBufferUsageBitmask n++pattern VkBufferUsageFlags ::+ VkFlags -> VkBufferUsageBitmask FlagMask++pattern VkBufferUsageFlags n = VkBufferUsageBitmask n++deriving instance Bits (VkBufferUsageBitmask FlagMask)++deriving instance FiniteBits (VkBufferUsageBitmask FlagMask)++deriving instance Integral (VkBufferUsageBitmask FlagMask)++deriving instance Num (VkBufferUsageBitmask FlagMask)++deriving instance Bounded (VkBufferUsageBitmask FlagMask)++deriving instance Enum (VkBufferUsageBitmask FlagMask)++deriving instance Real (VkBufferUsageBitmask FlagMask)++instance Show (VkBufferUsageBitmask a) where+ showsPrec _ VK_BUFFER_USAGE_TRANSFER_SRC_BIT+ = showString "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"+ showsPrec _ VK_BUFFER_USAGE_TRANSFER_DST_BIT+ = showString "VK_BUFFER_USAGE_TRANSFER_DST_BIT"+ showsPrec _ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_INDEX_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"+ showsPrec _ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT+ = showString "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"+ showsPrec p (VkBufferUsageBitmask x)+ = showParen (p >= 11)+ (showString "VkBufferUsageBitmask " . showsPrec 11 x)++instance Read (VkBufferUsageBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_BUFFER_USAGE_TRANSFER_SRC_BIT",+ pure VK_BUFFER_USAGE_TRANSFER_SRC_BIT),+ ("VK_BUFFER_USAGE_TRANSFER_DST_BIT",+ pure VK_BUFFER_USAGE_TRANSFER_DST_BIT),+ ("VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",+ pure VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT),+ ("VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",+ pure VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT),+ ("VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT",+ pure VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT),+ ("VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",+ pure VK_BUFFER_USAGE_STORAGE_BUFFER_BIT),+ ("VK_BUFFER_USAGE_INDEX_BUFFER_BIT",+ pure VK_BUFFER_USAGE_INDEX_BUFFER_BIT),+ ("VK_BUFFER_USAGE_VERTEX_BUFFER_BIT",+ pure VK_BUFFER_USAGE_VERTEX_BUFFER_BIT),+ ("VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",+ pure VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)]+ ++++ prec 10+ (expectP (Ident "VkBufferUsageBitmask") >>+ (VkBufferUsageBitmask <$> step readPrec)))++-- | Can be used as a source of transfer operations+--+-- bitpos = @0@+pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT = VkBufferUsageBitmask 1++-- | Can be used as a destination of transfer operations+--+-- bitpos = @1@+pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT = VkBufferUsageBitmask 2++-- | Can be used as TBO+--+-- bitpos = @2@+pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT ::+ VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT =+ VkBufferUsageBitmask 4++-- | Can be used as IBO+--+-- bitpos = @3@+pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT ::+ VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT =+ VkBufferUsageBitmask 8++-- | Can be used as UBO+--+-- bitpos = @4@+pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT ::+ VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT =+ VkBufferUsageBitmask 16++-- | Can be used as SSBO+--+-- bitpos = @5@+pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT ::+ VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT =+ VkBufferUsageBitmask 32++-- | Can be used as source of fixed-function index fetch (index buffer)+--+-- bitpos = @6@+pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT = VkBufferUsageBitmask 64++-- | Can be used as source of fixed-function vertex fetch (VBO)+--+-- bitpos = @7@+pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT =+ VkBufferUsageBitmask 128++-- | Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer)+--+-- bitpos = @8@+pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT ::+ VkBufferUsageBitmask a++pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT =+ VkBufferUsageBitmask 256++newtype VkBufferViewCreateFlagBits = VkBufferViewCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkBufferViewCreateFlagBits where+ {-# INLINE show #-}+ show (VkBufferViewCreateFlagBits x) = show x++instance Read VkBufferViewCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,70 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.ChromaLocation+ (VkChromaLocation(VkChromaLocation,+ VK_CHROMA_LOCATION_COSITED_EVEN, VK_CHROMA_LOCATION_MIDPOINT),+ VkChromaLocationKHR(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkChromaLocation VkChromaLocation registry at www.khronos.org>+newtype VkChromaLocation = VkChromaLocation Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkChromaLocation where+ showsPrec _ VK_CHROMA_LOCATION_COSITED_EVEN+ = showString "VK_CHROMA_LOCATION_COSITED_EVEN"+ showsPrec _ VK_CHROMA_LOCATION_MIDPOINT+ = showString "VK_CHROMA_LOCATION_MIDPOINT"+ showsPrec p (VkChromaLocation x)+ = showParen (p >= 11)+ (showString "VkChromaLocation " . showsPrec 11 x)++instance Read VkChromaLocation where+ readPrec+ = parens+ (choose+ [("VK_CHROMA_LOCATION_COSITED_EVEN",+ pure VK_CHROMA_LOCATION_COSITED_EVEN),+ ("VK_CHROMA_LOCATION_MIDPOINT", pure VK_CHROMA_LOCATION_MIDPOINT)]+ ++++ prec 10+ (expectP (Ident "VkChromaLocation") >>+ (VkChromaLocation <$> step readPrec)))++pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation++pattern VK_CHROMA_LOCATION_COSITED_EVEN = VkChromaLocation 0++pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation++pattern VK_CHROMA_LOCATION_MIDPOINT = VkChromaLocation 1++newtype VkChromaLocationKHR = VkChromaLocationKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,+ Storable, Real, Data, Generic)++instance Show VkChromaLocationKHR where+ {-# INLINE show #-}+ show (VkChromaLocationKHR x) = show x++instance Read VkChromaLocationKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,137 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Color+ (VkColorComponentBitmask(VkColorComponentBitmask,+ VkColorComponentFlags, VkColorComponentFlagBits,+ VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT,+ VK_COLOR_COMPONENT_B_BIT, VK_COLOR_COMPONENT_A_BIT),+ VkColorComponentFlags, VkColorComponentFlagBits,+ VkColorSpaceKHR(VkColorSpaceKHR,+ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkColorComponentBitmask (a ::+ FlagType) = VkColorComponentBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkColorComponentFlags = VkColorComponentBitmask FlagMask++type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit++pattern VkColorComponentFlagBits ::+ VkFlags -> VkColorComponentBitmask FlagBit++pattern VkColorComponentFlagBits n = VkColorComponentBitmask n++pattern VkColorComponentFlags ::+ VkFlags -> VkColorComponentBitmask FlagMask++pattern VkColorComponentFlags n = VkColorComponentBitmask n++deriving instance Bits (VkColorComponentBitmask FlagMask)++deriving instance FiniteBits (VkColorComponentBitmask FlagMask)++deriving instance Integral (VkColorComponentBitmask FlagMask)++deriving instance Num (VkColorComponentBitmask FlagMask)++deriving instance Bounded (VkColorComponentBitmask FlagMask)++deriving instance Enum (VkColorComponentBitmask FlagMask)++deriving instance Real (VkColorComponentBitmask FlagMask)++instance Show (VkColorComponentBitmask a) where+ showsPrec _ VK_COLOR_COMPONENT_R_BIT+ = showString "VK_COLOR_COMPONENT_R_BIT"+ showsPrec _ VK_COLOR_COMPONENT_G_BIT+ = showString "VK_COLOR_COMPONENT_G_BIT"+ showsPrec _ VK_COLOR_COMPONENT_B_BIT+ = showString "VK_COLOR_COMPONENT_B_BIT"+ showsPrec _ VK_COLOR_COMPONENT_A_BIT+ = showString "VK_COLOR_COMPONENT_A_BIT"+ showsPrec p (VkColorComponentBitmask x)+ = showParen (p >= 11)+ (showString "VkColorComponentBitmask " . showsPrec 11 x)++instance Read (VkColorComponentBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_COLOR_COMPONENT_R_BIT", pure VK_COLOR_COMPONENT_R_BIT),+ ("VK_COLOR_COMPONENT_G_BIT", pure VK_COLOR_COMPONENT_G_BIT),+ ("VK_COLOR_COMPONENT_B_BIT", pure VK_COLOR_COMPONENT_B_BIT),+ ("VK_COLOR_COMPONENT_A_BIT", pure VK_COLOR_COMPONENT_A_BIT)]+ ++++ prec 10+ (expectP (Ident "VkColorComponentBitmask") >>+ (VkColorComponentBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_R_BIT = VkColorComponentBitmask 1++-- | bitpos = @1@+pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_G_BIT = VkColorComponentBitmask 2++-- | bitpos = @2@+pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_B_BIT = VkColorComponentBitmask 4++-- | bitpos = @3@+pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a++pattern VK_COLOR_COMPONENT_A_BIT = VkColorComponentBitmask 8++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkColorSpaceKHR VkColorSpaceKHR registry at www.khronos.org>+newtype VkColorSpaceKHR = VkColorSpaceKHR Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkColorSpaceKHR where+ showsPrec _ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR+ = showString "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"+ showsPrec p (VkColorSpaceKHR x)+ = showParen (p >= 11)+ (showString "VkColorSpaceKHR " . showsPrec 11 x)++instance Read VkColorSpaceKHR where+ readPrec+ = parens+ (choose+ [("VK_COLOR_SPACE_SRGB_NONLINEAR_KHR",+ pure VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)]+ ++++ prec 10+ (expectP (Ident "VkColorSpaceKHR") >>+ (VkColorSpaceKHR <$> step readPrec)))++pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR++pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = VkColorSpaceKHR 0
@@ -0,0 +1,361 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Command+ (VkCommandBufferLevel(VkCommandBufferLevel,+ VK_COMMAND_BUFFER_LEVEL_PRIMARY,+ VK_COMMAND_BUFFER_LEVEL_SECONDARY),+ VkCommandBufferResetBitmask(VkCommandBufferResetBitmask,+ VkCommandBufferResetFlags, VkCommandBufferResetFlagBits,+ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT),+ VkCommandBufferResetFlags, VkCommandBufferResetFlagBits,+ VkCommandBufferUsageBitmask(VkCommandBufferUsageBitmask,+ VkCommandBufferUsageFlags, VkCommandBufferUsageFlagBits,+ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,+ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,+ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT),+ VkCommandBufferUsageFlags, VkCommandBufferUsageFlagBits,+ VkCommandPoolCreateBitmask(VkCommandPoolCreateBitmask,+ VkCommandPoolCreateFlags, VkCommandPoolCreateFlagBits,+ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,+ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT),+ VkCommandPoolCreateFlags, VkCommandPoolCreateFlagBits,+ VkCommandPoolResetBitmask(VkCommandPoolResetBitmask,+ VkCommandPoolResetFlags, VkCommandPoolResetFlagBits,+ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT),+ VkCommandPoolResetFlags, VkCommandPoolResetFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferLevel VkCommandBufferLevel registry at www.khronos.org>+newtype VkCommandBufferLevel = VkCommandBufferLevel Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkCommandBufferLevel where+ showsPrec _ VK_COMMAND_BUFFER_LEVEL_PRIMARY+ = showString "VK_COMMAND_BUFFER_LEVEL_PRIMARY"+ showsPrec _ VK_COMMAND_BUFFER_LEVEL_SECONDARY+ = showString "VK_COMMAND_BUFFER_LEVEL_SECONDARY"+ showsPrec p (VkCommandBufferLevel x)+ = showParen (p >= 11)+ (showString "VkCommandBufferLevel " . showsPrec 11 x)++instance Read VkCommandBufferLevel where+ readPrec+ = parens+ (choose+ [("VK_COMMAND_BUFFER_LEVEL_PRIMARY",+ pure VK_COMMAND_BUFFER_LEVEL_PRIMARY),+ ("VK_COMMAND_BUFFER_LEVEL_SECONDARY",+ pure VK_COMMAND_BUFFER_LEVEL_SECONDARY)]+ ++++ prec 10+ (expectP (Ident "VkCommandBufferLevel") >>+ (VkCommandBufferLevel <$> step readPrec)))++pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY :: VkCommandBufferLevel++pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY = VkCommandBufferLevel 0++pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY :: VkCommandBufferLevel++pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY = VkCommandBufferLevel 1++newtype VkCommandBufferResetBitmask (a ::+ FlagType) = VkCommandBufferResetBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandBufferResetFlags =+ VkCommandBufferResetBitmask FlagMask++type VkCommandBufferResetFlagBits =+ VkCommandBufferResetBitmask FlagBit++pattern VkCommandBufferResetFlagBits ::+ VkFlags -> VkCommandBufferResetBitmask FlagBit++pattern VkCommandBufferResetFlagBits n =+ VkCommandBufferResetBitmask n++pattern VkCommandBufferResetFlags ::+ VkFlags -> VkCommandBufferResetBitmask FlagMask++pattern VkCommandBufferResetFlags n = VkCommandBufferResetBitmask n++deriving instance Bits (VkCommandBufferResetBitmask FlagMask)++deriving instance FiniteBits (VkCommandBufferResetBitmask FlagMask)++deriving instance Integral (VkCommandBufferResetBitmask FlagMask)++deriving instance Num (VkCommandBufferResetBitmask FlagMask)++deriving instance Bounded (VkCommandBufferResetBitmask FlagMask)++deriving instance Enum (VkCommandBufferResetBitmask FlagMask)++deriving instance Real (VkCommandBufferResetBitmask FlagMask)++instance Show (VkCommandBufferResetBitmask a) where+ showsPrec _ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT+ = showString "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"+ showsPrec p (VkCommandBufferResetBitmask x)+ = showParen (p >= 11)+ (showString "VkCommandBufferResetBitmask " . showsPrec 11 x)++instance Read (VkCommandBufferResetBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT",+ pure VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT)]+ ++++ prec 10+ (expectP (Ident "VkCommandBufferResetBitmask") >>+ (VkCommandBufferResetBitmask <$> step readPrec)))++-- | Release resources owned by the buffer+--+-- bitpos = @0@+pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT ::+ VkCommandBufferResetBitmask a++pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT =+ VkCommandBufferResetBitmask 1++newtype VkCommandBufferUsageBitmask (a ::+ FlagType) = VkCommandBufferUsageBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandBufferUsageFlags =+ VkCommandBufferUsageBitmask FlagMask++type VkCommandBufferUsageFlagBits =+ VkCommandBufferUsageBitmask FlagBit++pattern VkCommandBufferUsageFlagBits ::+ VkFlags -> VkCommandBufferUsageBitmask FlagBit++pattern VkCommandBufferUsageFlagBits n =+ VkCommandBufferUsageBitmask n++pattern VkCommandBufferUsageFlags ::+ VkFlags -> VkCommandBufferUsageBitmask FlagMask++pattern VkCommandBufferUsageFlags n = VkCommandBufferUsageBitmask n++deriving instance Bits (VkCommandBufferUsageBitmask FlagMask)++deriving instance FiniteBits (VkCommandBufferUsageBitmask FlagMask)++deriving instance Integral (VkCommandBufferUsageBitmask FlagMask)++deriving instance Num (VkCommandBufferUsageBitmask FlagMask)++deriving instance Bounded (VkCommandBufferUsageBitmask FlagMask)++deriving instance Enum (VkCommandBufferUsageBitmask FlagMask)++deriving instance Real (VkCommandBufferUsageBitmask FlagMask)++instance Show (VkCommandBufferUsageBitmask a) where+ showsPrec _ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT+ = showString "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"+ showsPrec _ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT+ = showString "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"+ showsPrec _ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT+ = showString "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"+ showsPrec p (VkCommandBufferUsageBitmask x)+ = showParen (p >= 11)+ (showString "VkCommandBufferUsageBitmask " . showsPrec 11 x)++instance Read (VkCommandBufferUsageBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT",+ pure VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT),+ ("VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT",+ pure VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT),+ ("VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT",+ pure VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkCommandBufferUsageBitmask") >>+ (VkCommandBufferUsageBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT ::+ VkCommandBufferUsageBitmask a++pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT =+ VkCommandBufferUsageBitmask 1++-- | bitpos = @1@+pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT ::+ VkCommandBufferUsageBitmask a++pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT =+ VkCommandBufferUsageBitmask 2++-- | Command buffer may be submitted/executed more than once simultaneously+--+-- bitpos = @2@+pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT ::+ VkCommandBufferUsageBitmask a++pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT =+ VkCommandBufferUsageBitmask 4++newtype VkCommandPoolCreateBitmask (a ::+ FlagType) = VkCommandPoolCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask++type VkCommandPoolCreateFlagBits =+ VkCommandPoolCreateBitmask FlagBit++pattern VkCommandPoolCreateFlagBits ::+ VkFlags -> VkCommandPoolCreateBitmask FlagBit++pattern VkCommandPoolCreateFlagBits n =+ VkCommandPoolCreateBitmask n++pattern VkCommandPoolCreateFlags ::+ VkFlags -> VkCommandPoolCreateBitmask FlagMask++pattern VkCommandPoolCreateFlags n = VkCommandPoolCreateBitmask n++deriving instance Bits (VkCommandPoolCreateBitmask FlagMask)++deriving instance FiniteBits (VkCommandPoolCreateBitmask FlagMask)++deriving instance Integral (VkCommandPoolCreateBitmask FlagMask)++deriving instance Num (VkCommandPoolCreateBitmask FlagMask)++deriving instance Bounded (VkCommandPoolCreateBitmask FlagMask)++deriving instance Enum (VkCommandPoolCreateBitmask FlagMask)++deriving instance Real (VkCommandPoolCreateBitmask FlagMask)++instance Show (VkCommandPoolCreateBitmask a) where+ showsPrec _ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT+ = showString "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"+ showsPrec _ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT+ = showString "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"+ showsPrec p (VkCommandPoolCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkCommandPoolCreateBitmask " . showsPrec 11 x)++instance Read (VkCommandPoolCreateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_COMMAND_POOL_CREATE_TRANSIENT_BIT",+ pure VK_COMMAND_POOL_CREATE_TRANSIENT_BIT),+ ("VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT",+ pure VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT)]+ ++++ prec 10+ (expectP (Ident "VkCommandPoolCreateBitmask") >>+ (VkCommandPoolCreateBitmask <$> step readPrec)))++-- | Command buffers have a short lifetime+--+-- bitpos = @0@+pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT ::+ VkCommandPoolCreateBitmask a++pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT =+ VkCommandPoolCreateBitmask 1++-- | Command buffers may release their memory individually+--+-- bitpos = @1@+pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT ::+ VkCommandPoolCreateBitmask a++pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT =+ VkCommandPoolCreateBitmask 2++newtype VkCommandPoolResetBitmask (a ::+ FlagType) = VkCommandPoolResetBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask++type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit++pattern VkCommandPoolResetFlagBits ::+ VkFlags -> VkCommandPoolResetBitmask FlagBit++pattern VkCommandPoolResetFlagBits n = VkCommandPoolResetBitmask n++pattern VkCommandPoolResetFlags ::+ VkFlags -> VkCommandPoolResetBitmask FlagMask++pattern VkCommandPoolResetFlags n = VkCommandPoolResetBitmask n++deriving instance Bits (VkCommandPoolResetBitmask FlagMask)++deriving instance FiniteBits (VkCommandPoolResetBitmask FlagMask)++deriving instance Integral (VkCommandPoolResetBitmask FlagMask)++deriving instance Num (VkCommandPoolResetBitmask FlagMask)++deriving instance Bounded (VkCommandPoolResetBitmask FlagMask)++deriving instance Enum (VkCommandPoolResetBitmask FlagMask)++deriving instance Real (VkCommandPoolResetBitmask FlagMask)++instance Show (VkCommandPoolResetBitmask a) where+ showsPrec _ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT+ = showString "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"+ showsPrec p (VkCommandPoolResetBitmask x)+ = showParen (p >= 11)+ (showString "VkCommandPoolResetBitmask " . showsPrec 11 x)++instance Read (VkCommandPoolResetBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT",+ pure VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)]+ ++++ prec 10+ (expectP (Ident "VkCommandPoolResetBitmask") >>+ (VkCommandPoolResetBitmask <$> step readPrec)))++-- | Release resources owned by the pool+--+-- bitpos = @0@+pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT ::+ VkCommandPoolResetBitmask a++pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT =+ VkCommandPoolResetBitmask 1
@@ -0,0 +1,93 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.CompareOp+ (VkCompareOp(VkCompareOp, VK_COMPARE_OP_NEVER, VK_COMPARE_OP_LESS,+ VK_COMPARE_OP_EQUAL, VK_COMPARE_OP_LESS_OR_EQUAL,+ VK_COMPARE_OP_GREATER, VK_COMPARE_OP_NOT_EQUAL,+ VK_COMPARE_OP_GREATER_OR_EQUAL, VK_COMPARE_OP_ALWAYS))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCompareOp VkCompareOp registry at www.khronos.org>+newtype VkCompareOp = VkCompareOp Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkCompareOp where+ showsPrec _ VK_COMPARE_OP_NEVER = showString "VK_COMPARE_OP_NEVER"+ showsPrec _ VK_COMPARE_OP_LESS = showString "VK_COMPARE_OP_LESS"+ showsPrec _ VK_COMPARE_OP_EQUAL = showString "VK_COMPARE_OP_EQUAL"+ showsPrec _ VK_COMPARE_OP_LESS_OR_EQUAL+ = showString "VK_COMPARE_OP_LESS_OR_EQUAL"+ showsPrec _ VK_COMPARE_OP_GREATER+ = showString "VK_COMPARE_OP_GREATER"+ showsPrec _ VK_COMPARE_OP_NOT_EQUAL+ = showString "VK_COMPARE_OP_NOT_EQUAL"+ showsPrec _ VK_COMPARE_OP_GREATER_OR_EQUAL+ = showString "VK_COMPARE_OP_GREATER_OR_EQUAL"+ showsPrec _ VK_COMPARE_OP_ALWAYS+ = showString "VK_COMPARE_OP_ALWAYS"+ showsPrec p (VkCompareOp x)+ = showParen (p >= 11) (showString "VkCompareOp " . showsPrec 11 x)++instance Read VkCompareOp where+ readPrec+ = parens+ (choose+ [("VK_COMPARE_OP_NEVER", pure VK_COMPARE_OP_NEVER),+ ("VK_COMPARE_OP_LESS", pure VK_COMPARE_OP_LESS),+ ("VK_COMPARE_OP_EQUAL", pure VK_COMPARE_OP_EQUAL),+ ("VK_COMPARE_OP_LESS_OR_EQUAL", pure VK_COMPARE_OP_LESS_OR_EQUAL),+ ("VK_COMPARE_OP_GREATER", pure VK_COMPARE_OP_GREATER),+ ("VK_COMPARE_OP_NOT_EQUAL", pure VK_COMPARE_OP_NOT_EQUAL),+ ("VK_COMPARE_OP_GREATER_OR_EQUAL",+ pure VK_COMPARE_OP_GREATER_OR_EQUAL),+ ("VK_COMPARE_OP_ALWAYS", pure VK_COMPARE_OP_ALWAYS)]+ ++++ prec 10+ (expectP (Ident "VkCompareOp") >> (VkCompareOp <$> step readPrec)))++pattern VK_COMPARE_OP_NEVER :: VkCompareOp++pattern VK_COMPARE_OP_NEVER = VkCompareOp 0++pattern VK_COMPARE_OP_LESS :: VkCompareOp++pattern VK_COMPARE_OP_LESS = VkCompareOp 1++pattern VK_COMPARE_OP_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_EQUAL = VkCompareOp 2++pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_LESS_OR_EQUAL = VkCompareOp 3++pattern VK_COMPARE_OP_GREATER :: VkCompareOp++pattern VK_COMPARE_OP_GREATER = VkCompareOp 4++pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_NOT_EQUAL = VkCompareOp 5++pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp++pattern VK_COMPARE_OP_GREATER_OR_EQUAL = VkCompareOp 6++pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp++pattern VK_COMPARE_OP_ALWAYS = VkCompareOp 7
@@ -0,0 +1,92 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.ComponentSwizzle+ (VkComponentSwizzle(VkComponentSwizzle,+ VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_ZERO,+ VK_COMPONENT_SWIZZLE_ONE, VK_COMPONENT_SWIZZLE_R,+ VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B,+ VK_COMPONENT_SWIZZLE_A))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkComponentSwizzle VkComponentSwizzle registry at www.khronos.org>+newtype VkComponentSwizzle = VkComponentSwizzle Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkComponentSwizzle where+ showsPrec _ VK_COMPONENT_SWIZZLE_IDENTITY+ = showString "VK_COMPONENT_SWIZZLE_IDENTITY"+ showsPrec _ VK_COMPONENT_SWIZZLE_ZERO+ = showString "VK_COMPONENT_SWIZZLE_ZERO"+ showsPrec _ VK_COMPONENT_SWIZZLE_ONE+ = showString "VK_COMPONENT_SWIZZLE_ONE"+ showsPrec _ VK_COMPONENT_SWIZZLE_R+ = showString "VK_COMPONENT_SWIZZLE_R"+ showsPrec _ VK_COMPONENT_SWIZZLE_G+ = showString "VK_COMPONENT_SWIZZLE_G"+ showsPrec _ VK_COMPONENT_SWIZZLE_B+ = showString "VK_COMPONENT_SWIZZLE_B"+ showsPrec _ VK_COMPONENT_SWIZZLE_A+ = showString "VK_COMPONENT_SWIZZLE_A"+ showsPrec p (VkComponentSwizzle x)+ = showParen (p >= 11)+ (showString "VkComponentSwizzle " . showsPrec 11 x)++instance Read VkComponentSwizzle where+ readPrec+ = parens+ (choose+ [("VK_COMPONENT_SWIZZLE_IDENTITY",+ pure VK_COMPONENT_SWIZZLE_IDENTITY),+ ("VK_COMPONENT_SWIZZLE_ZERO", pure VK_COMPONENT_SWIZZLE_ZERO),+ ("VK_COMPONENT_SWIZZLE_ONE", pure VK_COMPONENT_SWIZZLE_ONE),+ ("VK_COMPONENT_SWIZZLE_R", pure VK_COMPONENT_SWIZZLE_R),+ ("VK_COMPONENT_SWIZZLE_G", pure VK_COMPONENT_SWIZZLE_G),+ ("VK_COMPONENT_SWIZZLE_B", pure VK_COMPONENT_SWIZZLE_B),+ ("VK_COMPONENT_SWIZZLE_A", pure VK_COMPONENT_SWIZZLE_A)]+ ++++ prec 10+ (expectP (Ident "VkComponentSwizzle") >>+ (VkComponentSwizzle <$> step readPrec)))++pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle 0++pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_ZERO = VkComponentSwizzle 1++pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_ONE = VkComponentSwizzle 2++pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_R = VkComponentSwizzle 3++pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_G = VkComponentSwizzle 4++pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_B = VkComponentSwizzle 5++pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle++pattern VK_COMPONENT_SWIZZLE_A = VkComponentSwizzle 6
@@ -0,0 +1,122 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR+ (VkCompositeAlphaBitmaskKHR(VkCompositeAlphaBitmaskKHR,+ VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR,+ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,+ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,+ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,+ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR),+ VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkCompositeAlphaBitmaskKHR (a ::+ FlagType) = VkCompositeAlphaBitmaskKHR VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask++type VkCompositeAlphaFlagBitsKHR =+ VkCompositeAlphaBitmaskKHR FlagBit++pattern VkCompositeAlphaFlagBitsKHR ::+ VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit++pattern VkCompositeAlphaFlagBitsKHR n =+ VkCompositeAlphaBitmaskKHR n++pattern VkCompositeAlphaFlagsKHR ::+ VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask++pattern VkCompositeAlphaFlagsKHR n = VkCompositeAlphaBitmaskKHR n++deriving instance Bits (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance FiniteBits (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Integral (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Num (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Bounded (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Enum (VkCompositeAlphaBitmaskKHR FlagMask)++deriving instance Real (VkCompositeAlphaBitmaskKHR FlagMask)++instance Show (VkCompositeAlphaBitmaskKHR a) where+ showsPrec _ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR+ = showString "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"+ showsPrec _ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR+ = showString "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"+ showsPrec _ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR+ = showString "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"+ showsPrec _ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR+ = showString "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"+ showsPrec p (VkCompositeAlphaBitmaskKHR x)+ = showParen (p >= 11)+ (showString "VkCompositeAlphaBitmaskKHR " . showsPrec 11 x)++instance Read (VkCompositeAlphaBitmaskKHR a) where+ readPrec+ = parens+ (choose+ [("VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR",+ pure VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR),+ ("VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR",+ pure VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR),+ ("VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR",+ pure VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR),+ ("VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR",+ pure VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)]+ ++++ prec 10+ (expectP (Ident "VkCompositeAlphaBitmaskKHR") >>+ (VkCompositeAlphaBitmaskKHR <$> step readPrec)))++-- | bitpos = @0@+pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR ::+ VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR =+ VkCompositeAlphaBitmaskKHR 1++-- | bitpos = @1@+pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR ::+ VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR =+ VkCompositeAlphaBitmaskKHR 2++-- | bitpos = @2@+pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR ::+ VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR =+ VkCompositeAlphaBitmaskKHR 4++-- | bitpos = @3@+pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR ::+ VkCompositeAlphaBitmaskKHR a++pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR =+ VkCompositeAlphaBitmaskKHR 8
@@ -0,0 +1,72 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT+ (VkConservativeRasterizationModeEXT(VkConservativeRasterizationModeEXT,+ VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,+ VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,+ VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkConservativeRasterizationModeEXT VkConservativeRasterizationModeEXT registry at www.khronos.org>+newtype VkConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum,+ Data, Generic)++instance Show VkConservativeRasterizationModeEXT where+ showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT+ = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"+ showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT+ = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"+ showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT+ = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"+ showsPrec p (VkConservativeRasterizationModeEXT x)+ = showParen (p >= 11)+ (showString "VkConservativeRasterizationModeEXT " . showsPrec 11 x)++instance Read VkConservativeRasterizationModeEXT where+ readPrec+ = parens+ (choose+ [("VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT",+ pure VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT),+ ("VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT",+ pure VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT),+ ("VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT",+ pure VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT)]+ ++++ prec 10+ (expectP (Ident "VkConservativeRasterizationModeEXT") >>+ (VkConservativeRasterizationModeEXT <$> step readPrec)))++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT ::+ VkConservativeRasterizationModeEXT++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT =+ VkConservativeRasterizationModeEXT 0++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT ::+ VkConservativeRasterizationModeEXT++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT =+ VkConservativeRasterizationModeEXT 1++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT ::+ VkConservativeRasterizationModeEXT++pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT =+ VkConservativeRasterizationModeEXT 2
@@ -0,0 +1,83 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.CoverageModulationModeNV+ (VkCoverageModulationModeNV(VkCoverageModulationModeNV,+ VK_COVERAGE_MODULATION_MODE_NONE_NV,+ VK_COVERAGE_MODULATION_MODE_RGB_NV,+ VK_COVERAGE_MODULATION_MODE_ALPHA_NV,+ VK_COVERAGE_MODULATION_MODE_RGBA_NV))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCoverageModulationModeNV VkCoverageModulationModeNV registry at www.khronos.org>+newtype VkCoverageModulationModeNV = VkCoverageModulationModeNV Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkCoverageModulationModeNV where+ showsPrec _ VK_COVERAGE_MODULATION_MODE_NONE_NV+ = showString "VK_COVERAGE_MODULATION_MODE_NONE_NV"+ showsPrec _ VK_COVERAGE_MODULATION_MODE_RGB_NV+ = showString "VK_COVERAGE_MODULATION_MODE_RGB_NV"+ showsPrec _ VK_COVERAGE_MODULATION_MODE_ALPHA_NV+ = showString "VK_COVERAGE_MODULATION_MODE_ALPHA_NV"+ showsPrec _ VK_COVERAGE_MODULATION_MODE_RGBA_NV+ = showString "VK_COVERAGE_MODULATION_MODE_RGBA_NV"+ showsPrec p (VkCoverageModulationModeNV x)+ = showParen (p >= 11)+ (showString "VkCoverageModulationModeNV " . showsPrec 11 x)++instance Read VkCoverageModulationModeNV where+ readPrec+ = parens+ (choose+ [("VK_COVERAGE_MODULATION_MODE_NONE_NV",+ pure VK_COVERAGE_MODULATION_MODE_NONE_NV),+ ("VK_COVERAGE_MODULATION_MODE_RGB_NV",+ pure VK_COVERAGE_MODULATION_MODE_RGB_NV),+ ("VK_COVERAGE_MODULATION_MODE_ALPHA_NV",+ pure VK_COVERAGE_MODULATION_MODE_ALPHA_NV),+ ("VK_COVERAGE_MODULATION_MODE_RGBA_NV",+ pure VK_COVERAGE_MODULATION_MODE_RGBA_NV)]+ ++++ prec 10+ (expectP (Ident "VkCoverageModulationModeNV") >>+ (VkCoverageModulationModeNV <$> step readPrec)))++pattern VK_COVERAGE_MODULATION_MODE_NONE_NV ::+ VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_NONE_NV =+ VkCoverageModulationModeNV 0++pattern VK_COVERAGE_MODULATION_MODE_RGB_NV ::+ VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_RGB_NV =+ VkCoverageModulationModeNV 1++pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV ::+ VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV =+ VkCoverageModulationModeNV 2++pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV ::+ VkCoverageModulationModeNV++pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV =+ VkCoverageModulationModeNV 3
@@ -0,0 +1,100 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.CullModeFlags+ (VkCullModeBitmask(VkCullModeBitmask, VkCullModeFlags,+ VkCullModeFlagBits, VK_CULL_MODE_NONE, VK_CULL_MODE_FRONT_BIT,+ VK_CULL_MODE_BACK_BIT, VK_CULL_MODE_FRONT_AND_BACK),+ VkCullModeFlags, VkCullModeFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkCullModeBitmask (a ::+ FlagType) = VkCullModeBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkCullModeFlags = VkCullModeBitmask FlagMask++type VkCullModeFlagBits = VkCullModeBitmask FlagBit++pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit++pattern VkCullModeFlagBits n = VkCullModeBitmask n++pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask++pattern VkCullModeFlags n = VkCullModeBitmask n++deriving instance Bits (VkCullModeBitmask FlagMask)++deriving instance FiniteBits (VkCullModeBitmask FlagMask)++deriving instance Integral (VkCullModeBitmask FlagMask)++deriving instance Num (VkCullModeBitmask FlagMask)++deriving instance Bounded (VkCullModeBitmask FlagMask)++deriving instance Enum (VkCullModeBitmask FlagMask)++deriving instance Real (VkCullModeBitmask FlagMask)++instance Show (VkCullModeBitmask a) where+ showsPrec _ VK_CULL_MODE_NONE = showString "VK_CULL_MODE_NONE"+ showsPrec _ VK_CULL_MODE_FRONT_BIT+ = showString "VK_CULL_MODE_FRONT_BIT"+ showsPrec _ VK_CULL_MODE_BACK_BIT+ = showString "VK_CULL_MODE_BACK_BIT"+ showsPrec _ VK_CULL_MODE_FRONT_AND_BACK+ = showString "VK_CULL_MODE_FRONT_AND_BACK"+ showsPrec p (VkCullModeBitmask x)+ = showParen (p >= 11)+ (showString "VkCullModeBitmask " . showsPrec 11 x)++instance Read (VkCullModeBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_CULL_MODE_NONE", pure VK_CULL_MODE_NONE),+ ("VK_CULL_MODE_FRONT_BIT", pure VK_CULL_MODE_FRONT_BIT),+ ("VK_CULL_MODE_BACK_BIT", pure VK_CULL_MODE_BACK_BIT),+ ("VK_CULL_MODE_FRONT_AND_BACK", pure VK_CULL_MODE_FRONT_AND_BACK)]+ ++++ prec 10+ (expectP (Ident "VkCullModeBitmask") >>+ (VkCullModeBitmask <$> step readPrec)))++pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a++pattern VK_CULL_MODE_NONE = VkCullModeBitmask 0++-- | bitpos = @0@+pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a++pattern VK_CULL_MODE_FRONT_BIT = VkCullModeBitmask 1++-- | bitpos = @1@+pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a++pattern VK_CULL_MODE_BACK_BIT = VkCullModeBitmask 2++pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a++pattern VK_CULL_MODE_FRONT_AND_BACK = VkCullModeBitmask 3
@@ -0,0 +1,735 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Debug+ (VkDebugReportBitmaskEXT(VkDebugReportBitmaskEXT,+ VkDebugReportFlagsEXT, VkDebugReportFlagBitsEXT,+ VK_DEBUG_REPORT_INFORMATION_BIT_EXT,+ VK_DEBUG_REPORT_WARNING_BIT_EXT,+ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,+ VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_DEBUG_BIT_EXT),+ VkDebugReportFlagsEXT, VkDebugReportFlagBitsEXT,+ VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,+ VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT),+ VkDebugUtilsMessageSeverityBitmaskEXT(VkDebugUtilsMessageSeverityBitmaskEXT,+ VkDebugUtilsMessageSeverityFlagsEXT,+ VkDebugUtilsMessageSeverityFlagBitsEXT,+ VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,+ VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,+ VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,+ VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT),+ VkDebugUtilsMessageSeverityFlagsEXT,+ VkDebugUtilsMessageSeverityFlagBitsEXT,+ VkDebugUtilsMessageTypeBitmaskEXT(VkDebugUtilsMessageTypeBitmaskEXT,+ VkDebugUtilsMessageTypeFlagsEXT,+ VkDebugUtilsMessageTypeFlagBitsEXT,+ VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,+ VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,+ VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT),+ VkDebugUtilsMessageTypeFlagsEXT,+ VkDebugUtilsMessageTypeFlagBitsEXT)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkDebugReportBitmaskEXT (a ::+ FlagType) = VkDebugReportBitmaskEXT VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask++type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit++pattern VkDebugReportFlagBitsEXT ::+ VkFlags -> VkDebugReportBitmaskEXT FlagBit++pattern VkDebugReportFlagBitsEXT n = VkDebugReportBitmaskEXT n++pattern VkDebugReportFlagsEXT ::+ VkFlags -> VkDebugReportBitmaskEXT FlagMask++pattern VkDebugReportFlagsEXT n = VkDebugReportBitmaskEXT n++deriving instance Bits (VkDebugReportBitmaskEXT FlagMask)++deriving instance FiniteBits (VkDebugReportBitmaskEXT FlagMask)++deriving instance Integral (VkDebugReportBitmaskEXT FlagMask)++deriving instance Num (VkDebugReportBitmaskEXT FlagMask)++deriving instance Bounded (VkDebugReportBitmaskEXT FlagMask)++deriving instance Enum (VkDebugReportBitmaskEXT FlagMask)++deriving instance Real (VkDebugReportBitmaskEXT FlagMask)++instance Show (VkDebugReportBitmaskEXT a) where+ showsPrec _ VK_DEBUG_REPORT_INFORMATION_BIT_EXT+ = showString "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"+ showsPrec _ VK_DEBUG_REPORT_WARNING_BIT_EXT+ = showString "VK_DEBUG_REPORT_WARNING_BIT_EXT"+ showsPrec _ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT+ = showString "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"+ showsPrec _ VK_DEBUG_REPORT_ERROR_BIT_EXT+ = showString "VK_DEBUG_REPORT_ERROR_BIT_EXT"+ showsPrec _ VK_DEBUG_REPORT_DEBUG_BIT_EXT+ = showString "VK_DEBUG_REPORT_DEBUG_BIT_EXT"+ showsPrec p (VkDebugReportBitmaskEXT x)+ = showParen (p >= 11)+ (showString "VkDebugReportBitmaskEXT " . showsPrec 11 x)++instance Read (VkDebugReportBitmaskEXT a) where+ readPrec+ = parens+ (choose+ [("VK_DEBUG_REPORT_INFORMATION_BIT_EXT",+ pure VK_DEBUG_REPORT_INFORMATION_BIT_EXT),+ ("VK_DEBUG_REPORT_WARNING_BIT_EXT",+ pure VK_DEBUG_REPORT_WARNING_BIT_EXT),+ ("VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT",+ pure VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT),+ ("VK_DEBUG_REPORT_ERROR_BIT_EXT",+ pure VK_DEBUG_REPORT_ERROR_BIT_EXT),+ ("VK_DEBUG_REPORT_DEBUG_BIT_EXT",+ pure VK_DEBUG_REPORT_DEBUG_BIT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDebugReportBitmaskEXT") >>+ (VkDebugReportBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT ::+ VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT =+ VkDebugReportBitmaskEXT 1++-- | bitpos = @1@+pattern VK_DEBUG_REPORT_WARNING_BIT_EXT ::+ VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_WARNING_BIT_EXT = VkDebugReportBitmaskEXT 2++-- | bitpos = @2@+pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT ::+ VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT =+ VkDebugReportBitmaskEXT 4++-- | bitpos = @3@+pattern VK_DEBUG_REPORT_ERROR_BIT_EXT :: VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_ERROR_BIT_EXT = VkDebugReportBitmaskEXT 8++-- | bitpos = @4@+pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT :: VkDebugReportBitmaskEXT a++pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT = VkDebugReportBitmaskEXT 16++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT registry at www.khronos.org>+newtype VkDebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkDebugReportObjectTypeEXT where+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT+ = showString+ "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"+ showsPrec _+ VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT+ = showString+ "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT"+ showsPrec _+ VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+ = showString+ "VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT"+ showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT+ = showString "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"+ showsPrec p (VkDebugReportObjectTypeEXT x)+ = showParen (p >= 11)+ (showString "VkDebugReportObjectTypeEXT " . showsPrec 11 x)++instance Read VkDebugReportObjectTypeEXT where+ readPrec+ = parens+ (choose+ [("VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT),+ ("VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT",+ pure VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDebugReportObjectTypeEXT") >>+ (VkDebugReportObjectTypeEXT <$> step readPrec)))++pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT =+ VkDebugReportObjectTypeEXT 0++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT =+ VkDebugReportObjectTypeEXT 1++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT =+ VkDebugReportObjectTypeEXT 2++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT =+ VkDebugReportObjectTypeEXT 3++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT =+ VkDebugReportObjectTypeEXT 4++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT =+ VkDebugReportObjectTypeEXT 5++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT =+ VkDebugReportObjectTypeEXT 6++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT =+ VkDebugReportObjectTypeEXT 7++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT =+ VkDebugReportObjectTypeEXT 8++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT =+ VkDebugReportObjectTypeEXT 9++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT =+ VkDebugReportObjectTypeEXT 10++pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT =+ VkDebugReportObjectTypeEXT 11++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT =+ VkDebugReportObjectTypeEXT 12++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT =+ VkDebugReportObjectTypeEXT 13++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT =+ VkDebugReportObjectTypeEXT 14++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT =+ VkDebugReportObjectTypeEXT 15++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT =+ VkDebugReportObjectTypeEXT 16++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT =+ VkDebugReportObjectTypeEXT 17++pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT =+ VkDebugReportObjectTypeEXT 18++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT =+ VkDebugReportObjectTypeEXT 19++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT =+ VkDebugReportObjectTypeEXT 20++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT =+ VkDebugReportObjectTypeEXT 21++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT =+ VkDebugReportObjectTypeEXT 22++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT =+ VkDebugReportObjectTypeEXT 23++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT =+ VkDebugReportObjectTypeEXT 24++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT =+ VkDebugReportObjectTypeEXT 25++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT =+ VkDebugReportObjectTypeEXT 26++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT =+ VkDebugReportObjectTypeEXT 27++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT+ :: VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT =+ VkDebugReportObjectTypeEXT 28++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT =+ VkDebugReportObjectTypeEXT 29++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT =+ VkDebugReportObjectTypeEXT 30++pattern VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT =+ VkDebugReportObjectTypeEXT 31++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+ :: VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT+ = VkDebugReportObjectTypeEXT 32++pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT ::+ VkDebugReportObjectTypeEXT++pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT =+ VkDebugReportObjectTypeEXT 33++newtype VkDebugUtilsMessageSeverityBitmaskEXT (a ::+ FlagType) = VkDebugUtilsMessageSeverityBitmaskEXT VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkDebugUtilsMessageSeverityFlagsEXT =+ VkDebugUtilsMessageSeverityBitmaskEXT FlagMask++type VkDebugUtilsMessageSeverityFlagBitsEXT =+ VkDebugUtilsMessageSeverityBitmaskEXT FlagBit++pattern VkDebugUtilsMessageSeverityFlagBitsEXT ::+ VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagBit++pattern VkDebugUtilsMessageSeverityFlagBitsEXT n =+ VkDebugUtilsMessageSeverityBitmaskEXT n++pattern VkDebugUtilsMessageSeverityFlagsEXT ::+ VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagMask++pattern VkDebugUtilsMessageSeverityFlagsEXT n =+ VkDebugUtilsMessageSeverityBitmaskEXT n++deriving instance+ Bits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+ FiniteBits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+ Integral (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+ Num (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+ Bounded (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+ Enum (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++deriving instance+ Real (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)++instance Show (VkDebugUtilsMessageSeverityBitmaskEXT a) where+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"+ showsPrec p (VkDebugUtilsMessageSeverityBitmaskEXT x)+ = showParen (p >= 11)+ (showString "VkDebugUtilsMessageSeverityBitmaskEXT " .+ showsPrec 11 x)++instance Read (VkDebugUtilsMessageSeverityBitmaskEXT a) where+ readPrec+ = parens+ (choose+ [("VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT),+ ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT),+ ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT),+ ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDebugUtilsMessageSeverityBitmaskEXT") >>+ (VkDebugUtilsMessageSeverityBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT ::+ VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT =+ VkDebugUtilsMessageSeverityBitmaskEXT 1++-- | bitpos = @4@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT ::+ VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT =+ VkDebugUtilsMessageSeverityBitmaskEXT 16++-- | bitpos = @8@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT ::+ VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT =+ VkDebugUtilsMessageSeverityBitmaskEXT 256++-- | bitpos = @12@+pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT ::+ VkDebugUtilsMessageSeverityBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT =+ VkDebugUtilsMessageSeverityBitmaskEXT 4096++newtype VkDebugUtilsMessageTypeBitmaskEXT (a ::+ FlagType) = VkDebugUtilsMessageTypeBitmaskEXT VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkDebugUtilsMessageTypeFlagsEXT =+ VkDebugUtilsMessageTypeBitmaskEXT FlagMask++type VkDebugUtilsMessageTypeFlagBitsEXT =+ VkDebugUtilsMessageTypeBitmaskEXT FlagBit++pattern VkDebugUtilsMessageTypeFlagBitsEXT ::+ VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagBit++pattern VkDebugUtilsMessageTypeFlagBitsEXT n =+ VkDebugUtilsMessageTypeBitmaskEXT n++pattern VkDebugUtilsMessageTypeFlagsEXT ::+ VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagMask++pattern VkDebugUtilsMessageTypeFlagsEXT n =+ VkDebugUtilsMessageTypeBitmaskEXT n++deriving instance Bits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance+ FiniteBits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance+ Integral (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance Num (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance+ Bounded (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance Enum (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++deriving instance Real (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)++instance Show (VkDebugUtilsMessageTypeBitmaskEXT a) where+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"+ showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT+ = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"+ showsPrec p (VkDebugUtilsMessageTypeBitmaskEXT x)+ = showParen (p >= 11)+ (showString "VkDebugUtilsMessageTypeBitmaskEXT " . showsPrec 11 x)++instance Read (VkDebugUtilsMessageTypeBitmaskEXT a) where+ readPrec+ = parens+ (choose+ [("VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT),+ ("VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT),+ ("VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT",+ pure VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDebugUtilsMessageTypeBitmaskEXT") >>+ (VkDebugUtilsMessageTypeBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT ::+ VkDebugUtilsMessageTypeBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT =+ VkDebugUtilsMessageTypeBitmaskEXT 1++-- | bitpos = @1@+pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT ::+ VkDebugUtilsMessageTypeBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT =+ VkDebugUtilsMessageTypeBitmaskEXT 2++-- | bitpos = @2@+pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT ::+ VkDebugUtilsMessageTypeBitmaskEXT a++pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT =+ VkDebugUtilsMessageTypeBitmaskEXT 4
@@ -0,0 +1,82 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.DependencyFlags+ (VkDependencyBitmask(VkDependencyBitmask, VkDependencyFlags,+ VkDependencyFlagBits, VK_DEPENDENCY_BY_REGION_BIT),+ VkDependencyFlags, VkDependencyFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkDependencyBitmask (a ::+ FlagType) = VkDependencyBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkDependencyFlags = VkDependencyBitmask FlagMask++type VkDependencyFlagBits = VkDependencyBitmask FlagBit++pattern VkDependencyFlagBits ::+ VkFlags -> VkDependencyBitmask FlagBit++pattern VkDependencyFlagBits n = VkDependencyBitmask n++pattern VkDependencyFlags ::+ VkFlags -> VkDependencyBitmask FlagMask++pattern VkDependencyFlags n = VkDependencyBitmask n++deriving instance Bits (VkDependencyBitmask FlagMask)++deriving instance FiniteBits (VkDependencyBitmask FlagMask)++deriving instance Integral (VkDependencyBitmask FlagMask)++deriving instance Num (VkDependencyBitmask FlagMask)++deriving instance Bounded (VkDependencyBitmask FlagMask)++deriving instance Enum (VkDependencyBitmask FlagMask)++deriving instance Real (VkDependencyBitmask FlagMask)++instance Show (VkDependencyBitmask a) where+ showsPrec _ VK_DEPENDENCY_BY_REGION_BIT+ = showString "VK_DEPENDENCY_BY_REGION_BIT"+ showsPrec p (VkDependencyBitmask x)+ = showParen (p >= 11)+ (showString "VkDependencyBitmask " . showsPrec 11 x)++instance Read (VkDependencyBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_DEPENDENCY_BY_REGION_BIT", pure VK_DEPENDENCY_BY_REGION_BIT)]+ ++++ prec 10+ (expectP (Ident "VkDependencyBitmask") >>+ (VkDependencyBitmask <$> step readPrec)))++-- | Dependency is per pixel region+--+-- bitpos = @0@+pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a++pattern VK_DEPENDENCY_BY_REGION_BIT = VkDependencyBitmask 1
@@ -0,0 +1,431 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Descriptor+ (VkDescriptorBindingBitmaskEXT(VkDescriptorBindingBitmaskEXT,+ VkDescriptorBindingFlagsEXT, VkDescriptorBindingFlagBitsEXT,+ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT,+ VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT,+ VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT,+ VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT),+ VkDescriptorBindingFlagsEXT, VkDescriptorBindingFlagBitsEXT,+ VkDescriptorPoolCreateBitmask(VkDescriptorPoolCreateBitmask,+ VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits,+ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT),+ VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits,+ VkDescriptorSetLayoutCreateBitmask(VkDescriptorSetLayoutCreateBitmask,+ VkDescriptorSetLayoutCreateFlags,+ VkDescriptorSetLayoutCreateFlagBits),+ VkDescriptorSetLayoutCreateFlags,+ VkDescriptorSetLayoutCreateFlagBits,+ VkDescriptorType(VkDescriptorType, VK_DESCRIPTOR_TYPE_SAMPLER,+ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,+ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,+ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,+ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,+ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,+ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,+ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,+ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT),+ VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType,+ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET),+ VkDescriptorUpdateTemplateTypeKHR(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkDescriptorBindingBitmaskEXT (a ::+ FlagType) = VkDescriptorBindingBitmaskEXT VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkDescriptorBindingFlagsEXT =+ VkDescriptorBindingBitmaskEXT FlagMask++type VkDescriptorBindingFlagBitsEXT =+ VkDescriptorBindingBitmaskEXT FlagBit++pattern VkDescriptorBindingFlagBitsEXT ::+ VkFlags -> VkDescriptorBindingBitmaskEXT FlagBit++pattern VkDescriptorBindingFlagBitsEXT n =+ VkDescriptorBindingBitmaskEXT n++pattern VkDescriptorBindingFlagsEXT ::+ VkFlags -> VkDescriptorBindingBitmaskEXT FlagMask++pattern VkDescriptorBindingFlagsEXT n =+ VkDescriptorBindingBitmaskEXT n++deriving instance Bits (VkDescriptorBindingBitmaskEXT FlagMask)++deriving instance+ FiniteBits (VkDescriptorBindingBitmaskEXT FlagMask)++deriving instance Integral (VkDescriptorBindingBitmaskEXT FlagMask)++deriving instance Num (VkDescriptorBindingBitmaskEXT FlagMask)++deriving instance Bounded (VkDescriptorBindingBitmaskEXT FlagMask)++deriving instance Enum (VkDescriptorBindingBitmaskEXT FlagMask)++deriving instance Real (VkDescriptorBindingBitmaskEXT FlagMask)++instance Show (VkDescriptorBindingBitmaskEXT a) where+ showsPrec _ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT+ = showString "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"+ showsPrec _+ VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT+ = showString+ "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"+ showsPrec _ VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT+ = showString "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"+ showsPrec _ VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT+ = showString+ "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"+ showsPrec p (VkDescriptorBindingBitmaskEXT x)+ = showParen (p >= 11)+ (showString "VkDescriptorBindingBitmaskEXT " . showsPrec 11 x)++instance Read (VkDescriptorBindingBitmaskEXT a) where+ readPrec+ = parens+ (choose+ [("VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT",+ pure VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT),+ ("VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT",+ pure VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT),+ ("VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT",+ pure VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT),+ ("VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT",+ pure VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDescriptorBindingBitmaskEXT") >>+ (VkDescriptorBindingBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT ::+ VkDescriptorBindingBitmaskEXT a++pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT =+ VkDescriptorBindingBitmaskEXT 1++-- | bitpos = @1@+pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT+ :: VkDescriptorBindingBitmaskEXT a++pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT =+ VkDescriptorBindingBitmaskEXT 2++-- | bitpos = @2@+pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT ::+ VkDescriptorBindingBitmaskEXT a++pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT =+ VkDescriptorBindingBitmaskEXT 4++-- | bitpos = @3@+pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT ::+ VkDescriptorBindingBitmaskEXT a++pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT =+ VkDescriptorBindingBitmaskEXT 8++newtype VkDescriptorPoolCreateBitmask (a ::+ FlagType) = VkDescriptorPoolCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkDescriptorPoolCreateFlags =+ VkDescriptorPoolCreateBitmask FlagMask++type VkDescriptorPoolCreateFlagBits =+ VkDescriptorPoolCreateBitmask FlagBit++pattern VkDescriptorPoolCreateFlagBits ::+ VkFlags -> VkDescriptorPoolCreateBitmask FlagBit++pattern VkDescriptorPoolCreateFlagBits n =+ VkDescriptorPoolCreateBitmask n++pattern VkDescriptorPoolCreateFlags ::+ VkFlags -> VkDescriptorPoolCreateBitmask FlagMask++pattern VkDescriptorPoolCreateFlags n =+ VkDescriptorPoolCreateBitmask n++deriving instance Bits (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance+ FiniteBits (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Integral (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Num (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Bounded (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Enum (VkDescriptorPoolCreateBitmask FlagMask)++deriving instance Real (VkDescriptorPoolCreateBitmask FlagMask)++instance Show (VkDescriptorPoolCreateBitmask a) where+ showsPrec _ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT+ = showString "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"+ showsPrec p (VkDescriptorPoolCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkDescriptorPoolCreateBitmask " . showsPrec 11 x)++instance Read (VkDescriptorPoolCreateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT",+ pure VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT)]+ ++++ prec 10+ (expectP (Ident "VkDescriptorPoolCreateBitmask") >>+ (VkDescriptorPoolCreateBitmask <$> step readPrec)))++-- | Descriptor sets may be freed individually+--+-- bitpos = @0@+pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT ::+ VkDescriptorPoolCreateBitmask a++pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT =+ VkDescriptorPoolCreateBitmask 1++newtype VkDescriptorSetLayoutCreateBitmask (a ::+ FlagType) = VkDescriptorSetLayoutCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkDescriptorSetLayoutCreateFlags =+ VkDescriptorSetLayoutCreateBitmask FlagMask++type VkDescriptorSetLayoutCreateFlagBits =+ VkDescriptorSetLayoutCreateBitmask FlagBit++pattern VkDescriptorSetLayoutCreateFlagBits ::+ VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit++pattern VkDescriptorSetLayoutCreateFlagBits n =+ VkDescriptorSetLayoutCreateBitmask n++pattern VkDescriptorSetLayoutCreateFlags ::+ VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask++pattern VkDescriptorSetLayoutCreateFlags n =+ VkDescriptorSetLayoutCreateBitmask n++deriving instance+ Bits (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+ FiniteBits (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+ Integral (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance Num (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+ Bounded (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+ Enum (VkDescriptorSetLayoutCreateBitmask FlagMask)++deriving instance+ Real (VkDescriptorSetLayoutCreateBitmask FlagMask)++instance Show (VkDescriptorSetLayoutCreateBitmask a) where+ showsPrec p (VkDescriptorSetLayoutCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkDescriptorSetLayoutCreateBitmask " . showsPrec 11 x)++instance Read (VkDescriptorSetLayoutCreateBitmask a) where+ readPrec+ = parens+ (choose [] ++++ prec 10+ (expectP (Ident "VkDescriptorSetLayoutCreateBitmask") >>+ (VkDescriptorSetLayoutCreateBitmask <$> step readPrec)))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorType VkDescriptorType registry at www.khronos.org>+newtype VkDescriptorType = VkDescriptorType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDescriptorType where+ showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLER+ = showString "VK_DESCRIPTOR_TYPE_SAMPLER"+ showsPrec _ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER+ = showString "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"+ showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE+ = showString "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE+ = showString "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"+ showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER+ = showString "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER+ = showString "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER+ = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER+ = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"+ showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC+ = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"+ showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC+ = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"+ showsPrec _ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT+ = showString "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"+ showsPrec p (VkDescriptorType x)+ = showParen (p >= 11)+ (showString "VkDescriptorType " . showsPrec 11 x)++instance Read VkDescriptorType where+ readPrec+ = parens+ (choose+ [("VK_DESCRIPTOR_TYPE_SAMPLER", pure VK_DESCRIPTOR_TYPE_SAMPLER),+ ("VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",+ pure VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER),+ ("VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",+ pure VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE),+ ("VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",+ pure VK_DESCRIPTOR_TYPE_STORAGE_IMAGE),+ ("VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",+ pure VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER),+ ("VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",+ pure VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER),+ ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",+ pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER),+ ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",+ pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER),+ ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",+ pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC),+ ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",+ pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC),+ ("VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",+ pure VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)]+ ++++ prec 10+ (expectP (Ident "VkDescriptorType") >>+ (VkDescriptorType <$> step readPrec)))++pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType 0++pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ::+ VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER =+ VkDescriptorType 1++pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = VkDescriptorType 2++pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = VkDescriptorType 3++pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER =+ VkDescriptorType 4++pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER =+ VkDescriptorType 5++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = VkDescriptorType 6++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = VkDescriptorType 7++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC ::+ VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC =+ VkDescriptorType 8++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC ::+ VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC =+ VkDescriptorType 9++pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType++pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = VkDescriptorType 10++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType registry at www.khronos.org>+newtype VkDescriptorUpdateTemplateType = VkDescriptorUpdateTemplateType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkDescriptorUpdateTemplateType where+ showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET+ = showString "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"+ showsPrec p (VkDescriptorUpdateTemplateType x)+ = showParen (p >= 11)+ (showString "VkDescriptorUpdateTemplateType " . showsPrec 11 x)++instance Read VkDescriptorUpdateTemplateType where+ readPrec+ = parens+ (choose+ [("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET",+ pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)]+ ++++ prec 10+ (expectP (Ident "VkDescriptorUpdateTemplateType") >>+ (VkDescriptorUpdateTemplateType <$> step readPrec)))++-- | Create descriptor update template for descriptor set updates+pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ::+ VkDescriptorUpdateTemplateType++pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET =+ VkDescriptorUpdateTemplateType 0++newtype VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateTypeKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkDescriptorUpdateTemplateTypeKHR where+ {-# INLINE show #-}+ show (VkDescriptorUpdateTemplateTypeKHR x) = show x++instance Read VkDescriptorUpdateTemplateTypeKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,239 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Device+ (VkDeviceCreateFlagBits(..),+ VkDeviceEventTypeEXT(VkDeviceEventTypeEXT,+ VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT),+ VkDeviceGroupPresentModeBitmaskKHR(VkDeviceGroupPresentModeBitmaskKHR,+ VkDeviceGroupPresentModeFlagsKHR,+ VkDeviceGroupPresentModeFlagBitsKHR,+ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,+ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,+ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,+ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR),+ VkDeviceGroupPresentModeFlagsKHR,+ VkDeviceGroupPresentModeFlagBitsKHR,+ VkDeviceQueueCreateBitmask(VkDeviceQueueCreateBitmask,+ VkDeviceQueueCreateFlags, VkDeviceQueueCreateFlagBits),+ VkDeviceQueueCreateFlags, VkDeviceQueueCreateFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkDeviceCreateFlagBits = VkDeviceCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkDeviceCreateFlagBits where+ {-# INLINE show #-}+ show (VkDeviceCreateFlagBits x) = show x++instance Read VkDeviceCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceEventTypeEXT VkDeviceEventTypeEXT registry at www.khronos.org>+newtype VkDeviceEventTypeEXT = VkDeviceEventTypeEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDeviceEventTypeEXT where+ showsPrec _ VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT+ = showString "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"+ showsPrec p (VkDeviceEventTypeEXT x)+ = showParen (p >= 11)+ (showString "VkDeviceEventTypeEXT " . showsPrec 11 x)++instance Read VkDeviceEventTypeEXT where+ readPrec+ = parens+ (choose+ [("VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT",+ pure VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDeviceEventTypeEXT") >>+ (VkDeviceEventTypeEXT <$> step readPrec)))++pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT ::+ VkDeviceEventTypeEXT++pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT =+ VkDeviceEventTypeEXT 0++newtype VkDeviceGroupPresentModeBitmaskKHR (a ::+ FlagType) = VkDeviceGroupPresentModeBitmaskKHR VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkDeviceGroupPresentModeFlagsKHR =+ VkDeviceGroupPresentModeBitmaskKHR FlagMask++type VkDeviceGroupPresentModeFlagBitsKHR =+ VkDeviceGroupPresentModeBitmaskKHR FlagBit++pattern VkDeviceGroupPresentModeFlagBitsKHR ::+ VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit++pattern VkDeviceGroupPresentModeFlagBitsKHR n =+ VkDeviceGroupPresentModeBitmaskKHR n++pattern VkDeviceGroupPresentModeFlagsKHR ::+ VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask++pattern VkDeviceGroupPresentModeFlagsKHR n =+ VkDeviceGroupPresentModeBitmaskKHR n++deriving instance+ Bits (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+ FiniteBits (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+ Integral (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance Num (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+ Bounded (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+ Enum (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++deriving instance+ Real (VkDeviceGroupPresentModeBitmaskKHR FlagMask)++instance Show (VkDeviceGroupPresentModeBitmaskKHR a) where+ showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR+ = showString "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"+ showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR+ = showString "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"+ showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR+ = showString "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"+ showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR+ = showString+ "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"+ showsPrec p (VkDeviceGroupPresentModeBitmaskKHR x)+ = showParen (p >= 11)+ (showString "VkDeviceGroupPresentModeBitmaskKHR " . showsPrec 11 x)++instance Read (VkDeviceGroupPresentModeBitmaskKHR a) where+ readPrec+ = parens+ (choose+ [("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR",+ pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR),+ ("VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR",+ pure VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR),+ ("VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR",+ pure VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR),+ ("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR",+ pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR)]+ ++++ prec 10+ (expectP (Ident "VkDeviceGroupPresentModeBitmaskKHR") >>+ (VkDeviceGroupPresentModeBitmaskKHR <$> step readPrec)))++-- | Present from local memory+--+-- bitpos = @0@+pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR ::+ VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR =+ VkDeviceGroupPresentModeBitmaskKHR 1++-- | Present from remote memory+--+-- bitpos = @1@+pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR ::+ VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR =+ VkDeviceGroupPresentModeBitmaskKHR 2++-- | Present sum of local and/or remote memory+--+-- bitpos = @2@+pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR ::+ VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR =+ VkDeviceGroupPresentModeBitmaskKHR 4++-- | Each physical device presents from local memory+--+-- bitpos = @3@+pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR ::+ VkDeviceGroupPresentModeBitmaskKHR a++pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR =+ VkDeviceGroupPresentModeBitmaskKHR 8++newtype VkDeviceQueueCreateBitmask (a ::+ FlagType) = VkDeviceQueueCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask++type VkDeviceQueueCreateFlagBits =+ VkDeviceQueueCreateBitmask FlagBit++pattern VkDeviceQueueCreateFlagBits ::+ VkFlags -> VkDeviceQueueCreateBitmask FlagBit++pattern VkDeviceQueueCreateFlagBits n =+ VkDeviceQueueCreateBitmask n++pattern VkDeviceQueueCreateFlags ::+ VkFlags -> VkDeviceQueueCreateBitmask FlagMask++pattern VkDeviceQueueCreateFlags n = VkDeviceQueueCreateBitmask n++deriving instance Bits (VkDeviceQueueCreateBitmask FlagMask)++deriving instance FiniteBits (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Integral (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Num (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Bounded (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Enum (VkDeviceQueueCreateBitmask FlagMask)++deriving instance Real (VkDeviceQueueCreateBitmask FlagMask)++instance Show (VkDeviceQueueCreateBitmask a) where+ showsPrec p (VkDeviceQueueCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkDeviceQueueCreateBitmask " . showsPrec 11 x)++instance Read (VkDeviceQueueCreateBitmask a) where+ readPrec+ = parens+ (choose [] ++++ prec 10+ (expectP (Ident "VkDeviceQueueCreateBitmask") >>+ (VkDeviceQueueCreateBitmask <$> step readPrec)))
@@ -0,0 +1,61 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT+ (VkDiscardRectangleModeEXT(VkDiscardRectangleModeEXT,+ VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,+ VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDiscardRectangleModeEXT VkDiscardRectangleModeEXT registry at www.khronos.org>+newtype VkDiscardRectangleModeEXT = VkDiscardRectangleModeEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkDiscardRectangleModeEXT where+ showsPrec _ VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT+ = showString "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"+ showsPrec _ VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT+ = showString "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"+ showsPrec p (VkDiscardRectangleModeEXT x)+ = showParen (p >= 11)+ (showString "VkDiscardRectangleModeEXT " . showsPrec 11 x)++instance Read VkDiscardRectangleModeEXT where+ readPrec+ = parens+ (choose+ [("VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT",+ pure VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT),+ ("VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT",+ pure VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDiscardRectangleModeEXT") >>+ (VkDiscardRectangleModeEXT <$> step readPrec)))++pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT ::+ VkDiscardRectangleModeEXT++pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT =+ VkDiscardRectangleModeEXT 0++pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT ::+ VkDiscardRectangleModeEXT++pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT =+ VkDiscardRectangleModeEXT 1
@@ -0,0 +1,208 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Display+ (VkDisplayEventTypeEXT(VkDisplayEventTypeEXT,+ VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT),+ VkDisplayPlaneAlphaBitmaskKHR(VkDisplayPlaneAlphaBitmaskKHR,+ VkDisplayPlaneAlphaFlagsKHR, VkDisplayPlaneAlphaFlagBitsKHR,+ VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,+ VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,+ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,+ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR),+ VkDisplayPlaneAlphaFlagsKHR, VkDisplayPlaneAlphaFlagBitsKHR,+ VkDisplayPowerStateEXT(VkDisplayPowerStateEXT,+ VK_DISPLAY_POWER_STATE_OFF_EXT, VK_DISPLAY_POWER_STATE_SUSPEND_EXT,+ VK_DISPLAY_POWER_STATE_ON_EXT))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayEventTypeEXT VkDisplayEventTypeEXT registry at www.khronos.org>+newtype VkDisplayEventTypeEXT = VkDisplayEventTypeEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDisplayEventTypeEXT where+ showsPrec _ VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT+ = showString "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"+ showsPrec p (VkDisplayEventTypeEXT x)+ = showParen (p >= 11)+ (showString "VkDisplayEventTypeEXT " . showsPrec 11 x)++instance Read VkDisplayEventTypeEXT where+ readPrec+ = parens+ (choose+ [("VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT",+ pure VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDisplayEventTypeEXT") >>+ (VkDisplayEventTypeEXT <$> step readPrec)))++pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT ::+ VkDisplayEventTypeEXT++pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT =+ VkDisplayEventTypeEXT 0++newtype VkDisplayPlaneAlphaBitmaskKHR (a ::+ FlagType) = VkDisplayPlaneAlphaBitmaskKHR VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkDisplayPlaneAlphaFlagsKHR =+ VkDisplayPlaneAlphaBitmaskKHR FlagMask++type VkDisplayPlaneAlphaFlagBitsKHR =+ VkDisplayPlaneAlphaBitmaskKHR FlagBit++pattern VkDisplayPlaneAlphaFlagBitsKHR ::+ VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagBit++pattern VkDisplayPlaneAlphaFlagBitsKHR n =+ VkDisplayPlaneAlphaBitmaskKHR n++pattern VkDisplayPlaneAlphaFlagsKHR ::+ VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagMask++pattern VkDisplayPlaneAlphaFlagsKHR n =+ VkDisplayPlaneAlphaBitmaskKHR n++deriving instance Bits (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance+ FiniteBits (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Integral (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Num (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Bounded (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Enum (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++deriving instance Real (VkDisplayPlaneAlphaBitmaskKHR FlagMask)++instance Show (VkDisplayPlaneAlphaBitmaskKHR a) where+ showsPrec _ VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR+ = showString "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"+ showsPrec _ VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR+ = showString "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"+ showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR+ = showString "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"+ showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR+ = showString+ "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"+ showsPrec p (VkDisplayPlaneAlphaBitmaskKHR x)+ = showParen (p >= 11)+ (showString "VkDisplayPlaneAlphaBitmaskKHR " . showsPrec 11 x)++instance Read (VkDisplayPlaneAlphaBitmaskKHR a) where+ readPrec+ = parens+ (choose+ [("VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR",+ pure VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR),+ ("VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR",+ pure VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR),+ ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR",+ pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR),+ ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR",+ pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR)]+ ++++ prec 10+ (expectP (Ident "VkDisplayPlaneAlphaBitmaskKHR") >>+ (VkDisplayPlaneAlphaBitmaskKHR <$> step readPrec)))++-- | bitpos = @0@+pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR ::+ VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR =+ VkDisplayPlaneAlphaBitmaskKHR 1++-- | bitpos = @1@+pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR ::+ VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR =+ VkDisplayPlaneAlphaBitmaskKHR 2++-- | bitpos = @2@+pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR ::+ VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR =+ VkDisplayPlaneAlphaBitmaskKHR 4++-- | bitpos = @3@+pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR ::+ VkDisplayPlaneAlphaBitmaskKHR a++pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR =+ VkDisplayPlaneAlphaBitmaskKHR 8++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPowerStateEXT VkDisplayPowerStateEXT registry at www.khronos.org>+newtype VkDisplayPowerStateEXT = VkDisplayPowerStateEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDisplayPowerStateEXT where+ showsPrec _ VK_DISPLAY_POWER_STATE_OFF_EXT+ = showString "VK_DISPLAY_POWER_STATE_OFF_EXT"+ showsPrec _ VK_DISPLAY_POWER_STATE_SUSPEND_EXT+ = showString "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"+ showsPrec _ VK_DISPLAY_POWER_STATE_ON_EXT+ = showString "VK_DISPLAY_POWER_STATE_ON_EXT"+ showsPrec p (VkDisplayPowerStateEXT x)+ = showParen (p >= 11)+ (showString "VkDisplayPowerStateEXT " . showsPrec 11 x)++instance Read VkDisplayPowerStateEXT where+ readPrec+ = parens+ (choose+ [("VK_DISPLAY_POWER_STATE_OFF_EXT",+ pure VK_DISPLAY_POWER_STATE_OFF_EXT),+ ("VK_DISPLAY_POWER_STATE_SUSPEND_EXT",+ pure VK_DISPLAY_POWER_STATE_SUSPEND_EXT),+ ("VK_DISPLAY_POWER_STATE_ON_EXT",+ pure VK_DISPLAY_POWER_STATE_ON_EXT)]+ ++++ prec 10+ (expectP (Ident "VkDisplayPowerStateEXT") >>+ (VkDisplayPowerStateEXT <$> step readPrec)))++pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT++pattern VK_DISPLAY_POWER_STATE_OFF_EXT = VkDisplayPowerStateEXT 0++pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT ::+ VkDisplayPowerStateEXT++pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT =+ VkDisplayPowerStateEXT 1++pattern VK_DISPLAY_POWER_STATE_ON_EXT :: VkDisplayPowerStateEXT++pattern VK_DISPLAY_POWER_STATE_ON_EXT = VkDisplayPowerStateEXT 2
@@ -0,0 +1,112 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.DynamicState+ (VkDynamicState(VkDynamicState, VK_DYNAMIC_STATE_VIEWPORT,+ VK_DYNAMIC_STATE_SCISSOR, VK_DYNAMIC_STATE_LINE_WIDTH,+ VK_DYNAMIC_STATE_DEPTH_BIAS, VK_DYNAMIC_STATE_BLEND_CONSTANTS,+ VK_DYNAMIC_STATE_DEPTH_BOUNDS,+ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,+ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,+ VK_DYNAMIC_STATE_STENCIL_REFERENCE))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDynamicState VkDynamicState registry at www.khronos.org>+newtype VkDynamicState = VkDynamicState Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkDynamicState where+ showsPrec _ VK_DYNAMIC_STATE_VIEWPORT+ = showString "VK_DYNAMIC_STATE_VIEWPORT"+ showsPrec _ VK_DYNAMIC_STATE_SCISSOR+ = showString "VK_DYNAMIC_STATE_SCISSOR"+ showsPrec _ VK_DYNAMIC_STATE_LINE_WIDTH+ = showString "VK_DYNAMIC_STATE_LINE_WIDTH"+ showsPrec _ VK_DYNAMIC_STATE_DEPTH_BIAS+ = showString "VK_DYNAMIC_STATE_DEPTH_BIAS"+ showsPrec _ VK_DYNAMIC_STATE_BLEND_CONSTANTS+ = showString "VK_DYNAMIC_STATE_BLEND_CONSTANTS"+ showsPrec _ VK_DYNAMIC_STATE_DEPTH_BOUNDS+ = showString "VK_DYNAMIC_STATE_DEPTH_BOUNDS"+ showsPrec _ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK+ = showString "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"+ showsPrec _ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK+ = showString "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"+ showsPrec _ VK_DYNAMIC_STATE_STENCIL_REFERENCE+ = showString "VK_DYNAMIC_STATE_STENCIL_REFERENCE"+ showsPrec p (VkDynamicState x)+ = showParen (p >= 11)+ (showString "VkDynamicState " . showsPrec 11 x)++instance Read VkDynamicState where+ readPrec+ = parens+ (choose+ [("VK_DYNAMIC_STATE_VIEWPORT", pure VK_DYNAMIC_STATE_VIEWPORT),+ ("VK_DYNAMIC_STATE_SCISSOR", pure VK_DYNAMIC_STATE_SCISSOR),+ ("VK_DYNAMIC_STATE_LINE_WIDTH", pure VK_DYNAMIC_STATE_LINE_WIDTH),+ ("VK_DYNAMIC_STATE_DEPTH_BIAS", pure VK_DYNAMIC_STATE_DEPTH_BIAS),+ ("VK_DYNAMIC_STATE_BLEND_CONSTANTS",+ pure VK_DYNAMIC_STATE_BLEND_CONSTANTS),+ ("VK_DYNAMIC_STATE_DEPTH_BOUNDS",+ pure VK_DYNAMIC_STATE_DEPTH_BOUNDS),+ ("VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK",+ pure VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK),+ ("VK_DYNAMIC_STATE_STENCIL_WRITE_MASK",+ pure VK_DYNAMIC_STATE_STENCIL_WRITE_MASK),+ ("VK_DYNAMIC_STATE_STENCIL_REFERENCE",+ pure VK_DYNAMIC_STATE_STENCIL_REFERENCE)]+ ++++ prec 10+ (expectP (Ident "VkDynamicState") >>+ (VkDynamicState <$> step readPrec)))++pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState++pattern VK_DYNAMIC_STATE_VIEWPORT = VkDynamicState 0++pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState++pattern VK_DYNAMIC_STATE_SCISSOR = VkDynamicState 1++pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState++pattern VK_DYNAMIC_STATE_LINE_WIDTH = VkDynamicState 2++pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState++pattern VK_DYNAMIC_STATE_DEPTH_BIAS = VkDynamicState 3++pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState++pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS = VkDynamicState 4++pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState++pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS = VkDynamicState 5++pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState++pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = VkDynamicState 6++pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState++pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = VkDynamicState 7++pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState++pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE = VkDynamicState 8
@@ -0,0 +1,942 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.External+ (VkExternalFenceFeatureFlagBitsKHR(..),+ VkExternalFenceFeatureBitmask(VkExternalFenceFeatureBitmask,+ VkExternalFenceFeatureFlags, VkExternalFenceFeatureFlagBits,+ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,+ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT),+ VkExternalFenceFeatureFlags, VkExternalFenceFeatureFlagBits,+ VkExternalFenceHandleTypeFlagBitsKHR(..),+ VkExternalFenceHandleTypeBitmask(VkExternalFenceHandleTypeBitmask,+ VkExternalFenceHandleTypeFlags,+ VkExternalFenceHandleTypeFlagBits,+ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,+ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,+ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT),+ VkExternalFenceHandleTypeFlags, VkExternalFenceHandleTypeFlagBits,+ VkExternalMemoryFeatureFlagBitsKHR(..),+ VkExternalMemoryFeatureBitmask(VkExternalMemoryFeatureBitmask,+ VkExternalMemoryFeatureFlags,+ VkExternalMemoryFeatureFlagBits,+ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,+ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,+ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT),+ VkExternalMemoryFeatureFlags, VkExternalMemoryFeatureFlagBits,+ VkExternalMemoryFeatureBitmaskNV(VkExternalMemoryFeatureBitmaskNV,+ VkExternalMemoryFeatureFlagsNV,+ VkExternalMemoryFeatureFlagBitsNV,+ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,+ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,+ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV),+ VkExternalMemoryFeatureFlagsNV, VkExternalMemoryFeatureFlagBitsNV,+ VkExternalMemoryHandleTypeFlagBitsKHR(..),+ VkExternalMemoryHandleTypeBitmask(VkExternalMemoryHandleTypeBitmask,+ VkExternalMemoryHandleTypeFlags,+ VkExternalMemoryHandleTypeFlagBits,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT),+ VkExternalMemoryHandleTypeFlags,+ VkExternalMemoryHandleTypeFlagBits,+ VkExternalMemoryHandleTypeBitmaskNV(VkExternalMemoryHandleTypeBitmaskNV,+ VkExternalMemoryHandleTypeFlagsNV,+ VkExternalMemoryHandleTypeFlagBitsNV,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,+ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV),+ VkExternalMemoryHandleTypeFlagsNV,+ VkExternalMemoryHandleTypeFlagBitsNV,+ VkExternalSemaphoreFeatureFlagBitsKHR(..),+ VkExternalSemaphoreFeatureBitmask(VkExternalSemaphoreFeatureBitmask,+ VkExternalSemaphoreFeatureFlags,+ VkExternalSemaphoreFeatureFlagBits,+ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,+ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT),+ VkExternalSemaphoreFeatureFlags,+ VkExternalSemaphoreFeatureFlagBits,+ VkExternalSemaphoreHandleTypeFlagBitsKHR(..),+ VkExternalSemaphoreHandleTypeBitmask(VkExternalSemaphoreHandleTypeBitmask,+ VkExternalSemaphoreHandleTypeFlags,+ VkExternalSemaphoreHandleTypeFlagBits,+ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,+ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,+ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,+ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,+ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT),+ VkExternalSemaphoreHandleTypeFlags,+ VkExternalSemaphoreHandleTypeFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkExternalFenceFeatureFlagBitsKHR where+ {-# INLINE show #-}+ show (VkExternalFenceFeatureFlagBitsKHR x) = show x++instance Read VkExternalFenceFeatureFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalFenceFeatureBitmask (a ::+ FlagType) = VkExternalFenceFeatureBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkExternalFenceFeatureFlags =+ VkExternalFenceFeatureBitmask FlagMask++type VkExternalFenceFeatureFlagBits =+ VkExternalFenceFeatureBitmask FlagBit++pattern VkExternalFenceFeatureFlagBits ::+ VkFlags -> VkExternalFenceFeatureBitmask FlagBit++pattern VkExternalFenceFeatureFlagBits n =+ VkExternalFenceFeatureBitmask n++pattern VkExternalFenceFeatureFlags ::+ VkFlags -> VkExternalFenceFeatureBitmask FlagMask++pattern VkExternalFenceFeatureFlags n =+ VkExternalFenceFeatureBitmask n++deriving instance Bits (VkExternalFenceFeatureBitmask FlagMask)++deriving instance+ FiniteBits (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Integral (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Num (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Bounded (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Enum (VkExternalFenceFeatureBitmask FlagMask)++deriving instance Real (VkExternalFenceFeatureBitmask FlagMask)++instance Show (VkExternalFenceFeatureBitmask a) where+ showsPrec _ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT+ = showString "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"+ showsPrec _ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT+ = showString "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"+ showsPrec p (VkExternalFenceFeatureBitmask x)+ = showParen (p >= 11)+ (showString "VkExternalFenceFeatureBitmask " . showsPrec 11 x)++instance Read (VkExternalFenceFeatureBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT",+ pure VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT),+ ("VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT",+ pure VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkExternalFenceFeatureBitmask") >>+ (VkExternalFenceFeatureBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT ::+ VkExternalFenceFeatureBitmask a++pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT =+ VkExternalFenceFeatureBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT ::+ VkExternalFenceFeatureBitmask a++pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT =+ VkExternalFenceFeatureBitmask 2++newtype VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkExternalFenceHandleTypeFlagBitsKHR where+ {-# INLINE show #-}+ show (VkExternalFenceHandleTypeFlagBitsKHR x) = show x++instance Read VkExternalFenceHandleTypeFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalFenceHandleTypeBitmask (a ::+ FlagType) = VkExternalFenceHandleTypeBitmask VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkExternalFenceHandleTypeFlags =+ VkExternalFenceHandleTypeBitmask FlagMask++type VkExternalFenceHandleTypeFlagBits =+ VkExternalFenceHandleTypeBitmask FlagBit++pattern VkExternalFenceHandleTypeFlagBits ::+ VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit++pattern VkExternalFenceHandleTypeFlagBits n =+ VkExternalFenceHandleTypeBitmask n++pattern VkExternalFenceHandleTypeFlags ::+ VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask++pattern VkExternalFenceHandleTypeFlags n =+ VkExternalFenceHandleTypeBitmask n++deriving instance Bits (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance+ FiniteBits (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance+ Integral (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance Num (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance+ Bounded (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance Enum (VkExternalFenceHandleTypeBitmask FlagMask)++deriving instance Real (VkExternalFenceHandleTypeBitmask FlagMask)++instance Show (VkExternalFenceHandleTypeBitmask a) where+ showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT+ = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"+ showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT+ = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"+ showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+ = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+ showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT+ = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"+ showsPrec p (VkExternalFenceHandleTypeBitmask x)+ = showParen (p >= 11)+ (showString "VkExternalFenceHandleTypeBitmask " . showsPrec 11 x)++instance Read (VkExternalFenceHandleTypeBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT",+ pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT),+ ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT",+ pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT),+ ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+ pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+ ("VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT",+ pure VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT)]+ ++++ prec 10+ (expectP (Ident "VkExternalFenceHandleTypeBitmask") >>+ (VkExternalFenceHandleTypeBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT ::+ VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT =+ VkExternalFenceHandleTypeBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT ::+ VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT =+ VkExternalFenceHandleTypeBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::+ VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =+ VkExternalFenceHandleTypeBitmask 4++-- | bitpos = @3@+pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT ::+ VkExternalFenceHandleTypeBitmask a++pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT =+ VkExternalFenceHandleTypeBitmask 8++newtype VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkExternalMemoryFeatureFlagBitsKHR where+ {-# INLINE show #-}+ show (VkExternalMemoryFeatureFlagBitsKHR x) = show x++instance Read VkExternalMemoryFeatureFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalMemoryFeatureBitmask (a ::+ FlagType) = VkExternalMemoryFeatureBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkExternalMemoryFeatureFlags =+ VkExternalMemoryFeatureBitmask FlagMask++type VkExternalMemoryFeatureFlagBits =+ VkExternalMemoryFeatureBitmask FlagBit++pattern VkExternalMemoryFeatureFlagBits ::+ VkFlags -> VkExternalMemoryFeatureBitmask FlagBit++pattern VkExternalMemoryFeatureFlagBits n =+ VkExternalMemoryFeatureBitmask n++pattern VkExternalMemoryFeatureFlags ::+ VkFlags -> VkExternalMemoryFeatureBitmask FlagMask++pattern VkExternalMemoryFeatureFlags n =+ VkExternalMemoryFeatureBitmask n++deriving instance Bits (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance+ FiniteBits (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance+ Integral (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Num (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Bounded (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Enum (VkExternalMemoryFeatureBitmask FlagMask)++deriving instance Real (VkExternalMemoryFeatureBitmask FlagMask)++instance Show (VkExternalMemoryFeatureBitmask a) where+ showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT+ = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT+ = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT+ = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"+ showsPrec p (VkExternalMemoryFeatureBitmask x)+ = showParen (p >= 11)+ (showString "VkExternalMemoryFeatureBitmask " . showsPrec 11 x)++instance Read (VkExternalMemoryFeatureBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT",+ pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT),+ ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT",+ pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT),+ ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT",+ pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkExternalMemoryFeatureBitmask") >>+ (VkExternalMemoryFeatureBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT ::+ VkExternalMemoryFeatureBitmask a++pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT =+ VkExternalMemoryFeatureBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT ::+ VkExternalMemoryFeatureBitmask a++pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT =+ VkExternalMemoryFeatureBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT ::+ VkExternalMemoryFeatureBitmask a++pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT =+ VkExternalMemoryFeatureBitmask 4++newtype VkExternalMemoryFeatureBitmaskNV (a ::+ FlagType) = VkExternalMemoryFeatureBitmaskNV VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkExternalMemoryFeatureFlagsNV =+ VkExternalMemoryFeatureBitmaskNV FlagMask++type VkExternalMemoryFeatureFlagBitsNV =+ VkExternalMemoryFeatureBitmaskNV FlagBit++pattern VkExternalMemoryFeatureFlagBitsNV ::+ VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit++pattern VkExternalMemoryFeatureFlagBitsNV n =+ VkExternalMemoryFeatureBitmaskNV n++pattern VkExternalMemoryFeatureFlagsNV ::+ VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask++pattern VkExternalMemoryFeatureFlagsNV n =+ VkExternalMemoryFeatureBitmaskNV n++deriving instance Bits (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance+ FiniteBits (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance+ Integral (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance Num (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance+ Bounded (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance Enum (VkExternalMemoryFeatureBitmaskNV FlagMask)++deriving instance Real (VkExternalMemoryFeatureBitmaskNV FlagMask)++instance Show (VkExternalMemoryFeatureBitmaskNV a) where+ showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV+ = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"+ showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV+ = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"+ showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV+ = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"+ showsPrec p (VkExternalMemoryFeatureBitmaskNV x)+ = showParen (p >= 11)+ (showString "VkExternalMemoryFeatureBitmaskNV " . showsPrec 11 x)++instance Read (VkExternalMemoryFeatureBitmaskNV a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV",+ pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV),+ ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV",+ pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV),+ ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV",+ pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)]+ ++++ prec 10+ (expectP (Ident "VkExternalMemoryFeatureBitmaskNV") >>+ (VkExternalMemoryFeatureBitmaskNV <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV ::+ VkExternalMemoryFeatureBitmaskNV a++pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV =+ VkExternalMemoryFeatureBitmaskNV 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV ::+ VkExternalMemoryFeatureBitmaskNV a++pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV =+ VkExternalMemoryFeatureBitmaskNV 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV ::+ VkExternalMemoryFeatureBitmaskNV a++pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV =+ VkExternalMemoryFeatureBitmaskNV 4++newtype VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkExternalMemoryHandleTypeFlagBitsKHR where+ {-# INLINE show #-}+ show (VkExternalMemoryHandleTypeFlagBitsKHR x) = show x++instance Read VkExternalMemoryHandleTypeFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalMemoryHandleTypeBitmask (a ::+ FlagType) = VkExternalMemoryHandleTypeBitmask VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkExternalMemoryHandleTypeFlags =+ VkExternalMemoryHandleTypeBitmask FlagMask++type VkExternalMemoryHandleTypeFlagBits =+ VkExternalMemoryHandleTypeBitmask FlagBit++pattern VkExternalMemoryHandleTypeFlagBits ::+ VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit++pattern VkExternalMemoryHandleTypeFlagBits n =+ VkExternalMemoryHandleTypeBitmask n++pattern VkExternalMemoryHandleTypeFlags ::+ VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask++pattern VkExternalMemoryHandleTypeFlags n =+ VkExternalMemoryHandleTypeBitmask n++deriving instance Bits (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance+ FiniteBits (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance+ Integral (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance Num (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance+ Bounded (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance Enum (VkExternalMemoryHandleTypeBitmask FlagMask)++deriving instance Real (VkExternalMemoryHandleTypeBitmask FlagMask)++instance Show (VkExternalMemoryHandleTypeBitmask a) where+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"+ showsPrec p (VkExternalMemoryHandleTypeBitmask x)+ = showParen (p >= 11)+ (showString "VkExternalMemoryHandleTypeBitmask " . showsPrec 11 x)++instance Read (VkExternalMemoryHandleTypeBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkExternalMemoryHandleTypeBitmask") >>+ (VkExternalMemoryHandleTypeBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT =+ VkExternalMemoryHandleTypeBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT =+ VkExternalMemoryHandleTypeBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =+ VkExternalMemoryHandleTypeBitmask 4++-- | bitpos = @3@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT =+ VkExternalMemoryHandleTypeBitmask 8++-- | bitpos = @4@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT =+ VkExternalMemoryHandleTypeBitmask 16++-- | bitpos = @5@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT =+ VkExternalMemoryHandleTypeBitmask 32++-- | bitpos = @6@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT ::+ VkExternalMemoryHandleTypeBitmask a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT =+ VkExternalMemoryHandleTypeBitmask 64++newtype VkExternalMemoryHandleTypeBitmaskNV (a ::+ FlagType) = VkExternalMemoryHandleTypeBitmaskNV VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkExternalMemoryHandleTypeFlagsNV =+ VkExternalMemoryHandleTypeBitmaskNV FlagMask++type VkExternalMemoryHandleTypeFlagBitsNV =+ VkExternalMemoryHandleTypeBitmaskNV FlagBit++pattern VkExternalMemoryHandleTypeFlagBitsNV ::+ VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit++pattern VkExternalMemoryHandleTypeFlagBitsNV n =+ VkExternalMemoryHandleTypeBitmaskNV n++pattern VkExternalMemoryHandleTypeFlagsNV ::+ VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask++pattern VkExternalMemoryHandleTypeFlagsNV n =+ VkExternalMemoryHandleTypeBitmaskNV n++deriving instance+ Bits (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+ FiniteBits (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+ Integral (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+ Num (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+ Bounded (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+ Enum (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++deriving instance+ Real (VkExternalMemoryHandleTypeBitmaskNV FlagMask)++instance Show (VkExternalMemoryHandleTypeBitmaskNV a) where+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV+ = showString+ "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV+ = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"+ showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV+ = showString+ "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"+ showsPrec p (VkExternalMemoryHandleTypeBitmaskNV x)+ = showParen (p >= 11)+ (showString "VkExternalMemoryHandleTypeBitmaskNV " .+ showsPrec 11 x)++instance Read (VkExternalMemoryHandleTypeBitmaskNV a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV),+ ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV",+ pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV)]+ ++++ prec 10+ (expectP (Ident "VkExternalMemoryHandleTypeBitmaskNV") >>+ (VkExternalMemoryHandleTypeBitmaskNV <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV ::+ VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV =+ VkExternalMemoryHandleTypeBitmaskNV 1++-- | bitpos = @1@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV ::+ VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV =+ VkExternalMemoryHandleTypeBitmaskNV 2++-- | bitpos = @2@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV ::+ VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV =+ VkExternalMemoryHandleTypeBitmaskNV 4++-- | bitpos = @3@+pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV ::+ VkExternalMemoryHandleTypeBitmaskNV a++pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV =+ VkExternalMemoryHandleTypeBitmaskNV 8++newtype VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkExternalSemaphoreFeatureFlagBitsKHR where+ {-# INLINE show #-}+ show (VkExternalSemaphoreFeatureFlagBitsKHR x) = show x++instance Read VkExternalSemaphoreFeatureFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalSemaphoreFeatureBitmask (a ::+ FlagType) = VkExternalSemaphoreFeatureBitmask VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkExternalSemaphoreFeatureFlags =+ VkExternalSemaphoreFeatureBitmask FlagMask++type VkExternalSemaphoreFeatureFlagBits =+ VkExternalSemaphoreFeatureBitmask FlagBit++pattern VkExternalSemaphoreFeatureFlagBits ::+ VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit++pattern VkExternalSemaphoreFeatureFlagBits n =+ VkExternalSemaphoreFeatureBitmask n++pattern VkExternalSemaphoreFeatureFlags ::+ VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask++pattern VkExternalSemaphoreFeatureFlags n =+ VkExternalSemaphoreFeatureBitmask n++deriving instance Bits (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance+ FiniteBits (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance+ Integral (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance Num (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance+ Bounded (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance Enum (VkExternalSemaphoreFeatureBitmask FlagMask)++deriving instance Real (VkExternalSemaphoreFeatureBitmask FlagMask)++instance Show (VkExternalSemaphoreFeatureBitmask a) where+ showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT+ = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"+ showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT+ = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"+ showsPrec p (VkExternalSemaphoreFeatureBitmask x)+ = showParen (p >= 11)+ (showString "VkExternalSemaphoreFeatureBitmask " . showsPrec 11 x)++instance Read (VkExternalSemaphoreFeatureBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT",+ pure VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT),+ ("VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT",+ pure VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkExternalSemaphoreFeatureBitmask") >>+ (VkExternalSemaphoreFeatureBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT ::+ VkExternalSemaphoreFeatureBitmask a++pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT =+ VkExternalSemaphoreFeatureBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT ::+ VkExternalSemaphoreFeatureBitmask a++pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT =+ VkExternalSemaphoreFeatureBitmask 2++newtype VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits, Storable,+ Real, Data, Generic)++instance Show VkExternalSemaphoreHandleTypeFlagBitsKHR where+ {-# INLINE show #-}+ show (VkExternalSemaphoreHandleTypeFlagBitsKHR x) = show x++instance Read VkExternalSemaphoreHandleTypeFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkExternalSemaphoreHandleTypeBitmask (a ::+ FlagType) = VkExternalSemaphoreHandleTypeBitmask VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkExternalSemaphoreHandleTypeFlags =+ VkExternalSemaphoreHandleTypeBitmask FlagMask++type VkExternalSemaphoreHandleTypeFlagBits =+ VkExternalSemaphoreHandleTypeBitmask FlagBit++pattern VkExternalSemaphoreHandleTypeFlagBits ::+ VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit++pattern VkExternalSemaphoreHandleTypeFlagBits n =+ VkExternalSemaphoreHandleTypeBitmask n++pattern VkExternalSemaphoreHandleTypeFlags ::+ VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask++pattern VkExternalSemaphoreHandleTypeFlags n =+ VkExternalSemaphoreHandleTypeBitmask n++deriving instance+ Bits (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+ FiniteBits (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+ Integral (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+ Num (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+ Bounded (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+ Enum (VkExternalSemaphoreHandleTypeBitmask FlagMask)++deriving instance+ Real (VkExternalSemaphoreHandleTypeBitmask FlagMask)++instance Show (VkExternalSemaphoreHandleTypeBitmask a) where+ showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT+ = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"+ showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT+ = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"+ showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT+ = showString+ "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"+ showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT+ = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"+ showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT+ = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"+ showsPrec p (VkExternalSemaphoreHandleTypeBitmask x)+ = showParen (p >= 11)+ (showString "VkExternalSemaphoreHandleTypeBitmask " .+ showsPrec 11 x)++instance Read (VkExternalSemaphoreHandleTypeBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT",+ pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT),+ ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT",+ pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT),+ ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",+ pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),+ ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT",+ pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT),+ ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT",+ pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)]+ ++++ prec 10+ (expectP (Ident "VkExternalSemaphoreHandleTypeBitmask") >>+ (VkExternalSemaphoreHandleTypeBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ::+ VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT =+ VkExternalSemaphoreHandleTypeBitmask 1++-- | bitpos = @1@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT ::+ VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT =+ VkExternalSemaphoreHandleTypeBitmask 2++-- | bitpos = @2@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::+ VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =+ VkExternalSemaphoreHandleTypeBitmask 4++-- | bitpos = @3@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT ::+ VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT =+ VkExternalSemaphoreHandleTypeBitmask 8++-- | bitpos = @4@+pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT ::+ VkExternalSemaphoreHandleTypeBitmask a++pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT =+ VkExternalSemaphoreHandleTypeBitmask 16
@@ -0,0 +1,153 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Fence+ (VkFenceCreateBitmask(VkFenceCreateBitmask, VkFenceCreateFlags,+ VkFenceCreateFlagBits, VK_FENCE_CREATE_SIGNALED_BIT),+ VkFenceCreateFlags, VkFenceCreateFlagBits,+ VkFenceImportFlagBitsKHR(..),+ VkFenceImportBitmask(VkFenceImportBitmask, VkFenceImportFlags,+ VkFenceImportFlagBits, VK_FENCE_IMPORT_TEMPORARY_BIT),+ VkFenceImportFlags, VkFenceImportFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkFenceCreateBitmask (a ::+ FlagType) = VkFenceCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask++type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit++pattern VkFenceCreateFlagBits ::+ VkFlags -> VkFenceCreateBitmask FlagBit++pattern VkFenceCreateFlagBits n = VkFenceCreateBitmask n++pattern VkFenceCreateFlags ::+ VkFlags -> VkFenceCreateBitmask FlagMask++pattern VkFenceCreateFlags n = VkFenceCreateBitmask n++deriving instance Bits (VkFenceCreateBitmask FlagMask)++deriving instance FiniteBits (VkFenceCreateBitmask FlagMask)++deriving instance Integral (VkFenceCreateBitmask FlagMask)++deriving instance Num (VkFenceCreateBitmask FlagMask)++deriving instance Bounded (VkFenceCreateBitmask FlagMask)++deriving instance Enum (VkFenceCreateBitmask FlagMask)++deriving instance Real (VkFenceCreateBitmask FlagMask)++instance Show (VkFenceCreateBitmask a) where+ showsPrec _ VK_FENCE_CREATE_SIGNALED_BIT+ = showString "VK_FENCE_CREATE_SIGNALED_BIT"+ showsPrec p (VkFenceCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkFenceCreateBitmask " . showsPrec 11 x)++instance Read (VkFenceCreateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_FENCE_CREATE_SIGNALED_BIT",+ pure VK_FENCE_CREATE_SIGNALED_BIT)]+ ++++ prec 10+ (expectP (Ident "VkFenceCreateBitmask") >>+ (VkFenceCreateBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a++pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateBitmask 1++newtype VkFenceImportFlagBitsKHR = VkFenceImportFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkFenceImportFlagBitsKHR where+ {-# INLINE show #-}+ show (VkFenceImportFlagBitsKHR x) = show x++instance Read VkFenceImportFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkFenceImportBitmask (a ::+ FlagType) = VkFenceImportBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkFenceImportFlags = VkFenceImportBitmask FlagMask++type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit++pattern VkFenceImportFlagBits ::+ VkFlags -> VkFenceImportBitmask FlagBit++pattern VkFenceImportFlagBits n = VkFenceImportBitmask n++pattern VkFenceImportFlags ::+ VkFlags -> VkFenceImportBitmask FlagMask++pattern VkFenceImportFlags n = VkFenceImportBitmask n++deriving instance Bits (VkFenceImportBitmask FlagMask)++deriving instance FiniteBits (VkFenceImportBitmask FlagMask)++deriving instance Integral (VkFenceImportBitmask FlagMask)++deriving instance Num (VkFenceImportBitmask FlagMask)++deriving instance Bounded (VkFenceImportBitmask FlagMask)++deriving instance Enum (VkFenceImportBitmask FlagMask)++deriving instance Real (VkFenceImportBitmask FlagMask)++instance Show (VkFenceImportBitmask a) where+ showsPrec _ VK_FENCE_IMPORT_TEMPORARY_BIT+ = showString "VK_FENCE_IMPORT_TEMPORARY_BIT"+ showsPrec p (VkFenceImportBitmask x)+ = showParen (p >= 11)+ (showString "VkFenceImportBitmask " . showsPrec 11 x)++instance Read (VkFenceImportBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_FENCE_IMPORT_TEMPORARY_BIT",+ pure VK_FENCE_IMPORT_TEMPORARY_BIT)]+ ++++ prec 10+ (expectP (Ident "VkFenceImportBitmask") >>+ (VkFenceImportBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a++pattern VK_FENCE_IMPORT_TEMPORARY_BIT = VkFenceImportBitmask 1
@@ -0,0 +1,47 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.Filter+ (VkFilter(VkFilter, VK_FILTER_NEAREST, VK_FILTER_LINEAR)) where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFilter VkFilter registry at www.khronos.org>+newtype VkFilter = VkFilter Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkFilter where+ showsPrec _ VK_FILTER_NEAREST = showString "VK_FILTER_NEAREST"+ showsPrec _ VK_FILTER_LINEAR = showString "VK_FILTER_LINEAR"+ showsPrec p (VkFilter x)+ = showParen (p >= 11) (showString "VkFilter " . showsPrec 11 x)++instance Read VkFilter where+ readPrec+ = parens+ (choose+ [("VK_FILTER_NEAREST", pure VK_FILTER_NEAREST),+ ("VK_FILTER_LINEAR", pure VK_FILTER_LINEAR)]+ ++++ prec 10+ (expectP (Ident "VkFilter") >> (VkFilter <$> step readPrec)))++pattern VK_FILTER_NEAREST :: VkFilter++pattern VK_FILTER_NEAREST = VkFilter 0++pattern VK_FILTER_LINEAR :: VkFilter++pattern VK_FILTER_LINEAR = VkFilter 1
@@ -0,0 +1,1726 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Format+ (VkFormat(VkFormat, VK_FORMAT_UNDEFINED,+ VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R4G4B4A4_UNORM_PACK16,+ VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16,+ VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_R5G5B5A1_UNORM_PACK16,+ VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16,+ VK_FORMAT_R8_UNORM, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_USCALED,+ VK_FORMAT_R8_SSCALED, VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT,+ VK_FORMAT_R8_SRGB, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8G8_SNORM,+ VK_FORMAT_R8G8_USCALED, VK_FORMAT_R8G8_SSCALED,+ VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SRGB,+ VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8B8_SNORM,+ VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8_SSCALED,+ VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_SINT,+ VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_B8G8R8_UNORM,+ VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_USCALED,+ VK_FORMAT_B8G8R8_SSCALED, VK_FORMAT_B8G8R8_UINT,+ VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SRGB,+ VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_SNORM,+ VK_FORMAT_R8G8B8A8_USCALED, VK_FORMAT_R8G8B8A8_SSCALED,+ VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_SINT,+ VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_B8G8R8A8_UNORM,+ VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_USCALED,+ VK_FORMAT_B8G8R8A8_SSCALED, VK_FORMAT_B8G8R8A8_UINT,+ VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SRGB,+ VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32,+ VK_FORMAT_A8B8G8R8_USCALED_PACK32,+ VK_FORMAT_A8B8G8R8_SSCALED_PACK32, VK_FORMAT_A8B8G8R8_UINT_PACK32,+ VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32,+ VK_FORMAT_A2R10G10B10_UNORM_PACK32,+ VK_FORMAT_A2R10G10B10_SNORM_PACK32,+ VK_FORMAT_A2R10G10B10_USCALED_PACK32,+ VK_FORMAT_A2R10G10B10_SSCALED_PACK32,+ VK_FORMAT_A2R10G10B10_UINT_PACK32,+ VK_FORMAT_A2R10G10B10_SINT_PACK32,+ VK_FORMAT_A2B10G10R10_UNORM_PACK32,+ VK_FORMAT_A2B10G10R10_SNORM_PACK32,+ VK_FORMAT_A2B10G10R10_USCALED_PACK32,+ VK_FORMAT_A2B10G10R10_SSCALED_PACK32,+ VK_FORMAT_A2B10G10R10_UINT_PACK32,+ VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_R16_UNORM,+ VK_FORMAT_R16_SNORM, VK_FORMAT_R16_USCALED, VK_FORMAT_R16_SSCALED,+ VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SFLOAT,+ VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_SNORM,+ VK_FORMAT_R16G16_USCALED, VK_FORMAT_R16G16_SSCALED,+ VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_SINT,+ VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16B16_UNORM,+ VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_USCALED,+ VK_FORMAT_R16G16B16_SSCALED, VK_FORMAT_R16G16B16_UINT,+ VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SFLOAT,+ VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16A16_SNORM,+ VK_FORMAT_R16G16B16A16_USCALED, VK_FORMAT_R16G16B16A16_SSCALED,+ VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_SINT,+ VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R32_UINT,+ VK_FORMAT_R32_SINT, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32G32_UINT,+ VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_SFLOAT,+ VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32_SINT,+ VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32A32_UINT,+ VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_SFLOAT,+ VK_FORMAT_R64_UINT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_SFLOAT,+ VK_FORMAT_R64G64_UINT, VK_FORMAT_R64G64_SINT,+ VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64B64_UINT,+ VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_SFLOAT,+ VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R64G64B64A64_SINT,+ VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_B10G11R11_UFLOAT_PACK32,+ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_D16_UNORM,+ VK_FORMAT_X8_D24_UNORM_PACK32, VK_FORMAT_D32_SFLOAT,+ VK_FORMAT_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT,+ VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT,+ VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC1_RGB_SRGB_BLOCK,+ VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK,+ VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK,+ VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK,+ VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK,+ VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK,+ VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK,+ VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK,+ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,+ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,+ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,+ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,+ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,+ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK,+ VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK,+ VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK,+ VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK,+ VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK,+ VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK,+ VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK,+ VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK,+ VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK,+ VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK,+ VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK,+ VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK,+ VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK,+ VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK,+ VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK,+ VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK,+ VK_FORMAT_ASTC_12x12_SRGB_BLOCK),+ VkFormatFeatureBitmask(VkFormatFeatureBitmask,+ VkFormatFeatureFlags, VkFormatFeatureFlagBits,+ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,+ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,+ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,+ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,+ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,+ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,+ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,+ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,+ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,+ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,+ VK_FORMAT_FEATURE_BLIT_SRC_BIT, VK_FORMAT_FEATURE_BLIT_DST_BIT,+ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT),+ VkFormatFeatureFlags, VkFormatFeatureFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | Vulkan format definitions+--+-- type = @enum@+--+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormat VkFormat registry at www.khronos.org>+newtype VkFormat = VkFormat Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkFormat where+ showsPrec _ VK_FORMAT_UNDEFINED = showString "VK_FORMAT_UNDEFINED"+ showsPrec _ VK_FORMAT_R4G4_UNORM_PACK8+ = showString "VK_FORMAT_R4G4_UNORM_PACK8"+ showsPrec _ VK_FORMAT_R4G4B4A4_UNORM_PACK16+ = showString "VK_FORMAT_R4G4B4A4_UNORM_PACK16"+ showsPrec _ VK_FORMAT_B4G4R4A4_UNORM_PACK16+ = showString "VK_FORMAT_B4G4R4A4_UNORM_PACK16"+ showsPrec _ VK_FORMAT_R5G6B5_UNORM_PACK16+ = showString "VK_FORMAT_R5G6B5_UNORM_PACK16"+ showsPrec _ VK_FORMAT_B5G6R5_UNORM_PACK16+ = showString "VK_FORMAT_B5G6R5_UNORM_PACK16"+ showsPrec _ VK_FORMAT_R5G5B5A1_UNORM_PACK16+ = showString "VK_FORMAT_R5G5B5A1_UNORM_PACK16"+ showsPrec _ VK_FORMAT_B5G5R5A1_UNORM_PACK16+ = showString "VK_FORMAT_B5G5R5A1_UNORM_PACK16"+ showsPrec _ VK_FORMAT_A1R5G5B5_UNORM_PACK16+ = showString "VK_FORMAT_A1R5G5B5_UNORM_PACK16"+ showsPrec _ VK_FORMAT_R8_UNORM = showString "VK_FORMAT_R8_UNORM"+ showsPrec _ VK_FORMAT_R8_SNORM = showString "VK_FORMAT_R8_SNORM"+ showsPrec _ VK_FORMAT_R8_USCALED+ = showString "VK_FORMAT_R8_USCALED"+ showsPrec _ VK_FORMAT_R8_SSCALED+ = showString "VK_FORMAT_R8_SSCALED"+ showsPrec _ VK_FORMAT_R8_UINT = showString "VK_FORMAT_R8_UINT"+ showsPrec _ VK_FORMAT_R8_SINT = showString "VK_FORMAT_R8_SINT"+ showsPrec _ VK_FORMAT_R8_SRGB = showString "VK_FORMAT_R8_SRGB"+ showsPrec _ VK_FORMAT_R8G8_UNORM+ = showString "VK_FORMAT_R8G8_UNORM"+ showsPrec _ VK_FORMAT_R8G8_SNORM+ = showString "VK_FORMAT_R8G8_SNORM"+ showsPrec _ VK_FORMAT_R8G8_USCALED+ = showString "VK_FORMAT_R8G8_USCALED"+ showsPrec _ VK_FORMAT_R8G8_SSCALED+ = showString "VK_FORMAT_R8G8_SSCALED"+ showsPrec _ VK_FORMAT_R8G8_UINT = showString "VK_FORMAT_R8G8_UINT"+ showsPrec _ VK_FORMAT_R8G8_SINT = showString "VK_FORMAT_R8G8_SINT"+ showsPrec _ VK_FORMAT_R8G8_SRGB = showString "VK_FORMAT_R8G8_SRGB"+ showsPrec _ VK_FORMAT_R8G8B8_UNORM+ = showString "VK_FORMAT_R8G8B8_UNORM"+ showsPrec _ VK_FORMAT_R8G8B8_SNORM+ = showString "VK_FORMAT_R8G8B8_SNORM"+ showsPrec _ VK_FORMAT_R8G8B8_USCALED+ = showString "VK_FORMAT_R8G8B8_USCALED"+ showsPrec _ VK_FORMAT_R8G8B8_SSCALED+ = showString "VK_FORMAT_R8G8B8_SSCALED"+ showsPrec _ VK_FORMAT_R8G8B8_UINT+ = showString "VK_FORMAT_R8G8B8_UINT"+ showsPrec _ VK_FORMAT_R8G8B8_SINT+ = showString "VK_FORMAT_R8G8B8_SINT"+ showsPrec _ VK_FORMAT_R8G8B8_SRGB+ = showString "VK_FORMAT_R8G8B8_SRGB"+ showsPrec _ VK_FORMAT_B8G8R8_UNORM+ = showString "VK_FORMAT_B8G8R8_UNORM"+ showsPrec _ VK_FORMAT_B8G8R8_SNORM+ = showString "VK_FORMAT_B8G8R8_SNORM"+ showsPrec _ VK_FORMAT_B8G8R8_USCALED+ = showString "VK_FORMAT_B8G8R8_USCALED"+ showsPrec _ VK_FORMAT_B8G8R8_SSCALED+ = showString "VK_FORMAT_B8G8R8_SSCALED"+ showsPrec _ VK_FORMAT_B8G8R8_UINT+ = showString "VK_FORMAT_B8G8R8_UINT"+ showsPrec _ VK_FORMAT_B8G8R8_SINT+ = showString "VK_FORMAT_B8G8R8_SINT"+ showsPrec _ VK_FORMAT_B8G8R8_SRGB+ = showString "VK_FORMAT_B8G8R8_SRGB"+ showsPrec _ VK_FORMAT_R8G8B8A8_UNORM+ = showString "VK_FORMAT_R8G8B8A8_UNORM"+ showsPrec _ VK_FORMAT_R8G8B8A8_SNORM+ = showString "VK_FORMAT_R8G8B8A8_SNORM"+ showsPrec _ VK_FORMAT_R8G8B8A8_USCALED+ = showString "VK_FORMAT_R8G8B8A8_USCALED"+ showsPrec _ VK_FORMAT_R8G8B8A8_SSCALED+ = showString "VK_FORMAT_R8G8B8A8_SSCALED"+ showsPrec _ VK_FORMAT_R8G8B8A8_UINT+ = showString "VK_FORMAT_R8G8B8A8_UINT"+ showsPrec _ VK_FORMAT_R8G8B8A8_SINT+ = showString "VK_FORMAT_R8G8B8A8_SINT"+ showsPrec _ VK_FORMAT_R8G8B8A8_SRGB+ = showString "VK_FORMAT_R8G8B8A8_SRGB"+ showsPrec _ VK_FORMAT_B8G8R8A8_UNORM+ = showString "VK_FORMAT_B8G8R8A8_UNORM"+ showsPrec _ VK_FORMAT_B8G8R8A8_SNORM+ = showString "VK_FORMAT_B8G8R8A8_SNORM"+ showsPrec _ VK_FORMAT_B8G8R8A8_USCALED+ = showString "VK_FORMAT_B8G8R8A8_USCALED"+ showsPrec _ VK_FORMAT_B8G8R8A8_SSCALED+ = showString "VK_FORMAT_B8G8R8A8_SSCALED"+ showsPrec _ VK_FORMAT_B8G8R8A8_UINT+ = showString "VK_FORMAT_B8G8R8A8_UINT"+ showsPrec _ VK_FORMAT_B8G8R8A8_SINT+ = showString "VK_FORMAT_B8G8R8A8_SINT"+ showsPrec _ VK_FORMAT_B8G8R8A8_SRGB+ = showString "VK_FORMAT_B8G8R8A8_SRGB"+ showsPrec _ VK_FORMAT_A8B8G8R8_UNORM_PACK32+ = showString "VK_FORMAT_A8B8G8R8_UNORM_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SNORM_PACK32+ = showString "VK_FORMAT_A8B8G8R8_SNORM_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_USCALED_PACK32+ = showString "VK_FORMAT_A8B8G8R8_USCALED_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SSCALED_PACK32+ = showString "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_UINT_PACK32+ = showString "VK_FORMAT_A8B8G8R8_UINT_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SINT_PACK32+ = showString "VK_FORMAT_A8B8G8R8_SINT_PACK32"+ showsPrec _ VK_FORMAT_A8B8G8R8_SRGB_PACK32+ = showString "VK_FORMAT_A8B8G8R8_SRGB_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_UNORM_PACK32+ = showString "VK_FORMAT_A2R10G10B10_UNORM_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_SNORM_PACK32+ = showString "VK_FORMAT_A2R10G10B10_SNORM_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_USCALED_PACK32+ = showString "VK_FORMAT_A2R10G10B10_USCALED_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_SSCALED_PACK32+ = showString "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_UINT_PACK32+ = showString "VK_FORMAT_A2R10G10B10_UINT_PACK32"+ showsPrec _ VK_FORMAT_A2R10G10B10_SINT_PACK32+ = showString "VK_FORMAT_A2R10G10B10_SINT_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_UNORM_PACK32+ = showString "VK_FORMAT_A2B10G10R10_UNORM_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_SNORM_PACK32+ = showString "VK_FORMAT_A2B10G10R10_SNORM_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_USCALED_PACK32+ = showString "VK_FORMAT_A2B10G10R10_USCALED_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_SSCALED_PACK32+ = showString "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_UINT_PACK32+ = showString "VK_FORMAT_A2B10G10R10_UINT_PACK32"+ showsPrec _ VK_FORMAT_A2B10G10R10_SINT_PACK32+ = showString "VK_FORMAT_A2B10G10R10_SINT_PACK32"+ showsPrec _ VK_FORMAT_R16_UNORM = showString "VK_FORMAT_R16_UNORM"+ showsPrec _ VK_FORMAT_R16_SNORM = showString "VK_FORMAT_R16_SNORM"+ showsPrec _ VK_FORMAT_R16_USCALED+ = showString "VK_FORMAT_R16_USCALED"+ showsPrec _ VK_FORMAT_R16_SSCALED+ = showString "VK_FORMAT_R16_SSCALED"+ showsPrec _ VK_FORMAT_R16_UINT = showString "VK_FORMAT_R16_UINT"+ showsPrec _ VK_FORMAT_R16_SINT = showString "VK_FORMAT_R16_SINT"+ showsPrec _ VK_FORMAT_R16_SFLOAT+ = showString "VK_FORMAT_R16_SFLOAT"+ showsPrec _ VK_FORMAT_R16G16_UNORM+ = showString "VK_FORMAT_R16G16_UNORM"+ showsPrec _ VK_FORMAT_R16G16_SNORM+ = showString "VK_FORMAT_R16G16_SNORM"+ showsPrec _ VK_FORMAT_R16G16_USCALED+ = showString "VK_FORMAT_R16G16_USCALED"+ showsPrec _ VK_FORMAT_R16G16_SSCALED+ = showString "VK_FORMAT_R16G16_SSCALED"+ showsPrec _ VK_FORMAT_R16G16_UINT+ = showString "VK_FORMAT_R16G16_UINT"+ showsPrec _ VK_FORMAT_R16G16_SINT+ = showString "VK_FORMAT_R16G16_SINT"+ showsPrec _ VK_FORMAT_R16G16_SFLOAT+ = showString "VK_FORMAT_R16G16_SFLOAT"+ showsPrec _ VK_FORMAT_R16G16B16_UNORM+ = showString "VK_FORMAT_R16G16B16_UNORM"+ showsPrec _ VK_FORMAT_R16G16B16_SNORM+ = showString "VK_FORMAT_R16G16B16_SNORM"+ showsPrec _ VK_FORMAT_R16G16B16_USCALED+ = showString "VK_FORMAT_R16G16B16_USCALED"+ showsPrec _ VK_FORMAT_R16G16B16_SSCALED+ = showString "VK_FORMAT_R16G16B16_SSCALED"+ showsPrec _ VK_FORMAT_R16G16B16_UINT+ = showString "VK_FORMAT_R16G16B16_UINT"+ showsPrec _ VK_FORMAT_R16G16B16_SINT+ = showString "VK_FORMAT_R16G16B16_SINT"+ showsPrec _ VK_FORMAT_R16G16B16_SFLOAT+ = showString "VK_FORMAT_R16G16B16_SFLOAT"+ showsPrec _ VK_FORMAT_R16G16B16A16_UNORM+ = showString "VK_FORMAT_R16G16B16A16_UNORM"+ showsPrec _ VK_FORMAT_R16G16B16A16_SNORM+ = showString "VK_FORMAT_R16G16B16A16_SNORM"+ showsPrec _ VK_FORMAT_R16G16B16A16_USCALED+ = showString "VK_FORMAT_R16G16B16A16_USCALED"+ showsPrec _ VK_FORMAT_R16G16B16A16_SSCALED+ = showString "VK_FORMAT_R16G16B16A16_SSCALED"+ showsPrec _ VK_FORMAT_R16G16B16A16_UINT+ = showString "VK_FORMAT_R16G16B16A16_UINT"+ showsPrec _ VK_FORMAT_R16G16B16A16_SINT+ = showString "VK_FORMAT_R16G16B16A16_SINT"+ showsPrec _ VK_FORMAT_R16G16B16A16_SFLOAT+ = showString "VK_FORMAT_R16G16B16A16_SFLOAT"+ showsPrec _ VK_FORMAT_R32_UINT = showString "VK_FORMAT_R32_UINT"+ showsPrec _ VK_FORMAT_R32_SINT = showString "VK_FORMAT_R32_SINT"+ showsPrec _ VK_FORMAT_R32_SFLOAT+ = showString "VK_FORMAT_R32_SFLOAT"+ showsPrec _ VK_FORMAT_R32G32_UINT+ = showString "VK_FORMAT_R32G32_UINT"+ showsPrec _ VK_FORMAT_R32G32_SINT+ = showString "VK_FORMAT_R32G32_SINT"+ showsPrec _ VK_FORMAT_R32G32_SFLOAT+ = showString "VK_FORMAT_R32G32_SFLOAT"+ showsPrec _ VK_FORMAT_R32G32B32_UINT+ = showString "VK_FORMAT_R32G32B32_UINT"+ showsPrec _ VK_FORMAT_R32G32B32_SINT+ = showString "VK_FORMAT_R32G32B32_SINT"+ showsPrec _ VK_FORMAT_R32G32B32_SFLOAT+ = showString "VK_FORMAT_R32G32B32_SFLOAT"+ showsPrec _ VK_FORMAT_R32G32B32A32_UINT+ = showString "VK_FORMAT_R32G32B32A32_UINT"+ showsPrec _ VK_FORMAT_R32G32B32A32_SINT+ = showString "VK_FORMAT_R32G32B32A32_SINT"+ showsPrec _ VK_FORMAT_R32G32B32A32_SFLOAT+ = showString "VK_FORMAT_R32G32B32A32_SFLOAT"+ showsPrec _ VK_FORMAT_R64_UINT = showString "VK_FORMAT_R64_UINT"+ showsPrec _ VK_FORMAT_R64_SINT = showString "VK_FORMAT_R64_SINT"+ showsPrec _ VK_FORMAT_R64_SFLOAT+ = showString "VK_FORMAT_R64_SFLOAT"+ showsPrec _ VK_FORMAT_R64G64_UINT+ = showString "VK_FORMAT_R64G64_UINT"+ showsPrec _ VK_FORMAT_R64G64_SINT+ = showString "VK_FORMAT_R64G64_SINT"+ showsPrec _ VK_FORMAT_R64G64_SFLOAT+ = showString "VK_FORMAT_R64G64_SFLOAT"+ showsPrec _ VK_FORMAT_R64G64B64_UINT+ = showString "VK_FORMAT_R64G64B64_UINT"+ showsPrec _ VK_FORMAT_R64G64B64_SINT+ = showString "VK_FORMAT_R64G64B64_SINT"+ showsPrec _ VK_FORMAT_R64G64B64_SFLOAT+ = showString "VK_FORMAT_R64G64B64_SFLOAT"+ showsPrec _ VK_FORMAT_R64G64B64A64_UINT+ = showString "VK_FORMAT_R64G64B64A64_UINT"+ showsPrec _ VK_FORMAT_R64G64B64A64_SINT+ = showString "VK_FORMAT_R64G64B64A64_SINT"+ showsPrec _ VK_FORMAT_R64G64B64A64_SFLOAT+ = showString "VK_FORMAT_R64G64B64A64_SFLOAT"+ showsPrec _ VK_FORMAT_B10G11R11_UFLOAT_PACK32+ = showString "VK_FORMAT_B10G11R11_UFLOAT_PACK32"+ showsPrec _ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32+ = showString "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"+ showsPrec _ VK_FORMAT_D16_UNORM = showString "VK_FORMAT_D16_UNORM"+ showsPrec _ VK_FORMAT_X8_D24_UNORM_PACK32+ = showString "VK_FORMAT_X8_D24_UNORM_PACK32"+ showsPrec _ VK_FORMAT_D32_SFLOAT+ = showString "VK_FORMAT_D32_SFLOAT"+ showsPrec _ VK_FORMAT_S8_UINT = showString "VK_FORMAT_S8_UINT"+ showsPrec _ VK_FORMAT_D16_UNORM_S8_UINT+ = showString "VK_FORMAT_D16_UNORM_S8_UINT"+ showsPrec _ VK_FORMAT_D24_UNORM_S8_UINT+ = showString "VK_FORMAT_D24_UNORM_S8_UINT"+ showsPrec _ VK_FORMAT_D32_SFLOAT_S8_UINT+ = showString "VK_FORMAT_D32_SFLOAT_S8_UINT"+ showsPrec _ VK_FORMAT_BC1_RGB_UNORM_BLOCK+ = showString "VK_FORMAT_BC1_RGB_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC1_RGB_SRGB_BLOCK+ = showString "VK_FORMAT_BC1_RGB_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC1_RGBA_UNORM_BLOCK+ = showString "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC1_RGBA_SRGB_BLOCK+ = showString "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC2_UNORM_BLOCK+ = showString "VK_FORMAT_BC2_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC2_SRGB_BLOCK+ = showString "VK_FORMAT_BC2_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC3_UNORM_BLOCK+ = showString "VK_FORMAT_BC3_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC3_SRGB_BLOCK+ = showString "VK_FORMAT_BC3_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_BC4_UNORM_BLOCK+ = showString "VK_FORMAT_BC4_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC4_SNORM_BLOCK+ = showString "VK_FORMAT_BC4_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC5_UNORM_BLOCK+ = showString "VK_FORMAT_BC5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC5_SNORM_BLOCK+ = showString "VK_FORMAT_BC5_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC6H_UFLOAT_BLOCK+ = showString "VK_FORMAT_BC6H_UFLOAT_BLOCK"+ showsPrec _ VK_FORMAT_BC6H_SFLOAT_BLOCK+ = showString "VK_FORMAT_BC6H_SFLOAT_BLOCK"+ showsPrec _ VK_FORMAT_BC7_UNORM_BLOCK+ = showString "VK_FORMAT_BC7_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_BC7_SRGB_BLOCK+ = showString "VK_FORMAT_BC7_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK+ = showString "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK+ = showString "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK+ = showString "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK+ = showString "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK+ = showString "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK+ = showString "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11_UNORM_BLOCK+ = showString "VK_FORMAT_EAC_R11_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11_SNORM_BLOCK+ = showString "VK_FORMAT_EAC_R11_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11G11_UNORM_BLOCK+ = showString "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_EAC_R11G11_SNORM_BLOCK+ = showString "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_4x4_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_4x4_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x4_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x4_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x5_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_5x5_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x5_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x5_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x6_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_6x6_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x5_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x5_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x6_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x6_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x8_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_8x8_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x5_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x5_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x6_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x6_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x8_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x8_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x10_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_10x10_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x10_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x10_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x12_UNORM_BLOCK+ = showString "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"+ showsPrec _ VK_FORMAT_ASTC_12x12_SRGB_BLOCK+ = showString "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"+ showsPrec p (VkFormat x)+ = showParen (p >= 11) (showString "VkFormat " . showsPrec 11 x)++instance Read VkFormat where+ readPrec+ = parens+ (choose+ [("VK_FORMAT_UNDEFINED", pure VK_FORMAT_UNDEFINED),+ ("VK_FORMAT_R4G4_UNORM_PACK8", pure VK_FORMAT_R4G4_UNORM_PACK8),+ ("VK_FORMAT_R4G4B4A4_UNORM_PACK16",+ pure VK_FORMAT_R4G4B4A4_UNORM_PACK16),+ ("VK_FORMAT_B4G4R4A4_UNORM_PACK16",+ pure VK_FORMAT_B4G4R4A4_UNORM_PACK16),+ ("VK_FORMAT_R5G6B5_UNORM_PACK16",+ pure VK_FORMAT_R5G6B5_UNORM_PACK16),+ ("VK_FORMAT_B5G6R5_UNORM_PACK16",+ pure VK_FORMAT_B5G6R5_UNORM_PACK16),+ ("VK_FORMAT_R5G5B5A1_UNORM_PACK16",+ pure VK_FORMAT_R5G5B5A1_UNORM_PACK16),+ ("VK_FORMAT_B5G5R5A1_UNORM_PACK16",+ pure VK_FORMAT_B5G5R5A1_UNORM_PACK16),+ ("VK_FORMAT_A1R5G5B5_UNORM_PACK16",+ pure VK_FORMAT_A1R5G5B5_UNORM_PACK16),+ ("VK_FORMAT_R8_UNORM", pure VK_FORMAT_R8_UNORM),+ ("VK_FORMAT_R8_SNORM", pure VK_FORMAT_R8_SNORM),+ ("VK_FORMAT_R8_USCALED", pure VK_FORMAT_R8_USCALED),+ ("VK_FORMAT_R8_SSCALED", pure VK_FORMAT_R8_SSCALED),+ ("VK_FORMAT_R8_UINT", pure VK_FORMAT_R8_UINT),+ ("VK_FORMAT_R8_SINT", pure VK_FORMAT_R8_SINT),+ ("VK_FORMAT_R8_SRGB", pure VK_FORMAT_R8_SRGB),+ ("VK_FORMAT_R8G8_UNORM", pure VK_FORMAT_R8G8_UNORM),+ ("VK_FORMAT_R8G8_SNORM", pure VK_FORMAT_R8G8_SNORM),+ ("VK_FORMAT_R8G8_USCALED", pure VK_FORMAT_R8G8_USCALED),+ ("VK_FORMAT_R8G8_SSCALED", pure VK_FORMAT_R8G8_SSCALED),+ ("VK_FORMAT_R8G8_UINT", pure VK_FORMAT_R8G8_UINT),+ ("VK_FORMAT_R8G8_SINT", pure VK_FORMAT_R8G8_SINT),+ ("VK_FORMAT_R8G8_SRGB", pure VK_FORMAT_R8G8_SRGB),+ ("VK_FORMAT_R8G8B8_UNORM", pure VK_FORMAT_R8G8B8_UNORM),+ ("VK_FORMAT_R8G8B8_SNORM", pure VK_FORMAT_R8G8B8_SNORM),+ ("VK_FORMAT_R8G8B8_USCALED", pure VK_FORMAT_R8G8B8_USCALED),+ ("VK_FORMAT_R8G8B8_SSCALED", pure VK_FORMAT_R8G8B8_SSCALED),+ ("VK_FORMAT_R8G8B8_UINT", pure VK_FORMAT_R8G8B8_UINT),+ ("VK_FORMAT_R8G8B8_SINT", pure VK_FORMAT_R8G8B8_SINT),+ ("VK_FORMAT_R8G8B8_SRGB", pure VK_FORMAT_R8G8B8_SRGB),+ ("VK_FORMAT_B8G8R8_UNORM", pure VK_FORMAT_B8G8R8_UNORM),+ ("VK_FORMAT_B8G8R8_SNORM", pure VK_FORMAT_B8G8R8_SNORM),+ ("VK_FORMAT_B8G8R8_USCALED", pure VK_FORMAT_B8G8R8_USCALED),+ ("VK_FORMAT_B8G8R8_SSCALED", pure VK_FORMAT_B8G8R8_SSCALED),+ ("VK_FORMAT_B8G8R8_UINT", pure VK_FORMAT_B8G8R8_UINT),+ ("VK_FORMAT_B8G8R8_SINT", pure VK_FORMAT_B8G8R8_SINT),+ ("VK_FORMAT_B8G8R8_SRGB", pure VK_FORMAT_B8G8R8_SRGB),+ ("VK_FORMAT_R8G8B8A8_UNORM", pure VK_FORMAT_R8G8B8A8_UNORM),+ ("VK_FORMAT_R8G8B8A8_SNORM", pure VK_FORMAT_R8G8B8A8_SNORM),+ ("VK_FORMAT_R8G8B8A8_USCALED", pure VK_FORMAT_R8G8B8A8_USCALED),+ ("VK_FORMAT_R8G8B8A8_SSCALED", pure VK_FORMAT_R8G8B8A8_SSCALED),+ ("VK_FORMAT_R8G8B8A8_UINT", pure VK_FORMAT_R8G8B8A8_UINT),+ ("VK_FORMAT_R8G8B8A8_SINT", pure VK_FORMAT_R8G8B8A8_SINT),+ ("VK_FORMAT_R8G8B8A8_SRGB", pure VK_FORMAT_R8G8B8A8_SRGB),+ ("VK_FORMAT_B8G8R8A8_UNORM", pure VK_FORMAT_B8G8R8A8_UNORM),+ ("VK_FORMAT_B8G8R8A8_SNORM", pure VK_FORMAT_B8G8R8A8_SNORM),+ ("VK_FORMAT_B8G8R8A8_USCALED", pure VK_FORMAT_B8G8R8A8_USCALED),+ ("VK_FORMAT_B8G8R8A8_SSCALED", pure VK_FORMAT_B8G8R8A8_SSCALED),+ ("VK_FORMAT_B8G8R8A8_UINT", pure VK_FORMAT_B8G8R8A8_UINT),+ ("VK_FORMAT_B8G8R8A8_SINT", pure VK_FORMAT_B8G8R8A8_SINT),+ ("VK_FORMAT_B8G8R8A8_SRGB", pure VK_FORMAT_B8G8R8A8_SRGB),+ ("VK_FORMAT_A8B8G8R8_UNORM_PACK32",+ pure VK_FORMAT_A8B8G8R8_UNORM_PACK32),+ ("VK_FORMAT_A8B8G8R8_SNORM_PACK32",+ pure VK_FORMAT_A8B8G8R8_SNORM_PACK32),+ ("VK_FORMAT_A8B8G8R8_USCALED_PACK32",+ pure VK_FORMAT_A8B8G8R8_USCALED_PACK32),+ ("VK_FORMAT_A8B8G8R8_SSCALED_PACK32",+ pure VK_FORMAT_A8B8G8R8_SSCALED_PACK32),+ ("VK_FORMAT_A8B8G8R8_UINT_PACK32",+ pure VK_FORMAT_A8B8G8R8_UINT_PACK32),+ ("VK_FORMAT_A8B8G8R8_SINT_PACK32",+ pure VK_FORMAT_A8B8G8R8_SINT_PACK32),+ ("VK_FORMAT_A8B8G8R8_SRGB_PACK32",+ pure VK_FORMAT_A8B8G8R8_SRGB_PACK32),+ ("VK_FORMAT_A2R10G10B10_UNORM_PACK32",+ pure VK_FORMAT_A2R10G10B10_UNORM_PACK32),+ ("VK_FORMAT_A2R10G10B10_SNORM_PACK32",+ pure VK_FORMAT_A2R10G10B10_SNORM_PACK32),+ ("VK_FORMAT_A2R10G10B10_USCALED_PACK32",+ pure VK_FORMAT_A2R10G10B10_USCALED_PACK32),+ ("VK_FORMAT_A2R10G10B10_SSCALED_PACK32",+ pure VK_FORMAT_A2R10G10B10_SSCALED_PACK32),+ ("VK_FORMAT_A2R10G10B10_UINT_PACK32",+ pure VK_FORMAT_A2R10G10B10_UINT_PACK32),+ ("VK_FORMAT_A2R10G10B10_SINT_PACK32",+ pure VK_FORMAT_A2R10G10B10_SINT_PACK32),+ ("VK_FORMAT_A2B10G10R10_UNORM_PACK32",+ pure VK_FORMAT_A2B10G10R10_UNORM_PACK32),+ ("VK_FORMAT_A2B10G10R10_SNORM_PACK32",+ pure VK_FORMAT_A2B10G10R10_SNORM_PACK32),+ ("VK_FORMAT_A2B10G10R10_USCALED_PACK32",+ pure VK_FORMAT_A2B10G10R10_USCALED_PACK32),+ ("VK_FORMAT_A2B10G10R10_SSCALED_PACK32",+ pure VK_FORMAT_A2B10G10R10_SSCALED_PACK32),+ ("VK_FORMAT_A2B10G10R10_UINT_PACK32",+ pure VK_FORMAT_A2B10G10R10_UINT_PACK32),+ ("VK_FORMAT_A2B10G10R10_SINT_PACK32",+ pure VK_FORMAT_A2B10G10R10_SINT_PACK32),+ ("VK_FORMAT_R16_UNORM", pure VK_FORMAT_R16_UNORM),+ ("VK_FORMAT_R16_SNORM", pure VK_FORMAT_R16_SNORM),+ ("VK_FORMAT_R16_USCALED", pure VK_FORMAT_R16_USCALED),+ ("VK_FORMAT_R16_SSCALED", pure VK_FORMAT_R16_SSCALED),+ ("VK_FORMAT_R16_UINT", pure VK_FORMAT_R16_UINT),+ ("VK_FORMAT_R16_SINT", pure VK_FORMAT_R16_SINT),+ ("VK_FORMAT_R16_SFLOAT", pure VK_FORMAT_R16_SFLOAT),+ ("VK_FORMAT_R16G16_UNORM", pure VK_FORMAT_R16G16_UNORM),+ ("VK_FORMAT_R16G16_SNORM", pure VK_FORMAT_R16G16_SNORM),+ ("VK_FORMAT_R16G16_USCALED", pure VK_FORMAT_R16G16_USCALED),+ ("VK_FORMAT_R16G16_SSCALED", pure VK_FORMAT_R16G16_SSCALED),+ ("VK_FORMAT_R16G16_UINT", pure VK_FORMAT_R16G16_UINT),+ ("VK_FORMAT_R16G16_SINT", pure VK_FORMAT_R16G16_SINT),+ ("VK_FORMAT_R16G16_SFLOAT", pure VK_FORMAT_R16G16_SFLOAT),+ ("VK_FORMAT_R16G16B16_UNORM", pure VK_FORMAT_R16G16B16_UNORM),+ ("VK_FORMAT_R16G16B16_SNORM", pure VK_FORMAT_R16G16B16_SNORM),+ ("VK_FORMAT_R16G16B16_USCALED", pure VK_FORMAT_R16G16B16_USCALED),+ ("VK_FORMAT_R16G16B16_SSCALED", pure VK_FORMAT_R16G16B16_SSCALED),+ ("VK_FORMAT_R16G16B16_UINT", pure VK_FORMAT_R16G16B16_UINT),+ ("VK_FORMAT_R16G16B16_SINT", pure VK_FORMAT_R16G16B16_SINT),+ ("VK_FORMAT_R16G16B16_SFLOAT", pure VK_FORMAT_R16G16B16_SFLOAT),+ ("VK_FORMAT_R16G16B16A16_UNORM",+ pure VK_FORMAT_R16G16B16A16_UNORM),+ ("VK_FORMAT_R16G16B16A16_SNORM",+ pure VK_FORMAT_R16G16B16A16_SNORM),+ ("VK_FORMAT_R16G16B16A16_USCALED",+ pure VK_FORMAT_R16G16B16A16_USCALED),+ ("VK_FORMAT_R16G16B16A16_SSCALED",+ pure VK_FORMAT_R16G16B16A16_SSCALED),+ ("VK_FORMAT_R16G16B16A16_UINT", pure VK_FORMAT_R16G16B16A16_UINT),+ ("VK_FORMAT_R16G16B16A16_SINT", pure VK_FORMAT_R16G16B16A16_SINT),+ ("VK_FORMAT_R16G16B16A16_SFLOAT",+ pure VK_FORMAT_R16G16B16A16_SFLOAT),+ ("VK_FORMAT_R32_UINT", pure VK_FORMAT_R32_UINT),+ ("VK_FORMAT_R32_SINT", pure VK_FORMAT_R32_SINT),+ ("VK_FORMAT_R32_SFLOAT", pure VK_FORMAT_R32_SFLOAT),+ ("VK_FORMAT_R32G32_UINT", pure VK_FORMAT_R32G32_UINT),+ ("VK_FORMAT_R32G32_SINT", pure VK_FORMAT_R32G32_SINT),+ ("VK_FORMAT_R32G32_SFLOAT", pure VK_FORMAT_R32G32_SFLOAT),+ ("VK_FORMAT_R32G32B32_UINT", pure VK_FORMAT_R32G32B32_UINT),+ ("VK_FORMAT_R32G32B32_SINT", pure VK_FORMAT_R32G32B32_SINT),+ ("VK_FORMAT_R32G32B32_SFLOAT", pure VK_FORMAT_R32G32B32_SFLOAT),+ ("VK_FORMAT_R32G32B32A32_UINT", pure VK_FORMAT_R32G32B32A32_UINT),+ ("VK_FORMAT_R32G32B32A32_SINT", pure VK_FORMAT_R32G32B32A32_SINT),+ ("VK_FORMAT_R32G32B32A32_SFLOAT",+ pure VK_FORMAT_R32G32B32A32_SFLOAT),+ ("VK_FORMAT_R64_UINT", pure VK_FORMAT_R64_UINT),+ ("VK_FORMAT_R64_SINT", pure VK_FORMAT_R64_SINT),+ ("VK_FORMAT_R64_SFLOAT", pure VK_FORMAT_R64_SFLOAT),+ ("VK_FORMAT_R64G64_UINT", pure VK_FORMAT_R64G64_UINT),+ ("VK_FORMAT_R64G64_SINT", pure VK_FORMAT_R64G64_SINT),+ ("VK_FORMAT_R64G64_SFLOAT", pure VK_FORMAT_R64G64_SFLOAT),+ ("VK_FORMAT_R64G64B64_UINT", pure VK_FORMAT_R64G64B64_UINT),+ ("VK_FORMAT_R64G64B64_SINT", pure VK_FORMAT_R64G64B64_SINT),+ ("VK_FORMAT_R64G64B64_SFLOAT", pure VK_FORMAT_R64G64B64_SFLOAT),+ ("VK_FORMAT_R64G64B64A64_UINT", pure VK_FORMAT_R64G64B64A64_UINT),+ ("VK_FORMAT_R64G64B64A64_SINT", pure VK_FORMAT_R64G64B64A64_SINT),+ ("VK_FORMAT_R64G64B64A64_SFLOAT",+ pure VK_FORMAT_R64G64B64A64_SFLOAT),+ ("VK_FORMAT_B10G11R11_UFLOAT_PACK32",+ pure VK_FORMAT_B10G11R11_UFLOAT_PACK32),+ ("VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",+ pure VK_FORMAT_E5B9G9R9_UFLOAT_PACK32),+ ("VK_FORMAT_D16_UNORM", pure VK_FORMAT_D16_UNORM),+ ("VK_FORMAT_X8_D24_UNORM_PACK32",+ pure VK_FORMAT_X8_D24_UNORM_PACK32),+ ("VK_FORMAT_D32_SFLOAT", pure VK_FORMAT_D32_SFLOAT),+ ("VK_FORMAT_S8_UINT", pure VK_FORMAT_S8_UINT),+ ("VK_FORMAT_D16_UNORM_S8_UINT", pure VK_FORMAT_D16_UNORM_S8_UINT),+ ("VK_FORMAT_D24_UNORM_S8_UINT", pure VK_FORMAT_D24_UNORM_S8_UINT),+ ("VK_FORMAT_D32_SFLOAT_S8_UINT",+ pure VK_FORMAT_D32_SFLOAT_S8_UINT),+ ("VK_FORMAT_BC1_RGB_UNORM_BLOCK",+ pure VK_FORMAT_BC1_RGB_UNORM_BLOCK),+ ("VK_FORMAT_BC1_RGB_SRGB_BLOCK",+ pure VK_FORMAT_BC1_RGB_SRGB_BLOCK),+ ("VK_FORMAT_BC1_RGBA_UNORM_BLOCK",+ pure VK_FORMAT_BC1_RGBA_UNORM_BLOCK),+ ("VK_FORMAT_BC1_RGBA_SRGB_BLOCK",+ pure VK_FORMAT_BC1_RGBA_SRGB_BLOCK),+ ("VK_FORMAT_BC2_UNORM_BLOCK", pure VK_FORMAT_BC2_UNORM_BLOCK),+ ("VK_FORMAT_BC2_SRGB_BLOCK", pure VK_FORMAT_BC2_SRGB_BLOCK),+ ("VK_FORMAT_BC3_UNORM_BLOCK", pure VK_FORMAT_BC3_UNORM_BLOCK),+ ("VK_FORMAT_BC3_SRGB_BLOCK", pure VK_FORMAT_BC3_SRGB_BLOCK),+ ("VK_FORMAT_BC4_UNORM_BLOCK", pure VK_FORMAT_BC4_UNORM_BLOCK),+ ("VK_FORMAT_BC4_SNORM_BLOCK", pure VK_FORMAT_BC4_SNORM_BLOCK),+ ("VK_FORMAT_BC5_UNORM_BLOCK", pure VK_FORMAT_BC5_UNORM_BLOCK),+ ("VK_FORMAT_BC5_SNORM_BLOCK", pure VK_FORMAT_BC5_SNORM_BLOCK),+ ("VK_FORMAT_BC6H_UFLOAT_BLOCK", pure VK_FORMAT_BC6H_UFLOAT_BLOCK),+ ("VK_FORMAT_BC6H_SFLOAT_BLOCK", pure VK_FORMAT_BC6H_SFLOAT_BLOCK),+ ("VK_FORMAT_BC7_UNORM_BLOCK", pure VK_FORMAT_BC7_UNORM_BLOCK),+ ("VK_FORMAT_BC7_SRGB_BLOCK", pure VK_FORMAT_BC7_SRGB_BLOCK),+ ("VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",+ pure VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK),+ ("VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",+ pure VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK),+ ("VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",+ pure VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK),+ ("VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",+ pure VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK),+ ("VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",+ pure VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK),+ ("VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",+ pure VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK),+ ("VK_FORMAT_EAC_R11_UNORM_BLOCK",+ pure VK_FORMAT_EAC_R11_UNORM_BLOCK),+ ("VK_FORMAT_EAC_R11_SNORM_BLOCK",+ pure VK_FORMAT_EAC_R11_SNORM_BLOCK),+ ("VK_FORMAT_EAC_R11G11_UNORM_BLOCK",+ pure VK_FORMAT_EAC_R11G11_UNORM_BLOCK),+ ("VK_FORMAT_EAC_R11G11_SNORM_BLOCK",+ pure VK_FORMAT_EAC_R11G11_SNORM_BLOCK),+ ("VK_FORMAT_ASTC_4x4_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_4x4_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_4x4_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_4x4_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_5x4_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_5x4_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_5x4_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_5x4_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_5x5_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_5x5_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_5x5_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_5x5_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_6x5_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_6x5_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_6x5_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_6x5_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_6x6_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_6x6_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_6x6_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_6x6_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_8x5_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_8x5_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_8x5_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_8x5_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_8x6_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_8x6_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_8x6_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_8x6_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_8x8_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_8x8_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_8x8_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_8x8_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_10x5_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_10x5_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_10x5_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_10x5_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_10x6_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_10x6_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_10x6_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_10x6_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_10x8_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_10x8_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_10x8_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_10x8_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_10x10_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_10x10_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_10x10_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_10x10_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_12x10_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_12x10_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_12x10_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_12x10_SRGB_BLOCK),+ ("VK_FORMAT_ASTC_12x12_UNORM_BLOCK",+ pure VK_FORMAT_ASTC_12x12_UNORM_BLOCK),+ ("VK_FORMAT_ASTC_12x12_SRGB_BLOCK",+ pure VK_FORMAT_ASTC_12x12_SRGB_BLOCK)]+ ++++ prec 10+ (expectP (Ident "VkFormat") >> (VkFormat <$> step readPrec)))++pattern VK_FORMAT_UNDEFINED :: VkFormat++pattern VK_FORMAT_UNDEFINED = VkFormat 0++pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat++pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1++pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat 2++pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat 3++pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat 4++pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat 5++pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat 6++pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat 7++pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat++pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat 8++pattern VK_FORMAT_R8_UNORM :: VkFormat++pattern VK_FORMAT_R8_UNORM = VkFormat 9++pattern VK_FORMAT_R8_SNORM :: VkFormat++pattern VK_FORMAT_R8_SNORM = VkFormat 10++pattern VK_FORMAT_R8_USCALED :: VkFormat++pattern VK_FORMAT_R8_USCALED = VkFormat 11++pattern VK_FORMAT_R8_SSCALED :: VkFormat++pattern VK_FORMAT_R8_SSCALED = VkFormat 12++pattern VK_FORMAT_R8_UINT :: VkFormat++pattern VK_FORMAT_R8_UINT = VkFormat 13++pattern VK_FORMAT_R8_SINT :: VkFormat++pattern VK_FORMAT_R8_SINT = VkFormat 14++pattern VK_FORMAT_R8_SRGB :: VkFormat++pattern VK_FORMAT_R8_SRGB = VkFormat 15++pattern VK_FORMAT_R8G8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8_UNORM = VkFormat 16++pattern VK_FORMAT_R8G8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8_SNORM = VkFormat 17++pattern VK_FORMAT_R8G8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8_USCALED = VkFormat 18++pattern VK_FORMAT_R8G8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8_SSCALED = VkFormat 19++pattern VK_FORMAT_R8G8_UINT :: VkFormat++pattern VK_FORMAT_R8G8_UINT = VkFormat 20++pattern VK_FORMAT_R8G8_SINT :: VkFormat++pattern VK_FORMAT_R8G8_SINT = VkFormat 21++pattern VK_FORMAT_R8G8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8_SRGB = VkFormat 22++pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8B8_UNORM = VkFormat 23++pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8B8_SNORM = VkFormat 24++pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8B8_USCALED = VkFormat 25++pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8B8_SSCALED = VkFormat 26++pattern VK_FORMAT_R8G8B8_UINT :: VkFormat++pattern VK_FORMAT_R8G8B8_UINT = VkFormat 27++pattern VK_FORMAT_R8G8B8_SINT :: VkFormat++pattern VK_FORMAT_R8G8B8_SINT = VkFormat 28++pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8B8_SRGB = VkFormat 29++pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8_UNORM = VkFormat 30++pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat++pattern VK_FORMAT_B8G8R8_SNORM = VkFormat 31++pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat++pattern VK_FORMAT_B8G8R8_USCALED = VkFormat 32++pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat++pattern VK_FORMAT_B8G8R8_SSCALED = VkFormat 33++pattern VK_FORMAT_B8G8R8_UINT :: VkFormat++pattern VK_FORMAT_B8G8R8_UINT = VkFormat 34++pattern VK_FORMAT_B8G8R8_SINT :: VkFormat++pattern VK_FORMAT_B8G8R8_SINT = VkFormat 35++pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat++pattern VK_FORMAT_B8G8R8_SRGB = VkFormat 36++pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat++pattern VK_FORMAT_R8G8B8A8_UNORM = VkFormat 37++pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SNORM = VkFormat 38++pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat++pattern VK_FORMAT_R8G8B8A8_USCALED = VkFormat 39++pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SSCALED = VkFormat 40++pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat++pattern VK_FORMAT_R8G8B8A8_UINT = VkFormat 41++pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SINT = VkFormat 42++pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat++pattern VK_FORMAT_R8G8B8A8_SRGB = VkFormat 43++pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat++pattern VK_FORMAT_B8G8R8A8_UNORM = VkFormat 44++pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SNORM = VkFormat 45++pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat++pattern VK_FORMAT_B8G8R8A8_USCALED = VkFormat 46++pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SSCALED = VkFormat 47++pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat++pattern VK_FORMAT_B8G8R8A8_UINT = VkFormat 48++pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SINT = VkFormat 49++pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat++pattern VK_FORMAT_B8G8R8A8_SRGB = VkFormat 50++pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat 51++pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat 52++pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat 53++pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat 54++pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat 55++pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat 56++pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat++pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat 57++pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat 58++pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat 59++pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat 60++pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat 61++pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat 62++pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat 63++pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat 64++pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat 65++pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat 66++pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat 67++pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat 68++pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat++pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat 69++pattern VK_FORMAT_R16_UNORM :: VkFormat++pattern VK_FORMAT_R16_UNORM = VkFormat 70++pattern VK_FORMAT_R16_SNORM :: VkFormat++pattern VK_FORMAT_R16_SNORM = VkFormat 71++pattern VK_FORMAT_R16_USCALED :: VkFormat++pattern VK_FORMAT_R16_USCALED = VkFormat 72++pattern VK_FORMAT_R16_SSCALED :: VkFormat++pattern VK_FORMAT_R16_SSCALED = VkFormat 73++pattern VK_FORMAT_R16_UINT :: VkFormat++pattern VK_FORMAT_R16_UINT = VkFormat 74++pattern VK_FORMAT_R16_SINT :: VkFormat++pattern VK_FORMAT_R16_SINT = VkFormat 75++pattern VK_FORMAT_R16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16_SFLOAT = VkFormat 76++pattern VK_FORMAT_R16G16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16_UNORM = VkFormat 77++pattern VK_FORMAT_R16G16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16_SNORM = VkFormat 78++pattern VK_FORMAT_R16G16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16_USCALED = VkFormat 79++pattern VK_FORMAT_R16G16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16_SSCALED = VkFormat 80++pattern VK_FORMAT_R16G16_UINT :: VkFormat++pattern VK_FORMAT_R16G16_UINT = VkFormat 81++pattern VK_FORMAT_R16G16_SINT :: VkFormat++pattern VK_FORMAT_R16G16_SINT = VkFormat 82++pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16_SFLOAT = VkFormat 83++pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16B16_UNORM = VkFormat 84++pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16B16_SNORM = VkFormat 85++pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16B16_USCALED = VkFormat 86++pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16B16_SSCALED = VkFormat 87++pattern VK_FORMAT_R16G16B16_UINT :: VkFormat++pattern VK_FORMAT_R16G16B16_UINT = VkFormat 88++pattern VK_FORMAT_R16G16B16_SINT :: VkFormat++pattern VK_FORMAT_R16G16B16_SINT = VkFormat 89++pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16B16_SFLOAT = VkFormat 90++pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat++pattern VK_FORMAT_R16G16B16A16_UNORM = VkFormat 91++pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SNORM = VkFormat 92++pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat++pattern VK_FORMAT_R16G16B16A16_USCALED = VkFormat 93++pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SSCALED = VkFormat 94++pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_UINT = VkFormat 95++pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SINT = VkFormat 96++pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat++pattern VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat 97++pattern VK_FORMAT_R32_UINT :: VkFormat++pattern VK_FORMAT_R32_UINT = VkFormat 98++pattern VK_FORMAT_R32_SINT :: VkFormat++pattern VK_FORMAT_R32_SINT = VkFormat 99++pattern VK_FORMAT_R32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32_SFLOAT = VkFormat 100++pattern VK_FORMAT_R32G32_UINT :: VkFormat++pattern VK_FORMAT_R32G32_UINT = VkFormat 101++pattern VK_FORMAT_R32G32_SINT :: VkFormat++pattern VK_FORMAT_R32G32_SINT = VkFormat 102++pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32_SFLOAT = VkFormat 103++pattern VK_FORMAT_R32G32B32_UINT :: VkFormat++pattern VK_FORMAT_R32G32B32_UINT = VkFormat 104++pattern VK_FORMAT_R32G32B32_SINT :: VkFormat++pattern VK_FORMAT_R32G32B32_SINT = VkFormat 105++pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32B32_SFLOAT = VkFormat 106++pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_UINT = VkFormat 107++pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_SINT = VkFormat 108++pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat++pattern VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat 109++pattern VK_FORMAT_R64_UINT :: VkFormat++pattern VK_FORMAT_R64_UINT = VkFormat 110++pattern VK_FORMAT_R64_SINT :: VkFormat++pattern VK_FORMAT_R64_SINT = VkFormat 111++pattern VK_FORMAT_R64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64_SFLOAT = VkFormat 112++pattern VK_FORMAT_R64G64_UINT :: VkFormat++pattern VK_FORMAT_R64G64_UINT = VkFormat 113++pattern VK_FORMAT_R64G64_SINT :: VkFormat++pattern VK_FORMAT_R64G64_SINT = VkFormat 114++pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64_SFLOAT = VkFormat 115++pattern VK_FORMAT_R64G64B64_UINT :: VkFormat++pattern VK_FORMAT_R64G64B64_UINT = VkFormat 116++pattern VK_FORMAT_R64G64B64_SINT :: VkFormat++pattern VK_FORMAT_R64G64B64_SINT = VkFormat 117++pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64B64_SFLOAT = VkFormat 118++pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_UINT = VkFormat 119++pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_SINT = VkFormat 120++pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat++pattern VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat 121++pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat++pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat 122++pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat++pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat 123++pattern VK_FORMAT_D16_UNORM :: VkFormat++pattern VK_FORMAT_D16_UNORM = VkFormat 124++pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat++pattern VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat 125++pattern VK_FORMAT_D32_SFLOAT :: VkFormat++pattern VK_FORMAT_D32_SFLOAT = VkFormat 126++pattern VK_FORMAT_S8_UINT :: VkFormat++pattern VK_FORMAT_S8_UINT = VkFormat 127++pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat++pattern VK_FORMAT_D16_UNORM_S8_UINT = VkFormat 128++pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat++pattern VK_FORMAT_D24_UNORM_S8_UINT = VkFormat 129++pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat++pattern VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat 130++pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat 131++pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat 132++pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat 133++pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat 134++pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC2_UNORM_BLOCK = VkFormat 135++pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC2_SRGB_BLOCK = VkFormat 136++pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC3_UNORM_BLOCK = VkFormat 137++pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC3_SRGB_BLOCK = VkFormat 138++pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC4_UNORM_BLOCK = VkFormat 139++pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC4_SNORM_BLOCK = VkFormat 140++pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC5_UNORM_BLOCK = VkFormat 141++pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC5_SNORM_BLOCK = VkFormat 142++pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat++pattern VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat 143++pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat++pattern VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat 144++pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_BC7_UNORM_BLOCK = VkFormat 145++pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_BC7_SRGB_BLOCK = VkFormat 146++pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat 147++pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat 148++pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat 149++pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat 150++pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat 151++pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat 152++pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat 153++pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat 154++pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat 155++pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat++pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat 156++pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat 157++pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat 158++pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat 159++pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat 160++pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat 161++pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat 162++pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat 163++pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat 164++pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat 165++pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat 166++pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat 167++pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat 168++pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat 169++pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat 170++pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat 171++pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat 172++pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat 173++pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat 174++pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat 175++pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat 176++pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat 177++pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat 178++pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat 179++pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat 180++pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat 181++pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat 182++pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat 183++pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat++pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat 184++newtype VkFormatFeatureBitmask (a ::+ FlagType) = VkFormatFeatureBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask++type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit++pattern VkFormatFeatureFlagBits ::+ VkFlags -> VkFormatFeatureBitmask FlagBit++pattern VkFormatFeatureFlagBits n = VkFormatFeatureBitmask n++pattern VkFormatFeatureFlags ::+ VkFlags -> VkFormatFeatureBitmask FlagMask++pattern VkFormatFeatureFlags n = VkFormatFeatureBitmask n++deriving instance Bits (VkFormatFeatureBitmask FlagMask)++deriving instance FiniteBits (VkFormatFeatureBitmask FlagMask)++deriving instance Integral (VkFormatFeatureBitmask FlagMask)++deriving instance Num (VkFormatFeatureBitmask FlagMask)++deriving instance Bounded (VkFormatFeatureBitmask FlagMask)++deriving instance Enum (VkFormatFeatureBitmask FlagMask)++deriving instance Real (VkFormatFeatureBitmask FlagMask)++instance Show (VkFormatFeatureBitmask a) where+ showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT+ = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT+ = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT+ = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"+ showsPrec _ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT+ = showString "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT+ = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"+ showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT+ = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"+ showsPrec _ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT+ = showString "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"+ showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT+ = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"+ showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT+ = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"+ showsPrec _ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT+ = showString "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"+ showsPrec _ VK_FORMAT_FEATURE_BLIT_SRC_BIT+ = showString "VK_FORMAT_FEATURE_BLIT_SRC_BIT"+ showsPrec _ VK_FORMAT_FEATURE_BLIT_DST_BIT+ = showString "VK_FORMAT_FEATURE_BLIT_DST_BIT"+ showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT+ = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"+ showsPrec p (VkFormatFeatureBitmask x)+ = showParen (p >= 11)+ (showString "VkFormatFeatureBitmask " . showsPrec 11 x)++instance Read (VkFormatFeatureBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",+ pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT),+ ("VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",+ pure VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT),+ ("VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",+ pure VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT),+ ("VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",+ pure VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT),+ ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",+ pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT),+ ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",+ pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT),+ ("VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",+ pure VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT),+ ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",+ pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT),+ ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT",+ pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT),+ ("VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",+ pure VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT),+ ("VK_FORMAT_FEATURE_BLIT_SRC_BIT",+ pure VK_FORMAT_FEATURE_BLIT_SRC_BIT),+ ("VK_FORMAT_FEATURE_BLIT_DST_BIT",+ pure VK_FORMAT_FEATURE_BLIT_DST_BIT),+ ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",+ pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)]+ ++++ prec 10+ (expectP (Ident "VkFormatFeatureBitmask") >>+ (VkFormatFeatureBitmask <$> step readPrec)))++-- | Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)+--+-- bitpos = @0@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT =+ VkFormatFeatureBitmask 1++-- | Format can be used for storage images (STORAGE_IMAGE descriptor type)+--+-- bitpos = @1@+pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT =+ VkFormatFeatureBitmask 2++-- | Format supports atomic operations in case it is used for storage images+--+-- bitpos = @2@+pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT =+ VkFormatFeatureBitmask 4++-- | Format can be used for uniform texel buffers (TBOs)+--+-- bitpos = @3@+pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT =+ VkFormatFeatureBitmask 8++-- | Format can be used for storage texel buffers (IBOs)+--+-- bitpos = @4@+pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT =+ VkFormatFeatureBitmask 16++-- | Format supports atomic operations in case it is used for storage texel buffers+--+-- bitpos = @5@+pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT =+ VkFormatFeatureBitmask 32++-- | Format can be used for vertex buffers (VBOs)+--+-- bitpos = @6@+pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT =+ VkFormatFeatureBitmask 64++-- | Format can be used for color attachment images+--+-- bitpos = @7@+pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT =+ VkFormatFeatureBitmask 128++-- | Format supports blending in case it is used for color attachment images+--+-- bitpos = @8@+pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT =+ VkFormatFeatureBitmask 256++-- | Format can be used for depth/stencil attachment images+--+-- bitpos = @9@+pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT =+ VkFormatFeatureBitmask 512++-- | Format can be used as the source image of blits with vkCmdBlitImage+--+-- bitpos = @10@+pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT =+ VkFormatFeatureBitmask 1024++-- | Format can be used as the destination image of blits with vkCmdBlitImage+--+-- bitpos = @11@+pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_BLIT_DST_BIT =+ VkFormatFeatureBitmask 2048++-- | Format can be filtered with VK_FILTER_LINEAR when being sampled+--+-- bitpos = @12@+pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT ::+ VkFormatFeatureBitmask a++pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT =+ VkFormatFeatureBitmask 4096
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.FramebufferCreateFlagBits+ (VkFramebufferCreateFlagBits(..)) where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkFramebufferCreateFlagBits = VkFramebufferCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkFramebufferCreateFlagBits where+ {-# INLINE show #-}+ show (VkFramebufferCreateFlagBits x) = show x++instance Read VkFramebufferCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,52 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.FrontFace+ (VkFrontFace(VkFrontFace, VK_FRONT_FACE_COUNTER_CLOCKWISE,+ VK_FRONT_FACE_CLOCKWISE))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFrontFace VkFrontFace registry at www.khronos.org>+newtype VkFrontFace = VkFrontFace Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkFrontFace where+ showsPrec _ VK_FRONT_FACE_COUNTER_CLOCKWISE+ = showString "VK_FRONT_FACE_COUNTER_CLOCKWISE"+ showsPrec _ VK_FRONT_FACE_CLOCKWISE+ = showString "VK_FRONT_FACE_CLOCKWISE"+ showsPrec p (VkFrontFace x)+ = showParen (p >= 11) (showString "VkFrontFace " . showsPrec 11 x)++instance Read VkFrontFace where+ readPrec+ = parens+ (choose+ [("VK_FRONT_FACE_COUNTER_CLOCKWISE",+ pure VK_FRONT_FACE_COUNTER_CLOCKWISE),+ ("VK_FRONT_FACE_CLOCKWISE", pure VK_FRONT_FACE_CLOCKWISE)]+ ++++ prec 10+ (expectP (Ident "VkFrontFace") >> (VkFrontFace <$> step readPrec)))++pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace++pattern VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace 0++pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace++pattern VK_FRONT_FACE_CLOCKWISE = VkFrontFace 1
@@ -0,0 +1,630 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Image+ (VkImageAspectBitmask(VkImageAspectBitmask, VkImageAspectFlags,+ VkImageAspectFlagBits, VK_IMAGE_ASPECT_COLOR_BIT,+ VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_ASPECT_STENCIL_BIT,+ VK_IMAGE_ASPECT_METADATA_BIT),+ VkImageAspectFlags, VkImageAspectFlagBits,+ VkImageCreateBitmask(VkImageCreateBitmask, VkImageCreateFlags,+ VkImageCreateFlagBits, VK_IMAGE_CREATE_SPARSE_BINDING_BIT,+ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,+ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,+ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,+ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT),+ VkImageCreateFlags, VkImageCreateFlagBits,+ VkImageLayout(VkImageLayout, VK_IMAGE_LAYOUT_UNDEFINED,+ VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,+ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,+ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,+ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,+ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,+ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,+ VK_IMAGE_LAYOUT_PREINITIALIZED),+ VkImageTiling(VkImageTiling, VK_IMAGE_TILING_OPTIMAL,+ VK_IMAGE_TILING_LINEAR),+ VkImageType(VkImageType, VK_IMAGE_TYPE_1D, VK_IMAGE_TYPE_2D,+ VK_IMAGE_TYPE_3D),+ VkImageUsageBitmask(VkImageUsageBitmask, VkImageUsageFlags,+ VkImageUsageFlagBits, VK_IMAGE_USAGE_TRANSFER_SRC_BIT,+ VK_IMAGE_USAGE_TRANSFER_DST_BIT, VK_IMAGE_USAGE_SAMPLED_BIT,+ VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,+ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,+ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,+ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT),+ VkImageUsageFlags, VkImageUsageFlagBits,+ VkImageViewType(VkImageViewType, VK_IMAGE_VIEW_TYPE_1D,+ VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_VIEW_TYPE_3D,+ VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY,+ VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_VIEW_TYPE_CUBE_ARRAY))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkImageAspectBitmask (a ::+ FlagType) = VkImageAspectBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkImageAspectFlags = VkImageAspectBitmask FlagMask++type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit++pattern VkImageAspectFlagBits ::+ VkFlags -> VkImageAspectBitmask FlagBit++pattern VkImageAspectFlagBits n = VkImageAspectBitmask n++pattern VkImageAspectFlags ::+ VkFlags -> VkImageAspectBitmask FlagMask++pattern VkImageAspectFlags n = VkImageAspectBitmask n++deriving instance Bits (VkImageAspectBitmask FlagMask)++deriving instance FiniteBits (VkImageAspectBitmask FlagMask)++deriving instance Integral (VkImageAspectBitmask FlagMask)++deriving instance Num (VkImageAspectBitmask FlagMask)++deriving instance Bounded (VkImageAspectBitmask FlagMask)++deriving instance Enum (VkImageAspectBitmask FlagMask)++deriving instance Real (VkImageAspectBitmask FlagMask)++instance Show (VkImageAspectBitmask a) where+ showsPrec _ VK_IMAGE_ASPECT_COLOR_BIT+ = showString "VK_IMAGE_ASPECT_COLOR_BIT"+ showsPrec _ VK_IMAGE_ASPECT_DEPTH_BIT+ = showString "VK_IMAGE_ASPECT_DEPTH_BIT"+ showsPrec _ VK_IMAGE_ASPECT_STENCIL_BIT+ = showString "VK_IMAGE_ASPECT_STENCIL_BIT"+ showsPrec _ VK_IMAGE_ASPECT_METADATA_BIT+ = showString "VK_IMAGE_ASPECT_METADATA_BIT"+ showsPrec p (VkImageAspectBitmask x)+ = showParen (p >= 11)+ (showString "VkImageAspectBitmask " . showsPrec 11 x)++instance Read (VkImageAspectBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_ASPECT_COLOR_BIT", pure VK_IMAGE_ASPECT_COLOR_BIT),+ ("VK_IMAGE_ASPECT_DEPTH_BIT", pure VK_IMAGE_ASPECT_DEPTH_BIT),+ ("VK_IMAGE_ASPECT_STENCIL_BIT", pure VK_IMAGE_ASPECT_STENCIL_BIT),+ ("VK_IMAGE_ASPECT_METADATA_BIT",+ pure VK_IMAGE_ASPECT_METADATA_BIT)]+ ++++ prec 10+ (expectP (Ident "VkImageAspectBitmask") >>+ (VkImageAspectBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectBitmask 1++-- | bitpos = @1@+pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_DEPTH_BIT = VkImageAspectBitmask 2++-- | bitpos = @2@+pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_STENCIL_BIT = VkImageAspectBitmask 4++-- | bitpos = @3@+pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a++pattern VK_IMAGE_ASPECT_METADATA_BIT = VkImageAspectBitmask 8++newtype VkImageCreateBitmask (a ::+ FlagType) = VkImageCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkImageCreateFlags = VkImageCreateBitmask FlagMask++type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit++pattern VkImageCreateFlagBits ::+ VkFlags -> VkImageCreateBitmask FlagBit++pattern VkImageCreateFlagBits n = VkImageCreateBitmask n++pattern VkImageCreateFlags ::+ VkFlags -> VkImageCreateBitmask FlagMask++pattern VkImageCreateFlags n = VkImageCreateBitmask n++deriving instance Bits (VkImageCreateBitmask FlagMask)++deriving instance FiniteBits (VkImageCreateBitmask FlagMask)++deriving instance Integral (VkImageCreateBitmask FlagMask)++deriving instance Num (VkImageCreateBitmask FlagMask)++deriving instance Bounded (VkImageCreateBitmask FlagMask)++deriving instance Enum (VkImageCreateBitmask FlagMask)++deriving instance Real (VkImageCreateBitmask FlagMask)++instance Show (VkImageCreateBitmask a) where+ showsPrec _ VK_IMAGE_CREATE_SPARSE_BINDING_BIT+ = showString "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"+ showsPrec _ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT+ = showString "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"+ showsPrec _ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT+ = showString "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"+ showsPrec _ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT+ = showString "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"+ showsPrec _ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT+ = showString "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"+ showsPrec p (VkImageCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkImageCreateBitmask " . showsPrec 11 x)++instance Read (VkImageCreateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_CREATE_SPARSE_BINDING_BIT",+ pure VK_IMAGE_CREATE_SPARSE_BINDING_BIT),+ ("VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",+ pure VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT),+ ("VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",+ pure VK_IMAGE_CREATE_SPARSE_ALIASED_BIT),+ ("VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",+ pure VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT),+ ("VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",+ pure VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkImageCreateBitmask") >>+ (VkImageCreateBitmask <$> step readPrec)))++-- | Image should support sparse backing+--+-- bitpos = @0@+pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT ::+ VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateBitmask 1++-- | Image should support sparse backing with partial residency+--+-- bitpos = @1@+pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT ::+ VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT =+ VkImageCreateBitmask 2++-- | Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images+--+-- bitpos = @2@+pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT ::+ VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = VkImageCreateBitmask 4++-- | Allows image views to have different format than the base image+--+-- bitpos = @3@+pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT ::+ VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VkImageCreateBitmask 8++-- | Allows creating image views with cube type from the created image+--+-- bitpos = @4@+pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT ::+ VkImageCreateBitmask a++pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT =+ VkImageCreateBitmask 16++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageLayout VkImageLayout registry at www.khronos.org>+newtype VkImageLayout = VkImageLayout Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageLayout where+ showsPrec _ VK_IMAGE_LAYOUT_UNDEFINED+ = showString "VK_IMAGE_LAYOUT_UNDEFINED"+ showsPrec _ VK_IMAGE_LAYOUT_GENERAL+ = showString "VK_IMAGE_LAYOUT_GENERAL"+ showsPrec _ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL+ = showString "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL+ = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL+ = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL+ = showString "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL+ = showString "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL+ = showString "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"+ showsPrec _ VK_IMAGE_LAYOUT_PREINITIALIZED+ = showString "VK_IMAGE_LAYOUT_PREINITIALIZED"+ showsPrec p (VkImageLayout x)+ = showParen (p >= 11)+ (showString "VkImageLayout " . showsPrec 11 x)++instance Read VkImageLayout where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_LAYOUT_UNDEFINED", pure VK_IMAGE_LAYOUT_UNDEFINED),+ ("VK_IMAGE_LAYOUT_GENERAL", pure VK_IMAGE_LAYOUT_GENERAL),+ ("VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",+ pure VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL),+ ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL",+ pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL),+ ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",+ pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL),+ ("VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",+ pure VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),+ ("VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",+ pure VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL),+ ("VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",+ pure VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL),+ ("VK_IMAGE_LAYOUT_PREINITIALIZED",+ pure VK_IMAGE_LAYOUT_PREINITIALIZED)]+ ++++ prec 10+ (expectP (Ident "VkImageLayout") >>+ (VkImageLayout <$> step readPrec)))++-- | Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation)+pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout++pattern VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout 0++-- | General layout when image can be used for any kind of access+pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_GENERAL = VkImageLayout 1++-- | Optimal layout when image is only used for color attachment read/write+pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = VkImageLayout 2++-- | Optimal layout when image is only used for depth/stencil attachment read/write+pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL ::+ VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL =+ VkImageLayout 3++-- | Optimal layout when image is used for read only depth/stencil attachment and shader access+pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL ::+ VkImageLayout++pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL =+ VkImageLayout 4++-- | Optimal layout when image is used for read only shader access+pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = VkImageLayout 5++-- | Optimal layout when image is used only as source of transfer operations+pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = VkImageLayout 6++-- | Optimal layout when image is used only as destination of transfer operations+pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout++pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = VkImageLayout 7++-- | Initial layout used when the data is populated by the CPU+pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout++pattern VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout 8++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageTiling VkImageTiling registry at www.khronos.org>+newtype VkImageTiling = VkImageTiling Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageTiling where+ showsPrec _ VK_IMAGE_TILING_OPTIMAL+ = showString "VK_IMAGE_TILING_OPTIMAL"+ showsPrec _ VK_IMAGE_TILING_LINEAR+ = showString "VK_IMAGE_TILING_LINEAR"+ showsPrec p (VkImageTiling x)+ = showParen (p >= 11)+ (showString "VkImageTiling " . showsPrec 11 x)++instance Read VkImageTiling where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_TILING_OPTIMAL", pure VK_IMAGE_TILING_OPTIMAL),+ ("VK_IMAGE_TILING_LINEAR", pure VK_IMAGE_TILING_LINEAR)]+ ++++ prec 10+ (expectP (Ident "VkImageTiling") >>+ (VkImageTiling <$> step readPrec)))++pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling++pattern VK_IMAGE_TILING_OPTIMAL = VkImageTiling 0++pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling++pattern VK_IMAGE_TILING_LINEAR = VkImageTiling 1++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageType VkImageType registry at www.khronos.org>+newtype VkImageType = VkImageType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageType where+ showsPrec _ VK_IMAGE_TYPE_1D = showString "VK_IMAGE_TYPE_1D"+ showsPrec _ VK_IMAGE_TYPE_2D = showString "VK_IMAGE_TYPE_2D"+ showsPrec _ VK_IMAGE_TYPE_3D = showString "VK_IMAGE_TYPE_3D"+ showsPrec p (VkImageType x)+ = showParen (p >= 11) (showString "VkImageType " . showsPrec 11 x)++instance Read VkImageType where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_TYPE_1D", pure VK_IMAGE_TYPE_1D),+ ("VK_IMAGE_TYPE_2D", pure VK_IMAGE_TYPE_2D),+ ("VK_IMAGE_TYPE_3D", pure VK_IMAGE_TYPE_3D)]+ ++++ prec 10+ (expectP (Ident "VkImageType") >> (VkImageType <$> step readPrec)))++pattern VK_IMAGE_TYPE_1D :: VkImageType++pattern VK_IMAGE_TYPE_1D = VkImageType 0++pattern VK_IMAGE_TYPE_2D :: VkImageType++pattern VK_IMAGE_TYPE_2D = VkImageType 1++pattern VK_IMAGE_TYPE_3D :: VkImageType++pattern VK_IMAGE_TYPE_3D = VkImageType 2++newtype VkImageUsageBitmask (a ::+ FlagType) = VkImageUsageBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkImageUsageFlags = VkImageUsageBitmask FlagMask++type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit++pattern VkImageUsageFlagBits ::+ VkFlags -> VkImageUsageBitmask FlagBit++pattern VkImageUsageFlagBits n = VkImageUsageBitmask n++pattern VkImageUsageFlags ::+ VkFlags -> VkImageUsageBitmask FlagMask++pattern VkImageUsageFlags n = VkImageUsageBitmask n++deriving instance Bits (VkImageUsageBitmask FlagMask)++deriving instance FiniteBits (VkImageUsageBitmask FlagMask)++deriving instance Integral (VkImageUsageBitmask FlagMask)++deriving instance Num (VkImageUsageBitmask FlagMask)++deriving instance Bounded (VkImageUsageBitmask FlagMask)++deriving instance Enum (VkImageUsageBitmask FlagMask)++deriving instance Real (VkImageUsageBitmask FlagMask)++instance Show (VkImageUsageBitmask a) where+ showsPrec _ VK_IMAGE_USAGE_TRANSFER_SRC_BIT+ = showString "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"+ showsPrec _ VK_IMAGE_USAGE_TRANSFER_DST_BIT+ = showString "VK_IMAGE_USAGE_TRANSFER_DST_BIT"+ showsPrec _ VK_IMAGE_USAGE_SAMPLED_BIT+ = showString "VK_IMAGE_USAGE_SAMPLED_BIT"+ showsPrec _ VK_IMAGE_USAGE_STORAGE_BIT+ = showString "VK_IMAGE_USAGE_STORAGE_BIT"+ showsPrec _ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT+ = showString "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"+ showsPrec _ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT+ = showString "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"+ showsPrec _ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT+ = showString "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"+ showsPrec _ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT+ = showString "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"+ showsPrec p (VkImageUsageBitmask x)+ = showParen (p >= 11)+ (showString "VkImageUsageBitmask " . showsPrec 11 x)++instance Read (VkImageUsageBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_USAGE_TRANSFER_SRC_BIT",+ pure VK_IMAGE_USAGE_TRANSFER_SRC_BIT),+ ("VK_IMAGE_USAGE_TRANSFER_DST_BIT",+ pure VK_IMAGE_USAGE_TRANSFER_DST_BIT),+ ("VK_IMAGE_USAGE_SAMPLED_BIT", pure VK_IMAGE_USAGE_SAMPLED_BIT),+ ("VK_IMAGE_USAGE_STORAGE_BIT", pure VK_IMAGE_USAGE_STORAGE_BIT),+ ("VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",+ pure VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT),+ ("VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",+ pure VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT),+ ("VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT",+ pure VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT),+ ("VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",+ pure VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)]+ ++++ prec 10+ (expectP (Ident "VkImageUsageBitmask") >>+ (VkImageUsageBitmask <$> step readPrec)))++-- | Can be used as a source of transfer operations+--+-- bitpos = @0@+pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageBitmask 1++-- | Can be used as a destination of transfer operations+--+-- bitpos = @1@+pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT = VkImageUsageBitmask 2++-- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)+--+-- bitpos = @2@+pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_SAMPLED_BIT = VkImageUsageBitmask 4++-- | Can be used as storage image (STORAGE_IMAGE descriptor type)+--+-- bitpos = @3@+pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_STORAGE_BIT = VkImageUsageBitmask 8++-- | Can be used as framebuffer color attachment+--+-- bitpos = @4@+pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT ::+ VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT =+ VkImageUsageBitmask 16++-- | Can be used as framebuffer depth/stencil attachment+--+-- bitpos = @5@+pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT ::+ VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT =+ VkImageUsageBitmask 32++-- | Image data not needed outside of rendering+--+-- bitpos = @6@+pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT ::+ VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT =+ VkImageUsageBitmask 64++-- | Can be used as framebuffer input attachment+--+-- bitpos = @7@+pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT ::+ VkImageUsageBitmask a++pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT =+ VkImageUsageBitmask 128++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewType VkImageViewType registry at www.khronos.org>+newtype VkImageViewType = VkImageViewType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkImageViewType where+ showsPrec _ VK_IMAGE_VIEW_TYPE_1D+ = showString "VK_IMAGE_VIEW_TYPE_1D"+ showsPrec _ VK_IMAGE_VIEW_TYPE_2D+ = showString "VK_IMAGE_VIEW_TYPE_2D"+ showsPrec _ VK_IMAGE_VIEW_TYPE_3D+ = showString "VK_IMAGE_VIEW_TYPE_3D"+ showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE+ = showString "VK_IMAGE_VIEW_TYPE_CUBE"+ showsPrec _ VK_IMAGE_VIEW_TYPE_1D_ARRAY+ = showString "VK_IMAGE_VIEW_TYPE_1D_ARRAY"+ showsPrec _ VK_IMAGE_VIEW_TYPE_2D_ARRAY+ = showString "VK_IMAGE_VIEW_TYPE_2D_ARRAY"+ showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE_ARRAY+ = showString "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"+ showsPrec p (VkImageViewType x)+ = showParen (p >= 11)+ (showString "VkImageViewType " . showsPrec 11 x)++instance Read VkImageViewType where+ readPrec+ = parens+ (choose+ [("VK_IMAGE_VIEW_TYPE_1D", pure VK_IMAGE_VIEW_TYPE_1D),+ ("VK_IMAGE_VIEW_TYPE_2D", pure VK_IMAGE_VIEW_TYPE_2D),+ ("VK_IMAGE_VIEW_TYPE_3D", pure VK_IMAGE_VIEW_TYPE_3D),+ ("VK_IMAGE_VIEW_TYPE_CUBE", pure VK_IMAGE_VIEW_TYPE_CUBE),+ ("VK_IMAGE_VIEW_TYPE_1D_ARRAY", pure VK_IMAGE_VIEW_TYPE_1D_ARRAY),+ ("VK_IMAGE_VIEW_TYPE_2D_ARRAY", pure VK_IMAGE_VIEW_TYPE_2D_ARRAY),+ ("VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",+ pure VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)]+ ++++ prec 10+ (expectP (Ident "VkImageViewType") >>+ (VkImageViewType <$> step readPrec)))++pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_1D = VkImageViewType 0++pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_2D = VkImageViewType 1++pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_3D = VkImageViewType 2++pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_CUBE = VkImageViewType 3++pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY = VkImageViewType 4++pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY = VkImageViewType 5++pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType++pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType 6
@@ -0,0 +1,51 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.IndexType+ (VkIndexType(VkIndexType, VK_INDEX_TYPE_UINT16,+ VK_INDEX_TYPE_UINT32))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndexType VkIndexType registry at www.khronos.org>+newtype VkIndexType = VkIndexType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkIndexType where+ showsPrec _ VK_INDEX_TYPE_UINT16+ = showString "VK_INDEX_TYPE_UINT16"+ showsPrec _ VK_INDEX_TYPE_UINT32+ = showString "VK_INDEX_TYPE_UINT32"+ showsPrec p (VkIndexType x)+ = showParen (p >= 11) (showString "VkIndexType " . showsPrec 11 x)++instance Read VkIndexType where+ readPrec+ = parens+ (choose+ [("VK_INDEX_TYPE_UINT16", pure VK_INDEX_TYPE_UINT16),+ ("VK_INDEX_TYPE_UINT32", pure VK_INDEX_TYPE_UINT32)]+ ++++ prec 10+ (expectP (Ident "VkIndexType") >> (VkIndexType <$> step readPrec)))++pattern VK_INDEX_TYPE_UINT16 :: VkIndexType++pattern VK_INDEX_TYPE_UINT16 = VkIndexType 0++pattern VK_INDEX_TYPE_UINT32 :: VkIndexType++pattern VK_INDEX_TYPE_UINT32 = VkIndexType 1
@@ -0,0 +1,255 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.IndirectCommands+ (VkIndirectCommandsLayoutUsageBitmaskNVX(VkIndirectCommandsLayoutUsageBitmaskNVX,+ VkIndirectCommandsLayoutUsageFlagsNVX,+ VkIndirectCommandsLayoutUsageFlagBitsNVX,+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX,+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX,+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX,+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX),+ VkIndirectCommandsLayoutUsageFlagsNVX,+ VkIndirectCommandsLayoutUsageFlagBitsNVX,+ VkIndirectCommandsTokenTypeNVX(VkIndirectCommandsTokenTypeNVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX,+ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkIndirectCommandsLayoutUsageBitmaskNVX (a ::+ FlagType) = VkIndirectCommandsLayoutUsageBitmaskNVX VkFlags+ deriving (Eq, Ord, Storable, Data,+ Generic)++type VkIndirectCommandsLayoutUsageFlagsNVX =+ VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask++type VkIndirectCommandsLayoutUsageFlagBitsNVX =+ VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit++pattern VkIndirectCommandsLayoutUsageFlagBitsNVX ::+ VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit++pattern VkIndirectCommandsLayoutUsageFlagBitsNVX n =+ VkIndirectCommandsLayoutUsageBitmaskNVX n++pattern VkIndirectCommandsLayoutUsageFlagsNVX ::+ VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask++pattern VkIndirectCommandsLayoutUsageFlagsNVX n =+ VkIndirectCommandsLayoutUsageBitmaskNVX n++deriving instance+ Bits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+ FiniteBits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+ Integral (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+ Num (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+ Bounded (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+ Enum (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++deriving instance+ Real (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)++instance Show (VkIndirectCommandsLayoutUsageBitmaskNVX a) where+ showsPrec _+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+ = showString+ "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX"+ showsPrec _+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+ = showString+ "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX"+ showsPrec _+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+ = showString+ "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX"+ showsPrec _+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+ = showString+ "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX"+ showsPrec p (VkIndirectCommandsLayoutUsageBitmaskNVX x)+ = showParen (p >= 11)+ (showString "VkIndirectCommandsLayoutUsageBitmaskNVX " .+ showsPrec 11 x)++instance Read (VkIndirectCommandsLayoutUsageBitmaskNVX a) where+ readPrec+ = parens+ (choose+ [("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX",+ pure+ VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX),+ ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX",+ pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX),+ ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX",+ pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX),+ ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX",+ pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX)]+ ++++ prec 10+ (expectP (Ident "VkIndirectCommandsLayoutUsageBitmaskNVX") >>+ (VkIndirectCommandsLayoutUsageBitmaskNVX <$> step readPrec)))++-- | bitpos = @0@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+ :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX+ = VkIndirectCommandsLayoutUsageBitmaskNVX 1++-- | bitpos = @1@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+ :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX+ = VkIndirectCommandsLayoutUsageBitmaskNVX 2++-- | bitpos = @2@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+ :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX+ = VkIndirectCommandsLayoutUsageBitmaskNVX 4++-- | bitpos = @3@+pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+ :: VkIndirectCommandsLayoutUsageBitmaskNVX a++pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX+ = VkIndirectCommandsLayoutUsageBitmaskNVX 8++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsTokenTypeNVX VkIndirectCommandsTokenTypeNVX registry at www.khronos.org>+newtype VkIndirectCommandsTokenTypeNVX = VkIndirectCommandsTokenTypeNVX Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkIndirectCommandsTokenTypeNVX where+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX"+ showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX+ = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX"+ showsPrec p (VkIndirectCommandsTokenTypeNVX x)+ = showParen (p >= 11)+ (showString "VkIndirectCommandsTokenTypeNVX " . showsPrec 11 x)++instance Read VkIndirectCommandsTokenTypeNVX where+ readPrec+ = parens+ (choose+ [("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX),+ ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX",+ pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX)]+ ++++ prec 10+ (expectP (Ident "VkIndirectCommandsTokenTypeNVX") >>+ (VkIndirectCommandsTokenTypeNVX <$> step readPrec)))++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX =+ VkIndirectCommandsTokenTypeNVX 0++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX =+ VkIndirectCommandsTokenTypeNVX 1++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX =+ VkIndirectCommandsTokenTypeNVX 2++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX =+ VkIndirectCommandsTokenTypeNVX 3++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX =+ VkIndirectCommandsTokenTypeNVX 4++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX =+ VkIndirectCommandsTokenTypeNVX 5++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX =+ VkIndirectCommandsTokenTypeNVX 6++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX ::+ VkIndirectCommandsTokenTypeNVX++pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX =+ VkIndirectCommandsTokenTypeNVX 7
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.InstanceCreateFlagBits+ (VkInstanceCreateFlagBits(..)) where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkInstanceCreateFlagBits = VkInstanceCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkInstanceCreateFlagBits where+ {-# INLINE show #-}+ show (VkInstanceCreateFlagBits x) = show x++instance Read VkInstanceCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,49 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.InternalAllocationType+ (VkInternalAllocationType(VkInternalAllocationType,+ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkInternalAllocationType VkInternalAllocationType registry at www.khronos.org>+newtype VkInternalAllocationType = VkInternalAllocationType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkInternalAllocationType where+ showsPrec _ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE+ = showString "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"+ showsPrec p (VkInternalAllocationType x)+ = showParen (p >= 11)+ (showString "VkInternalAllocationType " . showsPrec 11 x)++instance Read VkInternalAllocationType where+ readPrec+ = parens+ (choose+ [("VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE",+ pure VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE)]+ ++++ prec 10+ (expectP (Ident "VkInternalAllocationType") >>+ (VkInternalAllocationType <$> step readPrec)))++pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE ::+ VkInternalAllocationType++pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE =+ VkInternalAllocationType 0
@@ -0,0 +1,144 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.LogicOp+ (VkLogicOp(VkLogicOp, VK_LOGIC_OP_CLEAR, VK_LOGIC_OP_AND,+ VK_LOGIC_OP_AND_REVERSE, VK_LOGIC_OP_COPY,+ VK_LOGIC_OP_AND_INVERTED, VK_LOGIC_OP_NO_OP, VK_LOGIC_OP_XOR,+ VK_LOGIC_OP_OR, VK_LOGIC_OP_NOR, VK_LOGIC_OP_EQUIVALENT,+ VK_LOGIC_OP_INVERT, VK_LOGIC_OP_OR_REVERSE,+ VK_LOGIC_OP_COPY_INVERTED, VK_LOGIC_OP_OR_INVERTED,+ VK_LOGIC_OP_NAND, VK_LOGIC_OP_SET))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkLogicOp VkLogicOp registry at www.khronos.org>+newtype VkLogicOp = VkLogicOp Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkLogicOp where+ showsPrec _ VK_LOGIC_OP_CLEAR = showString "VK_LOGIC_OP_CLEAR"+ showsPrec _ VK_LOGIC_OP_AND = showString "VK_LOGIC_OP_AND"+ showsPrec _ VK_LOGIC_OP_AND_REVERSE+ = showString "VK_LOGIC_OP_AND_REVERSE"+ showsPrec _ VK_LOGIC_OP_COPY = showString "VK_LOGIC_OP_COPY"+ showsPrec _ VK_LOGIC_OP_AND_INVERTED+ = showString "VK_LOGIC_OP_AND_INVERTED"+ showsPrec _ VK_LOGIC_OP_NO_OP = showString "VK_LOGIC_OP_NO_OP"+ showsPrec _ VK_LOGIC_OP_XOR = showString "VK_LOGIC_OP_XOR"+ showsPrec _ VK_LOGIC_OP_OR = showString "VK_LOGIC_OP_OR"+ showsPrec _ VK_LOGIC_OP_NOR = showString "VK_LOGIC_OP_NOR"+ showsPrec _ VK_LOGIC_OP_EQUIVALENT+ = showString "VK_LOGIC_OP_EQUIVALENT"+ showsPrec _ VK_LOGIC_OP_INVERT = showString "VK_LOGIC_OP_INVERT"+ showsPrec _ VK_LOGIC_OP_OR_REVERSE+ = showString "VK_LOGIC_OP_OR_REVERSE"+ showsPrec _ VK_LOGIC_OP_COPY_INVERTED+ = showString "VK_LOGIC_OP_COPY_INVERTED"+ showsPrec _ VK_LOGIC_OP_OR_INVERTED+ = showString "VK_LOGIC_OP_OR_INVERTED"+ showsPrec _ VK_LOGIC_OP_NAND = showString "VK_LOGIC_OP_NAND"+ showsPrec _ VK_LOGIC_OP_SET = showString "VK_LOGIC_OP_SET"+ showsPrec p (VkLogicOp x)+ = showParen (p >= 11) (showString "VkLogicOp " . showsPrec 11 x)++instance Read VkLogicOp where+ readPrec+ = parens+ (choose+ [("VK_LOGIC_OP_CLEAR", pure VK_LOGIC_OP_CLEAR),+ ("VK_LOGIC_OP_AND", pure VK_LOGIC_OP_AND),+ ("VK_LOGIC_OP_AND_REVERSE", pure VK_LOGIC_OP_AND_REVERSE),+ ("VK_LOGIC_OP_COPY", pure VK_LOGIC_OP_COPY),+ ("VK_LOGIC_OP_AND_INVERTED", pure VK_LOGIC_OP_AND_INVERTED),+ ("VK_LOGIC_OP_NO_OP", pure VK_LOGIC_OP_NO_OP),+ ("VK_LOGIC_OP_XOR", pure VK_LOGIC_OP_XOR),+ ("VK_LOGIC_OP_OR", pure VK_LOGIC_OP_OR),+ ("VK_LOGIC_OP_NOR", pure VK_LOGIC_OP_NOR),+ ("VK_LOGIC_OP_EQUIVALENT", pure VK_LOGIC_OP_EQUIVALENT),+ ("VK_LOGIC_OP_INVERT", pure VK_LOGIC_OP_INVERT),+ ("VK_LOGIC_OP_OR_REVERSE", pure VK_LOGIC_OP_OR_REVERSE),+ ("VK_LOGIC_OP_COPY_INVERTED", pure VK_LOGIC_OP_COPY_INVERTED),+ ("VK_LOGIC_OP_OR_INVERTED", pure VK_LOGIC_OP_OR_INVERTED),+ ("VK_LOGIC_OP_NAND", pure VK_LOGIC_OP_NAND),+ ("VK_LOGIC_OP_SET", pure VK_LOGIC_OP_SET)]+ ++++ prec 10+ (expectP (Ident "VkLogicOp") >> (VkLogicOp <$> step readPrec)))++pattern VK_LOGIC_OP_CLEAR :: VkLogicOp++pattern VK_LOGIC_OP_CLEAR = VkLogicOp 0++pattern VK_LOGIC_OP_AND :: VkLogicOp++pattern VK_LOGIC_OP_AND = VkLogicOp 1++pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp++pattern VK_LOGIC_OP_AND_REVERSE = VkLogicOp 2++pattern VK_LOGIC_OP_COPY :: VkLogicOp++pattern VK_LOGIC_OP_COPY = VkLogicOp 3++pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp++pattern VK_LOGIC_OP_AND_INVERTED = VkLogicOp 4++pattern VK_LOGIC_OP_NO_OP :: VkLogicOp++pattern VK_LOGIC_OP_NO_OP = VkLogicOp 5++pattern VK_LOGIC_OP_XOR :: VkLogicOp++pattern VK_LOGIC_OP_XOR = VkLogicOp 6++pattern VK_LOGIC_OP_OR :: VkLogicOp++pattern VK_LOGIC_OP_OR = VkLogicOp 7++pattern VK_LOGIC_OP_NOR :: VkLogicOp++pattern VK_LOGIC_OP_NOR = VkLogicOp 8++pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp++pattern VK_LOGIC_OP_EQUIVALENT = VkLogicOp 9++pattern VK_LOGIC_OP_INVERT :: VkLogicOp++pattern VK_LOGIC_OP_INVERT = VkLogicOp 10++pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp++pattern VK_LOGIC_OP_OR_REVERSE = VkLogicOp 11++pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp++pattern VK_LOGIC_OP_COPY_INVERTED = VkLogicOp 12++pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp++pattern VK_LOGIC_OP_OR_INVERTED = VkLogicOp 13++pattern VK_LOGIC_OP_NAND :: VkLogicOp++pattern VK_LOGIC_OP_NAND = VkLogicOp 14++pattern VK_LOGIC_OP_SET :: VkLogicOp++pattern VK_LOGIC_OP_SET = VkLogicOp 15
@@ -0,0 +1,279 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Memory+ (VkMemoryAllocateFlagBitsKHR(..),+ VkMemoryAllocateBitmask(VkMemoryAllocateBitmask,+ VkMemoryAllocateFlags, VkMemoryAllocateFlagBits,+ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT),+ VkMemoryAllocateFlags, VkMemoryAllocateFlagBits,+ VkMemoryHeapBitmask(VkMemoryHeapBitmask, VkMemoryHeapFlags,+ VkMemoryHeapFlagBits, VK_MEMORY_HEAP_DEVICE_LOCAL_BIT),+ VkMemoryHeapFlags, VkMemoryHeapFlagBits,+ VkMemoryPropertyBitmask(VkMemoryPropertyBitmask,+ VkMemoryPropertyFlags, VkMemoryPropertyFlagBits,+ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,+ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,+ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,+ VK_MEMORY_PROPERTY_HOST_CACHED_BIT,+ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT),+ VkMemoryPropertyFlags, VkMemoryPropertyFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkMemoryAllocateFlagBitsKHR where+ {-# INLINE show #-}+ show (VkMemoryAllocateFlagBitsKHR x) = show x++instance Read VkMemoryAllocateFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkMemoryAllocateBitmask (a ::+ FlagType) = VkMemoryAllocateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask++type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit++pattern VkMemoryAllocateFlagBits ::+ VkFlags -> VkMemoryAllocateBitmask FlagBit++pattern VkMemoryAllocateFlagBits n = VkMemoryAllocateBitmask n++pattern VkMemoryAllocateFlags ::+ VkFlags -> VkMemoryAllocateBitmask FlagMask++pattern VkMemoryAllocateFlags n = VkMemoryAllocateBitmask n++deriving instance Bits (VkMemoryAllocateBitmask FlagMask)++deriving instance FiniteBits (VkMemoryAllocateBitmask FlagMask)++deriving instance Integral (VkMemoryAllocateBitmask FlagMask)++deriving instance Num (VkMemoryAllocateBitmask FlagMask)++deriving instance Bounded (VkMemoryAllocateBitmask FlagMask)++deriving instance Enum (VkMemoryAllocateBitmask FlagMask)++deriving instance Real (VkMemoryAllocateBitmask FlagMask)++instance Show (VkMemoryAllocateBitmask a) where+ showsPrec _ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT+ = showString "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"+ showsPrec p (VkMemoryAllocateBitmask x)+ = showParen (p >= 11)+ (showString "VkMemoryAllocateBitmask " . showsPrec 11 x)++instance Read (VkMemoryAllocateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT",+ pure VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT)]+ ++++ prec 10+ (expectP (Ident "VkMemoryAllocateBitmask") >>+ (VkMemoryAllocateBitmask <$> step readPrec)))++-- | Force allocation on specific devices+--+-- bitpos = @0@+pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT ::+ VkMemoryAllocateBitmask a++pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT =+ VkMemoryAllocateBitmask 1++newtype VkMemoryHeapBitmask (a ::+ FlagType) = VkMemoryHeapBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask++type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit++pattern VkMemoryHeapFlagBits ::+ VkFlags -> VkMemoryHeapBitmask FlagBit++pattern VkMemoryHeapFlagBits n = VkMemoryHeapBitmask n++pattern VkMemoryHeapFlags ::+ VkFlags -> VkMemoryHeapBitmask FlagMask++pattern VkMemoryHeapFlags n = VkMemoryHeapBitmask n++deriving instance Bits (VkMemoryHeapBitmask FlagMask)++deriving instance FiniteBits (VkMemoryHeapBitmask FlagMask)++deriving instance Integral (VkMemoryHeapBitmask FlagMask)++deriving instance Num (VkMemoryHeapBitmask FlagMask)++deriving instance Bounded (VkMemoryHeapBitmask FlagMask)++deriving instance Enum (VkMemoryHeapBitmask FlagMask)++deriving instance Real (VkMemoryHeapBitmask FlagMask)++instance Show (VkMemoryHeapBitmask a) where+ showsPrec _ VK_MEMORY_HEAP_DEVICE_LOCAL_BIT+ = showString "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"+ showsPrec p (VkMemoryHeapBitmask x)+ = showParen (p >= 11)+ (showString "VkMemoryHeapBitmask " . showsPrec 11 x)++instance Read (VkMemoryHeapBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_MEMORY_HEAP_DEVICE_LOCAL_BIT",+ pure VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)]+ ++++ prec 10+ (expectP (Ident "VkMemoryHeapBitmask") >>+ (VkMemoryHeapBitmask <$> step readPrec)))++-- | If set, heap represents device memory+--+-- bitpos = @0@+pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a++pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = VkMemoryHeapBitmask 1++newtype VkMemoryPropertyBitmask (a ::+ FlagType) = VkMemoryPropertyBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask++type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit++pattern VkMemoryPropertyFlagBits ::+ VkFlags -> VkMemoryPropertyBitmask FlagBit++pattern VkMemoryPropertyFlagBits n = VkMemoryPropertyBitmask n++pattern VkMemoryPropertyFlags ::+ VkFlags -> VkMemoryPropertyBitmask FlagMask++pattern VkMemoryPropertyFlags n = VkMemoryPropertyBitmask n++deriving instance Bits (VkMemoryPropertyBitmask FlagMask)++deriving instance FiniteBits (VkMemoryPropertyBitmask FlagMask)++deriving instance Integral (VkMemoryPropertyBitmask FlagMask)++deriving instance Num (VkMemoryPropertyBitmask FlagMask)++deriving instance Bounded (VkMemoryPropertyBitmask FlagMask)++deriving instance Enum (VkMemoryPropertyBitmask FlagMask)++deriving instance Real (VkMemoryPropertyBitmask FlagMask)++instance Show (VkMemoryPropertyBitmask a) where+ showsPrec _ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT+ = showString "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT+ = showString "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT+ = showString "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_HOST_CACHED_BIT+ = showString "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"+ showsPrec _ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT+ = showString "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"+ showsPrec p (VkMemoryPropertyBitmask x)+ = showParen (p >= 11)+ (showString "VkMemoryPropertyBitmask " . showsPrec 11 x)++instance Read (VkMemoryPropertyBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT",+ pure VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),+ ("VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT",+ pure VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT),+ ("VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",+ pure VK_MEMORY_PROPERTY_HOST_COHERENT_BIT),+ ("VK_MEMORY_PROPERTY_HOST_CACHED_BIT",+ pure VK_MEMORY_PROPERTY_HOST_CACHED_BIT),+ ("VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT",+ pure VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)]+ ++++ prec 10+ (expectP (Ident "VkMemoryPropertyBitmask") >>+ (VkMemoryPropertyBitmask <$> step readPrec)))++-- | If otherwise stated, then allocate memory on device+--+-- bitpos = @0@+pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT ::+ VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT =+ VkMemoryPropertyBitmask 1++-- | Memory is mappable by host+--+-- bitpos = @1@+pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT ::+ VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT =+ VkMemoryPropertyBitmask 2++-- | Memory will have i/o coherency. If not set, application may need to use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to flush/invalidate host cache+--+-- bitpos = @2@+pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT ::+ VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT =+ VkMemoryPropertyBitmask 4++-- | Memory will be cached by the host+--+-- bitpos = @3@+pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT ::+ VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT =+ VkMemoryPropertyBitmask 8++-- | Memory may be allocated by the driver when it is required+--+-- bitpos = @4@+pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT ::+ VkMemoryPropertyBitmask a++pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT =+ VkMemoryPropertyBitmask 16
@@ -0,0 +1,427 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Object+ (VkObjectEntryTypeNVX(VkObjectEntryTypeNVX,+ VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,+ VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX,+ VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX,+ VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX,+ VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX),+ VkObjectEntryUsageBitmaskNVX(VkObjectEntryUsageBitmaskNVX,+ VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX,+ VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX,+ VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX),+ VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX,+ VkObjectType(VkObjectType, VK_OBJECT_TYPE_UNKNOWN,+ VK_OBJECT_TYPE_INSTANCE, VK_OBJECT_TYPE_PHYSICAL_DEVICE,+ VK_OBJECT_TYPE_DEVICE, VK_OBJECT_TYPE_QUEUE,+ VK_OBJECT_TYPE_SEMAPHORE, VK_OBJECT_TYPE_COMMAND_BUFFER,+ VK_OBJECT_TYPE_FENCE, VK_OBJECT_TYPE_DEVICE_MEMORY,+ VK_OBJECT_TYPE_BUFFER, VK_OBJECT_TYPE_IMAGE, VK_OBJECT_TYPE_EVENT,+ VK_OBJECT_TYPE_QUERY_POOL, VK_OBJECT_TYPE_BUFFER_VIEW,+ VK_OBJECT_TYPE_IMAGE_VIEW, VK_OBJECT_TYPE_SHADER_MODULE,+ VK_OBJECT_TYPE_PIPELINE_CACHE, VK_OBJECT_TYPE_PIPELINE_LAYOUT,+ VK_OBJECT_TYPE_RENDER_PASS, VK_OBJECT_TYPE_PIPELINE,+ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, VK_OBJECT_TYPE_SAMPLER,+ VK_OBJECT_TYPE_DESCRIPTOR_POOL, VK_OBJECT_TYPE_DESCRIPTOR_SET,+ VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_COMMAND_POOL))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectEntryTypeNVX VkObjectEntryTypeNVX registry at www.khronos.org>+newtype VkObjectEntryTypeNVX = VkObjectEntryTypeNVX Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkObjectEntryTypeNVX where+ showsPrec _ VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX+ = showString "VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX"+ showsPrec _ VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX+ = showString "VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX"+ showsPrec _ VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX+ = showString "VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX"+ showsPrec _ VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX+ = showString "VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX"+ showsPrec _ VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX+ = showString "VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX"+ showsPrec p (VkObjectEntryTypeNVX x)+ = showParen (p >= 11)+ (showString "VkObjectEntryTypeNVX " . showsPrec 11 x)++instance Read VkObjectEntryTypeNVX where+ readPrec+ = parens+ (choose+ [("VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX",+ pure VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX),+ ("VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX",+ pure VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX),+ ("VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX",+ pure VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX),+ ("VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX",+ pure VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX),+ ("VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX",+ pure VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX)]+ ++++ prec 10+ (expectP (Ident "VkObjectEntryTypeNVX") >>+ (VkObjectEntryTypeNVX <$> step readPrec)))++pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX ::+ VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX =+ VkObjectEntryTypeNVX 0++pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX :: VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = VkObjectEntryTypeNVX 1++pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX ::+ VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX =+ VkObjectEntryTypeNVX 2++pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX ::+ VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX =+ VkObjectEntryTypeNVX 3++pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX ::+ VkObjectEntryTypeNVX++pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX =+ VkObjectEntryTypeNVX 4++newtype VkObjectEntryUsageBitmaskNVX (a ::+ FlagType) = VkObjectEntryUsageBitmaskNVX VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkObjectEntryUsageFlagsNVX =+ VkObjectEntryUsageBitmaskNVX FlagMask++type VkObjectEntryUsageFlagBitsNVX =+ VkObjectEntryUsageBitmaskNVX FlagBit++pattern VkObjectEntryUsageFlagBitsNVX ::+ VkFlags -> VkObjectEntryUsageBitmaskNVX FlagBit++pattern VkObjectEntryUsageFlagBitsNVX n =+ VkObjectEntryUsageBitmaskNVX n++pattern VkObjectEntryUsageFlagsNVX ::+ VkFlags -> VkObjectEntryUsageBitmaskNVX FlagMask++pattern VkObjectEntryUsageFlagsNVX n =+ VkObjectEntryUsageBitmaskNVX n++deriving instance Bits (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance+ FiniteBits (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Integral (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Num (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Bounded (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Enum (VkObjectEntryUsageBitmaskNVX FlagMask)++deriving instance Real (VkObjectEntryUsageBitmaskNVX FlagMask)++instance Show (VkObjectEntryUsageBitmaskNVX a) where+ showsPrec _ VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX+ = showString "VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"+ showsPrec _ VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX+ = showString "VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"+ showsPrec p (VkObjectEntryUsageBitmaskNVX x)+ = showParen (p >= 11)+ (showString "VkObjectEntryUsageBitmaskNVX " . showsPrec 11 x)++instance Read (VkObjectEntryUsageBitmaskNVX a) where+ readPrec+ = parens+ (choose+ [("VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX",+ pure VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX),+ ("VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX",+ pure VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX)]+ ++++ prec 10+ (expectP (Ident "VkObjectEntryUsageBitmaskNVX") >>+ (VkObjectEntryUsageBitmaskNVX <$> step readPrec)))++-- | bitpos = @0@+pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX ::+ VkObjectEntryUsageBitmaskNVX a++pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX =+ VkObjectEntryUsageBitmaskNVX 1++-- | bitpos = @1@+pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX ::+ VkObjectEntryUsageBitmaskNVX a++pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX =+ VkObjectEntryUsageBitmaskNVX 2++-- | Enums to track objects of various types+--+-- type = @enum@+--+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectType VkObjectType registry at www.khronos.org>+newtype VkObjectType = VkObjectType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkObjectType where+ showsPrec _ VK_OBJECT_TYPE_UNKNOWN+ = showString "VK_OBJECT_TYPE_UNKNOWN"+ showsPrec _ VK_OBJECT_TYPE_INSTANCE+ = showString "VK_OBJECT_TYPE_INSTANCE"+ showsPrec _ VK_OBJECT_TYPE_PHYSICAL_DEVICE+ = showString "VK_OBJECT_TYPE_PHYSICAL_DEVICE"+ showsPrec _ VK_OBJECT_TYPE_DEVICE+ = showString "VK_OBJECT_TYPE_DEVICE"+ showsPrec _ VK_OBJECT_TYPE_QUEUE+ = showString "VK_OBJECT_TYPE_QUEUE"+ showsPrec _ VK_OBJECT_TYPE_SEMAPHORE+ = showString "VK_OBJECT_TYPE_SEMAPHORE"+ showsPrec _ VK_OBJECT_TYPE_COMMAND_BUFFER+ = showString "VK_OBJECT_TYPE_COMMAND_BUFFER"+ showsPrec _ VK_OBJECT_TYPE_FENCE+ = showString "VK_OBJECT_TYPE_FENCE"+ showsPrec _ VK_OBJECT_TYPE_DEVICE_MEMORY+ = showString "VK_OBJECT_TYPE_DEVICE_MEMORY"+ showsPrec _ VK_OBJECT_TYPE_BUFFER+ = showString "VK_OBJECT_TYPE_BUFFER"+ showsPrec _ VK_OBJECT_TYPE_IMAGE+ = showString "VK_OBJECT_TYPE_IMAGE"+ showsPrec _ VK_OBJECT_TYPE_EVENT+ = showString "VK_OBJECT_TYPE_EVENT"+ showsPrec _ VK_OBJECT_TYPE_QUERY_POOL+ = showString "VK_OBJECT_TYPE_QUERY_POOL"+ showsPrec _ VK_OBJECT_TYPE_BUFFER_VIEW+ = showString "VK_OBJECT_TYPE_BUFFER_VIEW"+ showsPrec _ VK_OBJECT_TYPE_IMAGE_VIEW+ = showString "VK_OBJECT_TYPE_IMAGE_VIEW"+ showsPrec _ VK_OBJECT_TYPE_SHADER_MODULE+ = showString "VK_OBJECT_TYPE_SHADER_MODULE"+ showsPrec _ VK_OBJECT_TYPE_PIPELINE_CACHE+ = showString "VK_OBJECT_TYPE_PIPELINE_CACHE"+ showsPrec _ VK_OBJECT_TYPE_PIPELINE_LAYOUT+ = showString "VK_OBJECT_TYPE_PIPELINE_LAYOUT"+ showsPrec _ VK_OBJECT_TYPE_RENDER_PASS+ = showString "VK_OBJECT_TYPE_RENDER_PASS"+ showsPrec _ VK_OBJECT_TYPE_PIPELINE+ = showString "VK_OBJECT_TYPE_PIPELINE"+ showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT+ = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"+ showsPrec _ VK_OBJECT_TYPE_SAMPLER+ = showString "VK_OBJECT_TYPE_SAMPLER"+ showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_POOL+ = showString "VK_OBJECT_TYPE_DESCRIPTOR_POOL"+ showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET+ = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET"+ showsPrec _ VK_OBJECT_TYPE_FRAMEBUFFER+ = showString "VK_OBJECT_TYPE_FRAMEBUFFER"+ showsPrec _ VK_OBJECT_TYPE_COMMAND_POOL+ = showString "VK_OBJECT_TYPE_COMMAND_POOL"+ showsPrec p (VkObjectType x)+ = showParen (p >= 11) (showString "VkObjectType " . showsPrec 11 x)++instance Read VkObjectType where+ readPrec+ = parens+ (choose+ [("VK_OBJECT_TYPE_UNKNOWN", pure VK_OBJECT_TYPE_UNKNOWN),+ ("VK_OBJECT_TYPE_INSTANCE", pure VK_OBJECT_TYPE_INSTANCE),+ ("VK_OBJECT_TYPE_PHYSICAL_DEVICE",+ pure VK_OBJECT_TYPE_PHYSICAL_DEVICE),+ ("VK_OBJECT_TYPE_DEVICE", pure VK_OBJECT_TYPE_DEVICE),+ ("VK_OBJECT_TYPE_QUEUE", pure VK_OBJECT_TYPE_QUEUE),+ ("VK_OBJECT_TYPE_SEMAPHORE", pure VK_OBJECT_TYPE_SEMAPHORE),+ ("VK_OBJECT_TYPE_COMMAND_BUFFER",+ pure VK_OBJECT_TYPE_COMMAND_BUFFER),+ ("VK_OBJECT_TYPE_FENCE", pure VK_OBJECT_TYPE_FENCE),+ ("VK_OBJECT_TYPE_DEVICE_MEMORY",+ pure VK_OBJECT_TYPE_DEVICE_MEMORY),+ ("VK_OBJECT_TYPE_BUFFER", pure VK_OBJECT_TYPE_BUFFER),+ ("VK_OBJECT_TYPE_IMAGE", pure VK_OBJECT_TYPE_IMAGE),+ ("VK_OBJECT_TYPE_EVENT", pure VK_OBJECT_TYPE_EVENT),+ ("VK_OBJECT_TYPE_QUERY_POOL", pure VK_OBJECT_TYPE_QUERY_POOL),+ ("VK_OBJECT_TYPE_BUFFER_VIEW", pure VK_OBJECT_TYPE_BUFFER_VIEW),+ ("VK_OBJECT_TYPE_IMAGE_VIEW", pure VK_OBJECT_TYPE_IMAGE_VIEW),+ ("VK_OBJECT_TYPE_SHADER_MODULE",+ pure VK_OBJECT_TYPE_SHADER_MODULE),+ ("VK_OBJECT_TYPE_PIPELINE_CACHE",+ pure VK_OBJECT_TYPE_PIPELINE_CACHE),+ ("VK_OBJECT_TYPE_PIPELINE_LAYOUT",+ pure VK_OBJECT_TYPE_PIPELINE_LAYOUT),+ ("VK_OBJECT_TYPE_RENDER_PASS", pure VK_OBJECT_TYPE_RENDER_PASS),+ ("VK_OBJECT_TYPE_PIPELINE", pure VK_OBJECT_TYPE_PIPELINE),+ ("VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT",+ pure VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT),+ ("VK_OBJECT_TYPE_SAMPLER", pure VK_OBJECT_TYPE_SAMPLER),+ ("VK_OBJECT_TYPE_DESCRIPTOR_POOL",+ pure VK_OBJECT_TYPE_DESCRIPTOR_POOL),+ ("VK_OBJECT_TYPE_DESCRIPTOR_SET",+ pure VK_OBJECT_TYPE_DESCRIPTOR_SET),+ ("VK_OBJECT_TYPE_FRAMEBUFFER", pure VK_OBJECT_TYPE_FRAMEBUFFER),+ ("VK_OBJECT_TYPE_COMMAND_POOL", pure VK_OBJECT_TYPE_COMMAND_POOL)]+ ++++ prec 10+ (expectP (Ident "VkObjectType") >>+ (VkObjectType <$> step readPrec)))++pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType++pattern VK_OBJECT_TYPE_UNKNOWN = VkObjectType 0++-- | VkInstance+pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType++pattern VK_OBJECT_TYPE_INSTANCE = VkObjectType 1++-- | VkPhysicalDevice+pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType++pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE = VkObjectType 2++-- | VkDevice+pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType++pattern VK_OBJECT_TYPE_DEVICE = VkObjectType 3++-- | VkQueue+pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType++pattern VK_OBJECT_TYPE_QUEUE = VkObjectType 4++-- | VkSemaphore+pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType++pattern VK_OBJECT_TYPE_SEMAPHORE = VkObjectType 5++-- | VkCommandBuffer+pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType++pattern VK_OBJECT_TYPE_COMMAND_BUFFER = VkObjectType 6++-- | VkFence+pattern VK_OBJECT_TYPE_FENCE :: VkObjectType++pattern VK_OBJECT_TYPE_FENCE = VkObjectType 7++-- | VkDeviceMemory+pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType++pattern VK_OBJECT_TYPE_DEVICE_MEMORY = VkObjectType 8++-- | VkBuffer+pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType++pattern VK_OBJECT_TYPE_BUFFER = VkObjectType 9++-- | VkImage+pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType++pattern VK_OBJECT_TYPE_IMAGE = VkObjectType 10++-- | VkEvent+pattern VK_OBJECT_TYPE_EVENT :: VkObjectType++pattern VK_OBJECT_TYPE_EVENT = VkObjectType 11++-- | VkQueryPool+pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType++pattern VK_OBJECT_TYPE_QUERY_POOL = VkObjectType 12++-- | VkBufferView+pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType++pattern VK_OBJECT_TYPE_BUFFER_VIEW = VkObjectType 13++-- | VkImageView+pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType++pattern VK_OBJECT_TYPE_IMAGE_VIEW = VkObjectType 14++-- | VkShaderModule+pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType++pattern VK_OBJECT_TYPE_SHADER_MODULE = VkObjectType 15++-- | VkPipelineCache+pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType++pattern VK_OBJECT_TYPE_PIPELINE_CACHE = VkObjectType 16++-- | VkPipelineLayout+pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType++pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT = VkObjectType 17++-- | VkRenderPass+pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType++pattern VK_OBJECT_TYPE_RENDER_PASS = VkObjectType 18++-- | VkPipeline+pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType++pattern VK_OBJECT_TYPE_PIPELINE = VkObjectType 19++-- | VkDescriptorSetLayout+pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = VkObjectType 20++-- | VkSampler+pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType++pattern VK_OBJECT_TYPE_SAMPLER = VkObjectType 21++-- | VkDescriptorPool+pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL = VkObjectType 22++-- | VkDescriptorSet+pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType++pattern VK_OBJECT_TYPE_DESCRIPTOR_SET = VkObjectType 23++-- | VkFramebuffer+pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType++pattern VK_OBJECT_TYPE_FRAMEBUFFER = VkObjectType 24++-- | VkCommandPool+pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType++pattern VK_OBJECT_TYPE_COMMAND_POOL = VkObjectType 25
@@ -0,0 +1,144 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag+ (VkPeerMemoryFeatureFlagBitsKHR(..),+ VkPeerMemoryFeatureBitmask(VkPeerMemoryFeatureBitmask,+ VkPeerMemoryFeatureFlags, VkPeerMemoryFeatureFlagBits,+ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,+ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,+ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,+ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT),+ VkPeerMemoryFeatureFlags, VkPeerMemoryFeatureFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkPeerMemoryFeatureFlagBitsKHR where+ {-# INLINE show #-}+ show (VkPeerMemoryFeatureFlagBitsKHR x) = show x++instance Read VkPeerMemoryFeatureFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPeerMemoryFeatureBitmask (a ::+ FlagType) = VkPeerMemoryFeatureBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask++type VkPeerMemoryFeatureFlagBits =+ VkPeerMemoryFeatureBitmask FlagBit++pattern VkPeerMemoryFeatureFlagBits ::+ VkFlags -> VkPeerMemoryFeatureBitmask FlagBit++pattern VkPeerMemoryFeatureFlagBits n =+ VkPeerMemoryFeatureBitmask n++pattern VkPeerMemoryFeatureFlags ::+ VkFlags -> VkPeerMemoryFeatureBitmask FlagMask++pattern VkPeerMemoryFeatureFlags n = VkPeerMemoryFeatureBitmask n++deriving instance Bits (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance FiniteBits (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Integral (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Num (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Bounded (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Enum (VkPeerMemoryFeatureBitmask FlagMask)++deriving instance Real (VkPeerMemoryFeatureBitmask FlagMask)++instance Show (VkPeerMemoryFeatureBitmask a) where+ showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT+ = showString "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"+ showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT+ = showString "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"+ showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT+ = showString "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"+ showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT+ = showString "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"+ showsPrec p (VkPeerMemoryFeatureBitmask x)+ = showParen (p >= 11)+ (showString "VkPeerMemoryFeatureBitmask " . showsPrec 11 x)++instance Read (VkPeerMemoryFeatureBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT",+ pure VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT),+ ("VK_PEER_MEMORY_FEATURE_COPY_DST_BIT",+ pure VK_PEER_MEMORY_FEATURE_COPY_DST_BIT),+ ("VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT",+ pure VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT),+ ("VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT",+ pure VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT)]+ ++++ prec 10+ (expectP (Ident "VkPeerMemoryFeatureBitmask") >>+ (VkPeerMemoryFeatureBitmask <$> step readPrec)))++-- | Can read with vkCmdCopy commands+--+-- bitpos = @0@+pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT ::+ VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT =+ VkPeerMemoryFeatureBitmask 1++-- | Can write with vkCmdCopy commands+--+-- bitpos = @1@+pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT ::+ VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT =+ VkPeerMemoryFeatureBitmask 2++-- | Can read with any access type/command+--+-- bitpos = @2@+pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT ::+ VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT =+ VkPeerMemoryFeatureBitmask 4++-- | Can write with and access type/command+--+-- bitpos = @3@+pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT ::+ VkPeerMemoryFeatureBitmask a++pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT =+ VkPeerMemoryFeatureBitmask 8
@@ -0,0 +1,86 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.PhysicalDeviceType+ (VkPhysicalDeviceType(VkPhysicalDeviceType,+ VK_PHYSICAL_DEVICE_TYPE_OTHER,+ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,+ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,+ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, VK_PHYSICAL_DEVICE_TYPE_CPU))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceType VkPhysicalDeviceType registry at www.khronos.org>+newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPhysicalDeviceType where+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_OTHER+ = showString "VK_PHYSICAL_DEVICE_TYPE_OTHER"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU+ = showString "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU+ = showString "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU+ = showString "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"+ showsPrec _ VK_PHYSICAL_DEVICE_TYPE_CPU+ = showString "VK_PHYSICAL_DEVICE_TYPE_CPU"+ showsPrec p (VkPhysicalDeviceType x)+ = showParen (p >= 11)+ (showString "VkPhysicalDeviceType " . showsPrec 11 x)++instance Read VkPhysicalDeviceType where+ readPrec+ = parens+ (choose+ [("VK_PHYSICAL_DEVICE_TYPE_OTHER",+ pure VK_PHYSICAL_DEVICE_TYPE_OTHER),+ ("VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU",+ pure VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU),+ ("VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU",+ pure VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU),+ ("VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU",+ pure VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU),+ ("VK_PHYSICAL_DEVICE_TYPE_CPU", pure VK_PHYSICAL_DEVICE_TYPE_CPU)]+ ++++ prec 10+ (expectP (Ident "VkPhysicalDeviceType") >>+ (VkPhysicalDeviceType <$> step readPrec)))++pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType 0++pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU ::+ VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU =+ VkPhysicalDeviceType 1++pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU ::+ VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU =+ VkPhysicalDeviceType 2++pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU =+ VkPhysicalDeviceType 3++pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType++pattern VK_PHYSICAL_DEVICE_TYPE_CPU = VkPhysicalDeviceType 4
@@ -0,0 +1,629 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Pipeline+ (VkPipelineBindPoint(VkPipelineBindPoint,+ VK_PIPELINE_BIND_POINT_GRAPHICS, VK_PIPELINE_BIND_POINT_COMPUTE),+ VkPipelineCacheCreateFlagBits(..),+ VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion,+ VK_PIPELINE_CACHE_HEADER_VERSION_ONE),+ VkPipelineColorBlendStateCreateFlagBits(..),+ VkPipelineCreateBitmask(VkPipelineCreateBitmask,+ VkPipelineCreateFlags, VkPipelineCreateFlagBits,+ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,+ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,+ VK_PIPELINE_CREATE_DERIVATIVE_BIT),+ VkPipelineCreateFlags, VkPipelineCreateFlagBits,+ VkPipelineDepthStencilStateCreateFlagBits(..),+ VkPipelineDynamicStateCreateFlagBits(..),+ VkPipelineInputAssemblyStateCreateFlagBits(..),+ VkPipelineLayoutCreateFlagBits(..),+ VkPipelineMultisampleStateCreateFlagBits(..),+ VkPipelineRasterizationStateCreateFlagBits(..),+ VkPipelineShaderStageCreateFlagBits(..),+ VkPipelineStageBitmask(VkPipelineStageBitmask,+ VkPipelineStageFlags, VkPipelineStageFlagBits,+ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,+ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,+ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,+ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,+ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,+ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,+ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,+ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,+ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,+ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,+ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,+ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,+ VK_PIPELINE_STAGE_TRANSFER_BIT,+ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_HOST_BIT,+ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,+ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT),+ VkPipelineStageFlags, VkPipelineStageFlagBits,+ VkPipelineTessellationStateCreateFlagBits(..),+ VkPipelineVertexInputStateCreateFlagBits(..),+ VkPipelineViewportStateCreateFlagBits(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineBindPoint VkPipelineBindPoint registry at www.khronos.org>+newtype VkPipelineBindPoint = VkPipelineBindPoint Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPipelineBindPoint where+ showsPrec _ VK_PIPELINE_BIND_POINT_GRAPHICS+ = showString "VK_PIPELINE_BIND_POINT_GRAPHICS"+ showsPrec _ VK_PIPELINE_BIND_POINT_COMPUTE+ = showString "VK_PIPELINE_BIND_POINT_COMPUTE"+ showsPrec p (VkPipelineBindPoint x)+ = showParen (p >= 11)+ (showString "VkPipelineBindPoint " . showsPrec 11 x)++instance Read VkPipelineBindPoint where+ readPrec+ = parens+ (choose+ [("VK_PIPELINE_BIND_POINT_GRAPHICS",+ pure VK_PIPELINE_BIND_POINT_GRAPHICS),+ ("VK_PIPELINE_BIND_POINT_COMPUTE",+ pure VK_PIPELINE_BIND_POINT_COMPUTE)]+ ++++ prec 10+ (expectP (Ident "VkPipelineBindPoint") >>+ (VkPipelineBindPoint <$> step readPrec)))++pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint++pattern VK_PIPELINE_BIND_POINT_GRAPHICS = VkPipelineBindPoint 0++pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint++pattern VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint 1++newtype VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineCacheCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineCacheCreateFlagBits x) = show x++instance Read VkPipelineCacheCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion registry at www.khronos.org>+newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkPipelineCacheHeaderVersion where+ showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE+ = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"+ showsPrec p (VkPipelineCacheHeaderVersion x)+ = showParen (p >= 11)+ (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)++instance Read VkPipelineCacheHeaderVersion where+ readPrec+ = parens+ (choose+ [("VK_PIPELINE_CACHE_HEADER_VERSION_ONE",+ pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)]+ ++++ prec 10+ (expectP (Ident "VkPipelineCacheHeaderVersion") >>+ (VkPipelineCacheHeaderVersion <$> step readPrec)))++pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE ::+ VkPipelineCacheHeaderVersion++pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE =+ VkPipelineCacheHeaderVersion 1++newtype VkPipelineColorBlendStateCreateFlagBits = VkPipelineColorBlendStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real,+ Data, Generic)++instance Show VkPipelineColorBlendStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineColorBlendStateCreateFlagBits x) = show x++instance Read VkPipelineColorBlendStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineCreateBitmask (a ::+ FlagType) = VkPipelineCreateBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask++type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit++pattern VkPipelineCreateFlagBits ::+ VkFlags -> VkPipelineCreateBitmask FlagBit++pattern VkPipelineCreateFlagBits n = VkPipelineCreateBitmask n++pattern VkPipelineCreateFlags ::+ VkFlags -> VkPipelineCreateBitmask FlagMask++pattern VkPipelineCreateFlags n = VkPipelineCreateBitmask n++deriving instance Bits (VkPipelineCreateBitmask FlagMask)++deriving instance FiniteBits (VkPipelineCreateBitmask FlagMask)++deriving instance Integral (VkPipelineCreateBitmask FlagMask)++deriving instance Num (VkPipelineCreateBitmask FlagMask)++deriving instance Bounded (VkPipelineCreateBitmask FlagMask)++deriving instance Enum (VkPipelineCreateBitmask FlagMask)++deriving instance Real (VkPipelineCreateBitmask FlagMask)++instance Show (VkPipelineCreateBitmask a) where+ showsPrec _ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT+ = showString "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"+ showsPrec _ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT+ = showString "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"+ showsPrec _ VK_PIPELINE_CREATE_DERIVATIVE_BIT+ = showString "VK_PIPELINE_CREATE_DERIVATIVE_BIT"+ showsPrec p (VkPipelineCreateBitmask x)+ = showParen (p >= 11)+ (showString "VkPipelineCreateBitmask " . showsPrec 11 x)++instance Read (VkPipelineCreateBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT",+ pure VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT),+ ("VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT",+ pure VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT),+ ("VK_PIPELINE_CREATE_DERIVATIVE_BIT",+ pure VK_PIPELINE_CREATE_DERIVATIVE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkPipelineCreateBitmask") >>+ (VkPipelineCreateBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT ::+ VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT =+ VkPipelineCreateBitmask 1++-- | bitpos = @1@+pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT ::+ VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT =+ VkPipelineCreateBitmask 2++-- | bitpos = @2@+pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT ::+ VkPipelineCreateBitmask a++pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT =+ VkPipelineCreateBitmask 4++newtype VkPipelineDepthStencilStateCreateFlagBits = VkPipelineDepthStencilStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits,+ Storable, Real, Data, Generic)++instance Show VkPipelineDepthStencilStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineDepthStencilStateCreateFlagBits x) = show x++instance Read VkPipelineDepthStencilStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineDynamicStateCreateFlagBits = VkPipelineDynamicStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkPipelineDynamicStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineDynamicStateCreateFlagBits x) = show x++instance Read VkPipelineDynamicStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineInputAssemblyStateCreateFlagBits = VkPipelineInputAssemblyStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits,+ Storable, Real, Data, Generic)++instance Show VkPipelineInputAssemblyStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineInputAssemblyStateCreateFlagBits x) = show x++instance Read VkPipelineInputAssemblyStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineLayoutCreateFlagBits = VkPipelineLayoutCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkPipelineLayoutCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineLayoutCreateFlagBits x) = show x++instance Read VkPipelineLayoutCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineMultisampleStateCreateFlagBits = VkPipelineMultisampleStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits, Storable,+ Real, Data, Generic)++instance Show VkPipelineMultisampleStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineMultisampleStateCreateFlagBits x) = show x++instance Read VkPipelineMultisampleStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineRasterizationStateCreateFlagBits = VkPipelineRasterizationStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits,+ Storable, Real, Data, Generic)++instance Show VkPipelineRasterizationStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineRasterizationStateCreateFlagBits x) = show x++instance Read VkPipelineRasterizationStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkPipelineShaderStageCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineShaderStageCreateFlagBits x) = show x++instance Read VkPipelineShaderStageCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineStageBitmask (a ::+ FlagType) = VkPipelineStageBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask++type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit++pattern VkPipelineStageFlagBits ::+ VkFlags -> VkPipelineStageBitmask FlagBit++pattern VkPipelineStageFlagBits n = VkPipelineStageBitmask n++pattern VkPipelineStageFlags ::+ VkFlags -> VkPipelineStageBitmask FlagMask++pattern VkPipelineStageFlags n = VkPipelineStageBitmask n++deriving instance Bits (VkPipelineStageBitmask FlagMask)++deriving instance FiniteBits (VkPipelineStageBitmask FlagMask)++deriving instance Integral (VkPipelineStageBitmask FlagMask)++deriving instance Num (VkPipelineStageBitmask FlagMask)++deriving instance Bounded (VkPipelineStageBitmask FlagMask)++deriving instance Enum (VkPipelineStageBitmask FlagMask)++deriving instance Real (VkPipelineStageBitmask FlagMask)++instance Show (VkPipelineStageBitmask a) where+ showsPrec _ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT+ = showString "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"+ showsPrec _ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT+ = showString "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"+ showsPrec _ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT+ = showString "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"+ showsPrec _ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT+ = showString "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT+ = showString "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT+ = showString "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT+ = showString "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT+ = showString "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT+ = showString "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"+ showsPrec _ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT+ = showString "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"+ showsPrec _ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT+ = showString "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"+ showsPrec _ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT+ = showString "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_TRANSFER_BIT+ = showString "VK_PIPELINE_STAGE_TRANSFER_BIT"+ showsPrec _ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT+ = showString "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"+ showsPrec _ VK_PIPELINE_STAGE_HOST_BIT+ = showString "VK_PIPELINE_STAGE_HOST_BIT"+ showsPrec _ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT+ = showString "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"+ showsPrec _ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT+ = showString "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"+ showsPrec p (VkPipelineStageBitmask x)+ = showParen (p >= 11)+ (showString "VkPipelineStageBitmask " . showsPrec 11 x)++instance Read (VkPipelineStageBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT",+ pure VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT),+ ("VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT",+ pure VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT),+ ("VK_PIPELINE_STAGE_VERTEX_INPUT_BIT",+ pure VK_PIPELINE_STAGE_VERTEX_INPUT_BIT),+ ("VK_PIPELINE_STAGE_VERTEX_SHADER_BIT",+ pure VK_PIPELINE_STAGE_VERTEX_SHADER_BIT),+ ("VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",+ pure VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT),+ ("VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",+ pure VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT),+ ("VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",+ pure VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT),+ ("VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT",+ pure VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT),+ ("VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT",+ pure VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT),+ ("VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT",+ pure VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT),+ ("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT",+ pure VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT),+ ("VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT",+ pure VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT),+ ("VK_PIPELINE_STAGE_TRANSFER_BIT",+ pure VK_PIPELINE_STAGE_TRANSFER_BIT),+ ("VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT",+ pure VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT),+ ("VK_PIPELINE_STAGE_HOST_BIT", pure VK_PIPELINE_STAGE_HOST_BIT),+ ("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT",+ pure VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT),+ ("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT",+ pure VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)]+ ++++ prec 10+ (expectP (Ident "VkPipelineStageBitmask") >>+ (VkPipelineStageBitmask <$> step readPrec)))++-- | Before subsequent commands are processed+--+-- bitpos = @0@+pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT =+ VkPipelineStageBitmask 1++-- | Draw/DispatchIndirect command fetch+--+-- bitpos = @1@+pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT =+ VkPipelineStageBitmask 2++-- | Vertex/index fetch+--+-- bitpos = @2@+pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT =+ VkPipelineStageBitmask 4++-- | Vertex shading+--+-- bitpos = @3@+pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT =+ VkPipelineStageBitmask 8++-- | Tessellation control shading+--+-- bitpos = @4@+pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT =+ VkPipelineStageBitmask 16++-- | Tessellation evaluation shading+--+-- bitpos = @5@+pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT =+ VkPipelineStageBitmask 32++-- | Geometry shading+--+-- bitpos = @6@+pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT =+ VkPipelineStageBitmask 64++-- | Fragment shading+--+-- bitpos = @7@+pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT =+ VkPipelineStageBitmask 128++-- | Early fragment (depth and stencil) tests+--+-- bitpos = @8@+pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT =+ VkPipelineStageBitmask 256++-- | Late fragment (depth and stencil) tests+--+-- bitpos = @9@+pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT =+ VkPipelineStageBitmask 512++-- | Color attachment writes+--+-- bitpos = @10@+pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT =+ VkPipelineStageBitmask 1024++-- | Compute shading+--+-- bitpos = @11@+pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT =+ VkPipelineStageBitmask 2048++-- | Transfer/copy operations+--+-- bitpos = @12@+pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_TRANSFER_BIT =+ VkPipelineStageBitmask 4096++-- | After previous commands have completed+--+-- bitpos = @13@+pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT =+ VkPipelineStageBitmask 8192++-- | Indicates host (CPU) is a source/sink of the dependency+--+-- bitpos = @14@+pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_HOST_BIT = VkPipelineStageBitmask 16384++-- | All stages of the graphics pipeline+--+-- bitpos = @15@+pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT =+ VkPipelineStageBitmask 32768++-- | All stages supported on the queue+--+-- bitpos = @16@+pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT ::+ VkPipelineStageBitmask a++pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT =+ VkPipelineStageBitmask 65536++newtype VkPipelineTessellationStateCreateFlagBits = VkPipelineTessellationStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits,+ Storable, Real, Data, Generic)++instance Show VkPipelineTessellationStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineTessellationStateCreateFlagBits x) = show x++instance Read VkPipelineTessellationStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineVertexInputStateCreateFlagBits = VkPipelineVertexInputStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum,+ Integral, Bits, FiniteBits, Storable,+ Real, Data, Generic)++instance Show VkPipelineVertexInputStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineVertexInputStateCreateFlagBits x) = show x++instance Read VkPipelineVertexInputStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkPipelineViewportStateCreateFlagBits = VkPipelineViewportStateCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral,+ Bits, FiniteBits, Storable, Real, Data,+ Generic)++instance Show VkPipelineViewportStateCreateFlagBits where+ {-# INLINE show #-}+ show (VkPipelineViewportStateCreateFlagBits x) = show x++instance Read VkPipelineViewportStateCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,76 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.PointClippingBehavior+ (VkPointClippingBehavior(VkPointClippingBehavior,+ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,+ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY),+ VkPointClippingBehaviorKHR(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPointClippingBehavior VkPointClippingBehavior registry at www.khronos.org>+newtype VkPointClippingBehavior = VkPointClippingBehavior Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPointClippingBehavior where+ showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES+ = showString "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"+ showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY+ = showString "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"+ showsPrec p (VkPointClippingBehavior x)+ = showParen (p >= 11)+ (showString "VkPointClippingBehavior " . showsPrec 11 x)++instance Read VkPointClippingBehavior where+ readPrec+ = parens+ (choose+ [("VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES",+ pure VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES),+ ("VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY",+ pure VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY)]+ ++++ prec 10+ (expectP (Ident "VkPointClippingBehavior") >>+ (VkPointClippingBehavior <$> step readPrec)))++pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES ::+ VkPointClippingBehavior++pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES =+ VkPointClippingBehavior 0++pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY ::+ VkPointClippingBehavior++pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY =+ VkPointClippingBehavior 1++newtype VkPointClippingBehaviorKHR = VkPointClippingBehaviorKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkPointClippingBehaviorKHR where+ {-# INLINE show #-}+ show (VkPointClippingBehaviorKHR x) = show x++instance Read VkPointClippingBehaviorKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,60 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.PolygonMode+ (VkPolygonMode(VkPolygonMode, VK_POLYGON_MODE_FILL,+ VK_POLYGON_MODE_LINE, VK_POLYGON_MODE_POINT))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPolygonMode VkPolygonMode registry at www.khronos.org>+newtype VkPolygonMode = VkPolygonMode Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPolygonMode where+ showsPrec _ VK_POLYGON_MODE_FILL+ = showString "VK_POLYGON_MODE_FILL"+ showsPrec _ VK_POLYGON_MODE_LINE+ = showString "VK_POLYGON_MODE_LINE"+ showsPrec _ VK_POLYGON_MODE_POINT+ = showString "VK_POLYGON_MODE_POINT"+ showsPrec p (VkPolygonMode x)+ = showParen (p >= 11)+ (showString "VkPolygonMode " . showsPrec 11 x)++instance Read VkPolygonMode where+ readPrec+ = parens+ (choose+ [("VK_POLYGON_MODE_FILL", pure VK_POLYGON_MODE_FILL),+ ("VK_POLYGON_MODE_LINE", pure VK_POLYGON_MODE_LINE),+ ("VK_POLYGON_MODE_POINT", pure VK_POLYGON_MODE_POINT)]+ ++++ prec 10+ (expectP (Ident "VkPolygonMode") >>+ (VkPolygonMode <$> step readPrec)))++pattern VK_POLYGON_MODE_FILL :: VkPolygonMode++pattern VK_POLYGON_MODE_FILL = VkPolygonMode 0++pattern VK_POLYGON_MODE_LINE :: VkPolygonMode++pattern VK_POLYGON_MODE_LINE = VkPolygonMode 1++pattern VK_POLYGON_MODE_POINT :: VkPolygonMode++pattern VK_POLYGON_MODE_POINT = VkPolygonMode 2
@@ -0,0 +1,70 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.PresentModeKHR+ (VkPresentModeKHR(VkPresentModeKHR, VK_PRESENT_MODE_IMMEDIATE_KHR,+ VK_PRESENT_MODE_MAILBOX_KHR, VK_PRESENT_MODE_FIFO_KHR,+ VK_PRESENT_MODE_FIFO_RELAXED_KHR))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentModeKHR VkPresentModeKHR registry at www.khronos.org>+newtype VkPresentModeKHR = VkPresentModeKHR Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPresentModeKHR where+ showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR+ = showString "VK_PRESENT_MODE_IMMEDIATE_KHR"+ showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR+ = showString "VK_PRESENT_MODE_MAILBOX_KHR"+ showsPrec _ VK_PRESENT_MODE_FIFO_KHR+ = showString "VK_PRESENT_MODE_FIFO_KHR"+ showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR+ = showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"+ showsPrec p (VkPresentModeKHR x)+ = showParen (p >= 11)+ (showString "VkPresentModeKHR " . showsPrec 11 x)++instance Read VkPresentModeKHR where+ readPrec+ = parens+ (choose+ [("VK_PRESENT_MODE_IMMEDIATE_KHR",+ pure VK_PRESENT_MODE_IMMEDIATE_KHR),+ ("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR),+ ("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR),+ ("VK_PRESENT_MODE_FIFO_RELAXED_KHR",+ pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)]+ ++++ prec 10+ (expectP (Ident "VkPresentModeKHR") >>+ (VkPresentModeKHR <$> step readPrec)))++pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR 0++pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR 1++pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_FIFO_KHR = VkPresentModeKHR 2++pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR++pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR = VkPresentModeKHR 3
@@ -0,0 +1,145 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.PrimitiveTopology+ (VkPrimitiveTopology(VkPrimitiveTopology,+ VK_PRIMITIVE_TOPOLOGY_POINT_LIST, VK_PRIMITIVE_TOPOLOGY_LINE_LIST,+ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,+ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,+ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,+ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,+ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,+ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,+ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,+ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,+ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPrimitiveTopology VkPrimitiveTopology registry at www.khronos.org>+newtype VkPrimitiveTopology = VkPrimitiveTopology Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkPrimitiveTopology where+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_POINT_LIST+ = showString "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST+ = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP+ = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST+ = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP+ = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN+ = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY+ = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY+ = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY+ = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY+ = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"+ showsPrec _ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST+ = showString "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"+ showsPrec p (VkPrimitiveTopology x)+ = showParen (p >= 11)+ (showString "VkPrimitiveTopology " . showsPrec 11 x)++instance Read VkPrimitiveTopology where+ readPrec+ = parens+ (choose+ [("VK_PRIMITIVE_TOPOLOGY_POINT_LIST",+ pure VK_PRIMITIVE_TOPOLOGY_POINT_LIST),+ ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST",+ pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST),+ ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP",+ pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP),+ ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST",+ pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST),+ ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP",+ pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP),+ ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN",+ pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN),+ ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY",+ pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY),+ ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY",+ pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY),+ ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY",+ pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY),+ ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY",+ pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY),+ ("VK_PRIMITIVE_TOPOLOGY_PATCH_LIST",+ pure VK_PRIMITIVE_TOPOLOGY_PATCH_LIST)]+ ++++ prec 10+ (expectP (Ident "VkPrimitiveTopology") >>+ (VkPrimitiveTopology <$> step readPrec)))++pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST = VkPrimitiveTopology 0++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST = VkPrimitiveTopology 1++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = VkPrimitiveTopology 2++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = VkPrimitiveTopology 3++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP =+ VkPrimitiveTopology 4++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = VkPrimitiveTopology 5++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY ::+ VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY =+ VkPrimitiveTopology 6++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY ::+ VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY =+ VkPrimitiveTopology 7++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY ::+ VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY =+ VkPrimitiveTopology 8++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY ::+ VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY =+ VkPrimitiveTopology 9++pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology++pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = VkPrimitiveTopology 10
@@ -0,0 +1,465 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Query+ (VkQueryControlBitmask(VkQueryControlBitmask, VkQueryControlFlags,+ VkQueryControlFlagBits, VK_QUERY_CONTROL_PRECISE_BIT),+ VkQueryControlFlags, VkQueryControlFlagBits,+ VkQueryPipelineStatisticBitmask(VkQueryPipelineStatisticBitmask,+ VkQueryPipelineStatisticFlags,+ VkQueryPipelineStatisticFlagBits,+ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,+ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,+ VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,+ VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,+ VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,+ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,+ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,+ VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,+ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,+ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,+ VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT),+ VkQueryPipelineStatisticFlags, VkQueryPipelineStatisticFlagBits,+ VkQueryPoolCreateFlagBits(..),+ VkQueryResultBitmask(VkQueryResultBitmask, VkQueryResultFlags,+ VkQueryResultFlagBits, VK_QUERY_RESULT_64_BIT,+ VK_QUERY_RESULT_WAIT_BIT, VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,+ VK_QUERY_RESULT_PARTIAL_BIT),+ VkQueryResultFlags, VkQueryResultFlagBits,+ VkQueryType(VkQueryType, VK_QUERY_TYPE_OCCLUSION,+ VK_QUERY_TYPE_PIPELINE_STATISTICS, VK_QUERY_TYPE_TIMESTAMP))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkQueryControlBitmask (a ::+ FlagType) = VkQueryControlBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkQueryControlFlags = VkQueryControlBitmask FlagMask++type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit++pattern VkQueryControlFlagBits ::+ VkFlags -> VkQueryControlBitmask FlagBit++pattern VkQueryControlFlagBits n = VkQueryControlBitmask n++pattern VkQueryControlFlags ::+ VkFlags -> VkQueryControlBitmask FlagMask++pattern VkQueryControlFlags n = VkQueryControlBitmask n++deriving instance Bits (VkQueryControlBitmask FlagMask)++deriving instance FiniteBits (VkQueryControlBitmask FlagMask)++deriving instance Integral (VkQueryControlBitmask FlagMask)++deriving instance Num (VkQueryControlBitmask FlagMask)++deriving instance Bounded (VkQueryControlBitmask FlagMask)++deriving instance Enum (VkQueryControlBitmask FlagMask)++deriving instance Real (VkQueryControlBitmask FlagMask)++instance Show (VkQueryControlBitmask a) where+ showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT+ = showString "VK_QUERY_CONTROL_PRECISE_BIT"+ showsPrec p (VkQueryControlBitmask x)+ = showParen (p >= 11)+ (showString "VkQueryControlBitmask " . showsPrec 11 x)++instance Read (VkQueryControlBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_QUERY_CONTROL_PRECISE_BIT",+ pure VK_QUERY_CONTROL_PRECISE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkQueryControlBitmask") >>+ (VkQueryControlBitmask <$> step readPrec)))++-- | Require precise results to be collected by the query+--+-- bitpos = @0@+pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a++pattern VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlBitmask 1++newtype VkQueryPipelineStatisticBitmask (a ::+ FlagType) = VkQueryPipelineStatisticBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkQueryPipelineStatisticFlags =+ VkQueryPipelineStatisticBitmask FlagMask++type VkQueryPipelineStatisticFlagBits =+ VkQueryPipelineStatisticBitmask FlagBit++pattern VkQueryPipelineStatisticFlagBits ::+ VkFlags -> VkQueryPipelineStatisticBitmask FlagBit++pattern VkQueryPipelineStatisticFlagBits n =+ VkQueryPipelineStatisticBitmask n++pattern VkQueryPipelineStatisticFlags ::+ VkFlags -> VkQueryPipelineStatisticBitmask FlagMask++pattern VkQueryPipelineStatisticFlags n =+ VkQueryPipelineStatisticBitmask n++deriving instance Bits (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance+ FiniteBits (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance+ Integral (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance Num (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance+ Bounded (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance Enum (VkQueryPipelineStatisticBitmask FlagMask)++deriving instance Real (VkQueryPipelineStatisticBitmask FlagMask)++instance Show (VkQueryPipelineStatisticBitmask a) where+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT+ = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"+ showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT+ = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"+ showsPrec _+ VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+ = showString+ "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"+ showsPrec p (VkQueryPipelineStatisticBitmask x)+ = showParen (p >= 11)+ (showString "VkQueryPipelineStatisticBitmask " . showsPrec 11 x)++instance Read (VkQueryPipelineStatisticBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT",+ pure+ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT",+ pure+ VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT),+ ("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT",+ pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)]+ ++++ prec 10+ (expectP (Ident "VkQueryPipelineStatisticBitmask") >>+ (VkQueryPipelineStatisticBitmask <$> step readPrec)))++-- | Optional+--+-- bitpos = @0@+pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT ::+ VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT =+ VkQueryPipelineStatisticBitmask 1++-- | Optional+--+-- bitpos = @1@+pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT =+ VkQueryPipelineStatisticBitmask 2++-- | Optional+--+-- bitpos = @2@+pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT =+ VkQueryPipelineStatisticBitmask 4++-- | Optional+--+-- bitpos = @3@+pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT+ = VkQueryPipelineStatisticBitmask 8++-- | Optional+--+-- bitpos = @4@+pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT+ = VkQueryPipelineStatisticBitmask 16++-- | Optional+--+-- bitpos = @5@+pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT ::+ VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT =+ VkQueryPipelineStatisticBitmask 32++-- | Optional+--+-- bitpos = @6@+pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT ::+ VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT =+ VkQueryPipelineStatisticBitmask 64++-- | Optional+--+-- bitpos = @7@+pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT+ = VkQueryPipelineStatisticBitmask 128++-- | Optional+--+-- bitpos = @8@+pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT+ = VkQueryPipelineStatisticBitmask 256++-- | Optional+--+-- bitpos = @9@+pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT+ = VkQueryPipelineStatisticBitmask 512++-- | Optional+--+-- bitpos = @10@+pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+ :: VkQueryPipelineStatisticBitmask a++pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT+ = VkQueryPipelineStatisticBitmask 1024++newtype VkQueryPoolCreateFlagBits = VkQueryPoolCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkQueryPoolCreateFlagBits where+ {-# INLINE show #-}+ show (VkQueryPoolCreateFlagBits x) = show x++instance Read VkQueryPoolCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkQueryResultBitmask (a ::+ FlagType) = VkQueryResultBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkQueryResultFlags = VkQueryResultBitmask FlagMask++type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit++pattern VkQueryResultFlagBits ::+ VkFlags -> VkQueryResultBitmask FlagBit++pattern VkQueryResultFlagBits n = VkQueryResultBitmask n++pattern VkQueryResultFlags ::+ VkFlags -> VkQueryResultBitmask FlagMask++pattern VkQueryResultFlags n = VkQueryResultBitmask n++deriving instance Bits (VkQueryResultBitmask FlagMask)++deriving instance FiniteBits (VkQueryResultBitmask FlagMask)++deriving instance Integral (VkQueryResultBitmask FlagMask)++deriving instance Num (VkQueryResultBitmask FlagMask)++deriving instance Bounded (VkQueryResultBitmask FlagMask)++deriving instance Enum (VkQueryResultBitmask FlagMask)++deriving instance Real (VkQueryResultBitmask FlagMask)++instance Show (VkQueryResultBitmask a) where+ showsPrec _ VK_QUERY_RESULT_64_BIT+ = showString "VK_QUERY_RESULT_64_BIT"+ showsPrec _ VK_QUERY_RESULT_WAIT_BIT+ = showString "VK_QUERY_RESULT_WAIT_BIT"+ showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT+ = showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"+ showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT+ = showString "VK_QUERY_RESULT_PARTIAL_BIT"+ showsPrec p (VkQueryResultBitmask x)+ = showParen (p >= 11)+ (showString "VkQueryResultBitmask " . showsPrec 11 x)++instance Read (VkQueryResultBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT),+ ("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT),+ ("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT",+ pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT),+ ("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)]+ ++++ prec 10+ (expectP (Ident "VkQueryResultBitmask") >>+ (VkQueryResultBitmask <$> step readPrec)))++-- | Results of the queries are written to the destination buffer as 64-bit values+--+-- bitpos = @0@+pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a++pattern VK_QUERY_RESULT_64_BIT = VkQueryResultBitmask 1++-- | Results of the queries are waited on before proceeding with the result copy+--+-- bitpos = @1@+pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a++pattern VK_QUERY_RESULT_WAIT_BIT = VkQueryResultBitmask 2++-- | Besides the results of the query, the availability of the results is also written+--+-- bitpos = @2@+pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT ::+ VkQueryResultBitmask a++pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT =+ VkQueryResultBitmask 4++-- | Copy the partial results of the query even if the final results are not available+--+-- bitpos = @3@+pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a++pattern VK_QUERY_RESULT_PARTIAL_BIT = VkQueryResultBitmask 8++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueryType VkQueryType registry at www.khronos.org>+newtype VkQueryType = VkQueryType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkQueryType where+ showsPrec _ VK_QUERY_TYPE_OCCLUSION+ = showString "VK_QUERY_TYPE_OCCLUSION"+ showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS+ = showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"+ showsPrec _ VK_QUERY_TYPE_TIMESTAMP+ = showString "VK_QUERY_TYPE_TIMESTAMP"+ showsPrec p (VkQueryType x)+ = showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)++instance Read VkQueryType where+ readPrec+ = parens+ (choose+ [("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION),+ ("VK_QUERY_TYPE_PIPELINE_STATISTICS",+ pure VK_QUERY_TYPE_PIPELINE_STATISTICS),+ ("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)]+ ++++ prec 10+ (expectP (Ident "VkQueryType") >> (VkQueryType <$> step readPrec)))++pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType++pattern VK_QUERY_TYPE_OCCLUSION = VkQueryType 0++-- | Optional+pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType++pattern VK_QUERY_TYPE_PIPELINE_STATISTICS = VkQueryType 1++pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType++pattern VK_QUERY_TYPE_TIMESTAMP = VkQueryType 2
@@ -0,0 +1,176 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Queue+ (VkQueueBitmask(VkQueueBitmask, VkQueueFlags, VkQueueFlagBits,+ VK_QUEUE_GRAPHICS_BIT, VK_QUEUE_COMPUTE_BIT, VK_QUEUE_TRANSFER_BIT,+ VK_QUEUE_SPARSE_BINDING_BIT),+ VkQueueFlags, VkQueueFlagBits,+ VkQueueGlobalPriorityEXT(VkQueueGlobalPriorityEXT,+ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,+ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,+ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,+ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkQueueBitmask (a :: FlagType) = VkQueueBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkQueueFlags = VkQueueBitmask FlagMask++type VkQueueFlagBits = VkQueueBitmask FlagBit++pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit++pattern VkQueueFlagBits n = VkQueueBitmask n++pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask++pattern VkQueueFlags n = VkQueueBitmask n++deriving instance Bits (VkQueueBitmask FlagMask)++deriving instance FiniteBits (VkQueueBitmask FlagMask)++deriving instance Integral (VkQueueBitmask FlagMask)++deriving instance Num (VkQueueBitmask FlagMask)++deriving instance Bounded (VkQueueBitmask FlagMask)++deriving instance Enum (VkQueueBitmask FlagMask)++deriving instance Real (VkQueueBitmask FlagMask)++instance Show (VkQueueBitmask a) where+ showsPrec _ VK_QUEUE_GRAPHICS_BIT+ = showString "VK_QUEUE_GRAPHICS_BIT"+ showsPrec _ VK_QUEUE_COMPUTE_BIT+ = showString "VK_QUEUE_COMPUTE_BIT"+ showsPrec _ VK_QUEUE_TRANSFER_BIT+ = showString "VK_QUEUE_TRANSFER_BIT"+ showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT+ = showString "VK_QUEUE_SPARSE_BINDING_BIT"+ showsPrec p (VkQueueBitmask x)+ = showParen (p >= 11)+ (showString "VkQueueBitmask " . showsPrec 11 x)++instance Read (VkQueueBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT),+ ("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT),+ ("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT),+ ("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)]+ ++++ prec 10+ (expectP (Ident "VkQueueBitmask") >>+ (VkQueueBitmask <$> step readPrec)))++-- | Queue supports graphics operations+--+-- bitpos = @0@+pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a++pattern VK_QUEUE_GRAPHICS_BIT = VkQueueBitmask 1++-- | Queue supports compute operations+--+-- bitpos = @1@+pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a++pattern VK_QUEUE_COMPUTE_BIT = VkQueueBitmask 2++-- | Queue supports transfer operations+--+-- bitpos = @2@+pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a++pattern VK_QUEUE_TRANSFER_BIT = VkQueueBitmask 4++-- | Queue supports sparse resource memory management operations+--+-- bitpos = @3@+pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a++pattern VK_QUEUE_SPARSE_BINDING_BIT = VkQueueBitmask 8++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT registry at www.khronos.org>+newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkQueueGlobalPriorityEXT where+ showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT+ = showString "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"+ showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT+ = showString "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"+ showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT+ = showString "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"+ showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT+ = showString "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"+ showsPrec p (VkQueueGlobalPriorityEXT x)+ = showParen (p >= 11)+ (showString "VkQueueGlobalPriorityEXT " . showsPrec 11 x)++instance Read VkQueueGlobalPriorityEXT where+ readPrec+ = parens+ (choose+ [("VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT",+ pure VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT),+ ("VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT",+ pure VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT),+ ("VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT",+ pure VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT),+ ("VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT",+ pure VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT)]+ ++++ prec 10+ (expectP (Ident "VkQueueGlobalPriorityEXT") >>+ (VkQueueGlobalPriorityEXT <$> step readPrec)))++pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT ::+ VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT =+ VkQueueGlobalPriorityEXT 128++pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT ::+ VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT =+ VkQueueGlobalPriorityEXT 256++pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT ::+ VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT =+ VkQueueGlobalPriorityEXT 512++pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT ::+ VkQueueGlobalPriorityEXT++pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT =+ VkQueueGlobalPriorityEXT 1024
@@ -0,0 +1,60 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.RasterizationOrderAMD+ (VkRasterizationOrderAMD(VkRasterizationOrderAMD,+ VK_RASTERIZATION_ORDER_STRICT_AMD,+ VK_RASTERIZATION_ORDER_RELAXED_AMD))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRasterizationOrderAMD VkRasterizationOrderAMD registry at www.khronos.org>+newtype VkRasterizationOrderAMD = VkRasterizationOrderAMD Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkRasterizationOrderAMD where+ showsPrec _ VK_RASTERIZATION_ORDER_STRICT_AMD+ = showString "VK_RASTERIZATION_ORDER_STRICT_AMD"+ showsPrec _ VK_RASTERIZATION_ORDER_RELAXED_AMD+ = showString "VK_RASTERIZATION_ORDER_RELAXED_AMD"+ showsPrec p (VkRasterizationOrderAMD x)+ = showParen (p >= 11)+ (showString "VkRasterizationOrderAMD " . showsPrec 11 x)++instance Read VkRasterizationOrderAMD where+ readPrec+ = parens+ (choose+ [("VK_RASTERIZATION_ORDER_STRICT_AMD",+ pure VK_RASTERIZATION_ORDER_STRICT_AMD),+ ("VK_RASTERIZATION_ORDER_RELAXED_AMD",+ pure VK_RASTERIZATION_ORDER_RELAXED_AMD)]+ ++++ prec 10+ (expectP (Ident "VkRasterizationOrderAMD") >>+ (VkRasterizationOrderAMD <$> step readPrec)))++pattern VK_RASTERIZATION_ORDER_STRICT_AMD ::+ VkRasterizationOrderAMD++pattern VK_RASTERIZATION_ORDER_STRICT_AMD =+ VkRasterizationOrderAMD 0++pattern VK_RASTERIZATION_ORDER_RELAXED_AMD ::+ VkRasterizationOrderAMD++pattern VK_RASTERIZATION_ORDER_RELAXED_AMD =+ VkRasterizationOrderAMD 1
@@ -0,0 +1,25 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.RenderPassCreateFlagBits+ (VkRenderPassCreateFlagBits(..)) where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)++newtype VkRenderPassCreateFlagBits = VkRenderPassCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkRenderPassCreateFlagBits where+ {-# INLINE show #-}+ show (VkRenderPassCreateFlagBits x) = show x++instance Read VkRenderPassCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,190 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.Result+ (VkResult(VkResult, VK_SUCCESS, VK_NOT_READY, VK_TIMEOUT,+ VK_EVENT_SET, VK_EVENT_RESET, VK_INCOMPLETE,+ VK_ERROR_OUT_OF_HOST_MEMORY, VK_ERROR_OUT_OF_DEVICE_MEMORY,+ VK_ERROR_INITIALIZATION_FAILED, VK_ERROR_DEVICE_LOST,+ VK_ERROR_MEMORY_MAP_FAILED, VK_ERROR_LAYER_NOT_PRESENT,+ VK_ERROR_EXTENSION_NOT_PRESENT, VK_ERROR_FEATURE_NOT_PRESENT,+ VK_ERROR_INCOMPATIBLE_DRIVER, VK_ERROR_TOO_MANY_OBJECTS,+ VK_ERROR_FORMAT_NOT_SUPPORTED, VK_ERROR_FRAGMENTED_POOL))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | API result codes+--+-- type = @enum@+--+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkResult VkResult registry at www.khronos.org>+newtype VkResult = VkResult Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkResult where+ showsPrec _ VK_SUCCESS = showString "VK_SUCCESS"+ showsPrec _ VK_NOT_READY = showString "VK_NOT_READY"+ showsPrec _ VK_TIMEOUT = showString "VK_TIMEOUT"+ showsPrec _ VK_EVENT_SET = showString "VK_EVENT_SET"+ showsPrec _ VK_EVENT_RESET = showString "VK_EVENT_RESET"+ showsPrec _ VK_INCOMPLETE = showString "VK_INCOMPLETE"+ showsPrec _ VK_ERROR_OUT_OF_HOST_MEMORY+ = showString "VK_ERROR_OUT_OF_HOST_MEMORY"+ showsPrec _ VK_ERROR_OUT_OF_DEVICE_MEMORY+ = showString "VK_ERROR_OUT_OF_DEVICE_MEMORY"+ showsPrec _ VK_ERROR_INITIALIZATION_FAILED+ = showString "VK_ERROR_INITIALIZATION_FAILED"+ showsPrec _ VK_ERROR_DEVICE_LOST+ = showString "VK_ERROR_DEVICE_LOST"+ showsPrec _ VK_ERROR_MEMORY_MAP_FAILED+ = showString "VK_ERROR_MEMORY_MAP_FAILED"+ showsPrec _ VK_ERROR_LAYER_NOT_PRESENT+ = showString "VK_ERROR_LAYER_NOT_PRESENT"+ showsPrec _ VK_ERROR_EXTENSION_NOT_PRESENT+ = showString "VK_ERROR_EXTENSION_NOT_PRESENT"+ showsPrec _ VK_ERROR_FEATURE_NOT_PRESENT+ = showString "VK_ERROR_FEATURE_NOT_PRESENT"+ showsPrec _ VK_ERROR_INCOMPATIBLE_DRIVER+ = showString "VK_ERROR_INCOMPATIBLE_DRIVER"+ showsPrec _ VK_ERROR_TOO_MANY_OBJECTS+ = showString "VK_ERROR_TOO_MANY_OBJECTS"+ showsPrec _ VK_ERROR_FORMAT_NOT_SUPPORTED+ = showString "VK_ERROR_FORMAT_NOT_SUPPORTED"+ showsPrec _ VK_ERROR_FRAGMENTED_POOL+ = showString "VK_ERROR_FRAGMENTED_POOL"+ showsPrec p (VkResult x)+ = showParen (p >= 11) (showString "VkResult " . showsPrec 11 x)++instance Read VkResult where+ readPrec+ = parens+ (choose+ [("VK_SUCCESS", pure VK_SUCCESS),+ ("VK_NOT_READY", pure VK_NOT_READY),+ ("VK_TIMEOUT", pure VK_TIMEOUT),+ ("VK_EVENT_SET", pure VK_EVENT_SET),+ ("VK_EVENT_RESET", pure VK_EVENT_RESET),+ ("VK_INCOMPLETE", pure VK_INCOMPLETE),+ ("VK_ERROR_OUT_OF_HOST_MEMORY", pure VK_ERROR_OUT_OF_HOST_MEMORY),+ ("VK_ERROR_OUT_OF_DEVICE_MEMORY",+ pure VK_ERROR_OUT_OF_DEVICE_MEMORY),+ ("VK_ERROR_INITIALIZATION_FAILED",+ pure VK_ERROR_INITIALIZATION_FAILED),+ ("VK_ERROR_DEVICE_LOST", pure VK_ERROR_DEVICE_LOST),+ ("VK_ERROR_MEMORY_MAP_FAILED", pure VK_ERROR_MEMORY_MAP_FAILED),+ ("VK_ERROR_LAYER_NOT_PRESENT", pure VK_ERROR_LAYER_NOT_PRESENT),+ ("VK_ERROR_EXTENSION_NOT_PRESENT",+ pure VK_ERROR_EXTENSION_NOT_PRESENT),+ ("VK_ERROR_FEATURE_NOT_PRESENT",+ pure VK_ERROR_FEATURE_NOT_PRESENT),+ ("VK_ERROR_INCOMPATIBLE_DRIVER",+ pure VK_ERROR_INCOMPATIBLE_DRIVER),+ ("VK_ERROR_TOO_MANY_OBJECTS", pure VK_ERROR_TOO_MANY_OBJECTS),+ ("VK_ERROR_FORMAT_NOT_SUPPORTED",+ pure VK_ERROR_FORMAT_NOT_SUPPORTED),+ ("VK_ERROR_FRAGMENTED_POOL", pure VK_ERROR_FRAGMENTED_POOL)]+ ++++ prec 10+ (expectP (Ident "VkResult") >> (VkResult <$> step readPrec)))++-- | Command completed successfully+pattern VK_SUCCESS :: VkResult++pattern VK_SUCCESS = VkResult 0++-- | A fence or query has not yet completed+pattern VK_NOT_READY :: VkResult++pattern VK_NOT_READY = VkResult 1++-- | A wait operation has not completed in the specified time+pattern VK_TIMEOUT :: VkResult++pattern VK_TIMEOUT = VkResult 2++-- | An event is signaled+pattern VK_EVENT_SET :: VkResult++pattern VK_EVENT_SET = VkResult 3++-- | An event is unsignaled+pattern VK_EVENT_RESET :: VkResult++pattern VK_EVENT_RESET = VkResult 4++-- | A return array was too small for the result+pattern VK_INCOMPLETE :: VkResult++pattern VK_INCOMPLETE = VkResult 5++-- | A host memory allocation has failed+pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_HOST_MEMORY = VkResult (-1)++-- | A device memory allocation has failed+pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult++pattern VK_ERROR_OUT_OF_DEVICE_MEMORY = VkResult (-2)++-- | Initialization of a object has failed+pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult++pattern VK_ERROR_INITIALIZATION_FAILED = VkResult (-3)++-- | The logical device has been lost. See <<devsandqueues-lost-device>>+pattern VK_ERROR_DEVICE_LOST :: VkResult++pattern VK_ERROR_DEVICE_LOST = VkResult (-4)++-- | Mapping of a memory object has failed+pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult++pattern VK_ERROR_MEMORY_MAP_FAILED = VkResult (-5)++-- | Layer specified does not exist+pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult++pattern VK_ERROR_LAYER_NOT_PRESENT = VkResult (-6)++-- | Extension specified does not exist+pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult++pattern VK_ERROR_EXTENSION_NOT_PRESENT = VkResult (-7)++-- | Requested feature is not available on this device+pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult++pattern VK_ERROR_FEATURE_NOT_PRESENT = VkResult (-8)++-- | Unable to find a Vulkan driver+pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult++pattern VK_ERROR_INCOMPATIBLE_DRIVER = VkResult (-9)++-- | Too many objects of the type have already been created+pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult++pattern VK_ERROR_TOO_MANY_OBJECTS = VkResult (-10)++-- | Requested format is not supported on this device+pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult++pattern VK_ERROR_FORMAT_NOT_SUPPORTED = VkResult (-11)++-- | A requested pool allocation has failed due to fragmentation of the pool's memory+pattern VK_ERROR_FRAGMENTED_POOL :: VkResult++pattern VK_ERROR_FRAGMENTED_POOL = VkResult (-12)
@@ -0,0 +1,145 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.SampleCountFlags+ (VkSampleCountBitmask(VkSampleCountBitmask, VkSampleCountFlags,+ VkSampleCountFlagBits, VK_SAMPLE_COUNT_1_BIT,+ VK_SAMPLE_COUNT_2_BIT, VK_SAMPLE_COUNT_4_BIT,+ VK_SAMPLE_COUNT_8_BIT, VK_SAMPLE_COUNT_16_BIT,+ VK_SAMPLE_COUNT_32_BIT, VK_SAMPLE_COUNT_64_BIT),+ VkSampleCountFlags, VkSampleCountFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkSampleCountBitmask (a ::+ FlagType) = VkSampleCountBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSampleCountFlags = VkSampleCountBitmask FlagMask++type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit++pattern VkSampleCountFlagBits ::+ VkFlags -> VkSampleCountBitmask FlagBit++pattern VkSampleCountFlagBits n = VkSampleCountBitmask n++pattern VkSampleCountFlags ::+ VkFlags -> VkSampleCountBitmask FlagMask++pattern VkSampleCountFlags n = VkSampleCountBitmask n++deriving instance Bits (VkSampleCountBitmask FlagMask)++deriving instance FiniteBits (VkSampleCountBitmask FlagMask)++deriving instance Integral (VkSampleCountBitmask FlagMask)++deriving instance Num (VkSampleCountBitmask FlagMask)++deriving instance Bounded (VkSampleCountBitmask FlagMask)++deriving instance Enum (VkSampleCountBitmask FlagMask)++deriving instance Real (VkSampleCountBitmask FlagMask)++instance Show (VkSampleCountBitmask a) where+ showsPrec _ VK_SAMPLE_COUNT_1_BIT+ = showString "VK_SAMPLE_COUNT_1_BIT"+ showsPrec _ VK_SAMPLE_COUNT_2_BIT+ = showString "VK_SAMPLE_COUNT_2_BIT"+ showsPrec _ VK_SAMPLE_COUNT_4_BIT+ = showString "VK_SAMPLE_COUNT_4_BIT"+ showsPrec _ VK_SAMPLE_COUNT_8_BIT+ = showString "VK_SAMPLE_COUNT_8_BIT"+ showsPrec _ VK_SAMPLE_COUNT_16_BIT+ = showString "VK_SAMPLE_COUNT_16_BIT"+ showsPrec _ VK_SAMPLE_COUNT_32_BIT+ = showString "VK_SAMPLE_COUNT_32_BIT"+ showsPrec _ VK_SAMPLE_COUNT_64_BIT+ = showString "VK_SAMPLE_COUNT_64_BIT"+ showsPrec p (VkSampleCountBitmask x)+ = showParen (p >= 11)+ (showString "VkSampleCountBitmask " . showsPrec 11 x)++instance Read (VkSampleCountBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_SAMPLE_COUNT_1_BIT", pure VK_SAMPLE_COUNT_1_BIT),+ ("VK_SAMPLE_COUNT_2_BIT", pure VK_SAMPLE_COUNT_2_BIT),+ ("VK_SAMPLE_COUNT_4_BIT", pure VK_SAMPLE_COUNT_4_BIT),+ ("VK_SAMPLE_COUNT_8_BIT", pure VK_SAMPLE_COUNT_8_BIT),+ ("VK_SAMPLE_COUNT_16_BIT", pure VK_SAMPLE_COUNT_16_BIT),+ ("VK_SAMPLE_COUNT_32_BIT", pure VK_SAMPLE_COUNT_32_BIT),+ ("VK_SAMPLE_COUNT_64_BIT", pure VK_SAMPLE_COUNT_64_BIT)]+ ++++ prec 10+ (expectP (Ident "VkSampleCountBitmask") >>+ (VkSampleCountBitmask <$> step readPrec)))++-- | Sample count 1 supported+--+-- bitpos = @0@+pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_1_BIT = VkSampleCountBitmask 1++-- | Sample count 2 supported+--+-- bitpos = @1@+pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_2_BIT = VkSampleCountBitmask 2++-- | Sample count 4 supported+--+-- bitpos = @2@+pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_4_BIT = VkSampleCountBitmask 4++-- | Sample count 8 supported+--+-- bitpos = @3@+pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_8_BIT = VkSampleCountBitmask 8++-- | Sample count 16 supported+--+-- bitpos = @4@+pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_16_BIT = VkSampleCountBitmask 16++-- | Sample count 32 supported+--+-- bitpos = @5@+pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_32_BIT = VkSampleCountBitmask 32++-- | Sample count 64 supported+--+-- bitpos = @6@+pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a++pattern VK_SAMPLE_COUNT_64_BIT = VkSampleCountBitmask 64
@@ -0,0 +1,339 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.Sampler+ (VkSamplerAddressMode(VkSamplerAddressMode,+ VK_SAMPLER_ADDRESS_MODE_REPEAT,+ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,+ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,+ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER),+ VkSamplerCreateFlagBits(..),+ VkSamplerMipmapMode(VkSamplerMipmapMode,+ VK_SAMPLER_MIPMAP_MODE_NEAREST, VK_SAMPLER_MIPMAP_MODE_LINEAR),+ VkSamplerReductionModeEXT(VkSamplerReductionModeEXT,+ VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,+ VK_SAMPLER_REDUCTION_MODE_MIN_EXT,+ VK_SAMPLER_REDUCTION_MODE_MAX_EXT),+ VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion,+ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,+ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,+ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,+ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,+ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020),+ VkSamplerYcbcrModelConversionKHR(..),+ VkSamplerYcbcrRange(VkSamplerYcbcrRange,+ VK_SAMPLER_YCBCR_RANGE_ITU_FULL,+ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW),+ VkSamplerYcbcrRangeKHR(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerAddressMode VkSamplerAddressMode registry at www.khronos.org>+newtype VkSamplerAddressMode = VkSamplerAddressMode Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSamplerAddressMode where+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_REPEAT+ = showString "VK_SAMPLER_ADDRESS_MODE_REPEAT"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT+ = showString "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE+ = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"+ showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER+ = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"+ showsPrec p (VkSamplerAddressMode x)+ = showParen (p >= 11)+ (showString "VkSamplerAddressMode " . showsPrec 11 x)++instance Read VkSamplerAddressMode where+ readPrec+ = parens+ (choose+ [("VK_SAMPLER_ADDRESS_MODE_REPEAT",+ pure VK_SAMPLER_ADDRESS_MODE_REPEAT),+ ("VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT",+ pure VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT),+ ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE",+ pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE),+ ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER",+ pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)]+ ++++ prec 10+ (expectP (Ident "VkSamplerAddressMode") >>+ (VkSamplerAddressMode <$> step readPrec)))++pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode 0++pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT ::+ VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT =+ VkSamplerAddressMode 1++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE ::+ VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE =+ VkSamplerAddressMode 2++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER ::+ VkSamplerAddressMode++pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER =+ VkSamplerAddressMode 3++newtype VkSamplerCreateFlagBits = VkSamplerCreateFlagBits VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkSamplerCreateFlagBits where+ {-# INLINE show #-}+ show (VkSamplerCreateFlagBits x) = show x++instance Read VkSamplerCreateFlagBits where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerMipmapMode VkSamplerMipmapMode registry at www.khronos.org>+newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSamplerMipmapMode where+ showsPrec _ VK_SAMPLER_MIPMAP_MODE_NEAREST+ = showString "VK_SAMPLER_MIPMAP_MODE_NEAREST"+ showsPrec _ VK_SAMPLER_MIPMAP_MODE_LINEAR+ = showString "VK_SAMPLER_MIPMAP_MODE_LINEAR"+ showsPrec p (VkSamplerMipmapMode x)+ = showParen (p >= 11)+ (showString "VkSamplerMipmapMode " . showsPrec 11 x)++instance Read VkSamplerMipmapMode where+ readPrec+ = parens+ (choose+ [("VK_SAMPLER_MIPMAP_MODE_NEAREST",+ pure VK_SAMPLER_MIPMAP_MODE_NEAREST),+ ("VK_SAMPLER_MIPMAP_MODE_LINEAR",+ pure VK_SAMPLER_MIPMAP_MODE_LINEAR)]+ ++++ prec 10+ (expectP (Ident "VkSamplerMipmapMode") >>+ (VkSamplerMipmapMode <$> step readPrec)))++-- | Choose nearest mip level+pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode++pattern VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode 0++-- | Linear filter between mip levels+pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode++pattern VK_SAMPLER_MIPMAP_MODE_LINEAR = VkSamplerMipmapMode 1++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerReductionModeEXT VkSamplerReductionModeEXT registry at www.khronos.org>+newtype VkSamplerReductionModeEXT = VkSamplerReductionModeEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkSamplerReductionModeEXT where+ showsPrec _ VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT+ = showString "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT"+ showsPrec _ VK_SAMPLER_REDUCTION_MODE_MIN_EXT+ = showString "VK_SAMPLER_REDUCTION_MODE_MIN_EXT"+ showsPrec _ VK_SAMPLER_REDUCTION_MODE_MAX_EXT+ = showString "VK_SAMPLER_REDUCTION_MODE_MAX_EXT"+ showsPrec p (VkSamplerReductionModeEXT x)+ = showParen (p >= 11)+ (showString "VkSamplerReductionModeEXT " . showsPrec 11 x)++instance Read VkSamplerReductionModeEXT where+ readPrec+ = parens+ (choose+ [("VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT",+ pure VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT),+ ("VK_SAMPLER_REDUCTION_MODE_MIN_EXT",+ pure VK_SAMPLER_REDUCTION_MODE_MIN_EXT),+ ("VK_SAMPLER_REDUCTION_MODE_MAX_EXT",+ pure VK_SAMPLER_REDUCTION_MODE_MAX_EXT)]+ ++++ prec 10+ (expectP (Ident "VkSamplerReductionModeEXT") >>+ (VkSamplerReductionModeEXT <$> step readPrec)))++pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT ::+ VkSamplerReductionModeEXT++pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT =+ VkSamplerReductionModeEXT 0++pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT ::+ VkSamplerReductionModeEXT++pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT =+ VkSamplerReductionModeEXT 1++pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT ::+ VkSamplerReductionModeEXT++pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT =+ VkSamplerReductionModeEXT 2++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion registry at www.khronos.org>+newtype VkSamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkSamplerYcbcrModelConversion where+ showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY+ = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"+ showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY+ = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"+ showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709+ = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"+ showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601+ = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"+ showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020+ = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"+ showsPrec p (VkSamplerYcbcrModelConversion x)+ = showParen (p >= 11)+ (showString "VkSamplerYcbcrModelConversion " . showsPrec 11 x)++instance Read VkSamplerYcbcrModelConversion where+ readPrec+ = parens+ (choose+ [("VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY",+ pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY),+ ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY",+ pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY),+ ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709",+ pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709),+ ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601",+ pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601),+ ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020",+ pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020)]+ ++++ prec 10+ (expectP (Ident "VkSamplerYcbcrModelConversion") >>+ (VkSamplerYcbcrModelConversion <$> step readPrec)))++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ::+ VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY =+ VkSamplerYcbcrModelConversion 0++-- | just range expansion+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY ::+ VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY =+ VkSamplerYcbcrModelConversion 1++-- | aka HD YUV+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 ::+ VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 =+ VkSamplerYcbcrModelConversion 2++-- | aka SD YUV+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 ::+ VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 =+ VkSamplerYcbcrModelConversion 3++-- | aka UHD YUV+pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 ::+ VkSamplerYcbcrModelConversion++pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 =+ VkSamplerYcbcrModelConversion 4++newtype VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversionKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkSamplerYcbcrModelConversionKHR where+ {-# INLINE show #-}+ show (VkSamplerYcbcrModelConversionKHR x) = show x++instance Read VkSamplerYcbcrModelConversionKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrRange VkSamplerYcbcrRange registry at www.khronos.org>+newtype VkSamplerYcbcrRange = VkSamplerYcbcrRange Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSamplerYcbcrRange where+ showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_FULL+ = showString "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"+ showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW+ = showString "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"+ showsPrec p (VkSamplerYcbcrRange x)+ = showParen (p >= 11)+ (showString "VkSamplerYcbcrRange " . showsPrec 11 x)++instance Read VkSamplerYcbcrRange where+ readPrec+ = parens+ (choose+ [("VK_SAMPLER_YCBCR_RANGE_ITU_FULL",+ pure VK_SAMPLER_YCBCR_RANGE_ITU_FULL),+ ("VK_SAMPLER_YCBCR_RANGE_ITU_NARROW",+ pure VK_SAMPLER_YCBCR_RANGE_ITU_NARROW)]+ ++++ prec 10+ (expectP (Ident "VkSamplerYcbcrRange") >>+ (VkSamplerYcbcrRange <$> step readPrec)))++-- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped)+pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange++pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL = VkSamplerYcbcrRange 0++-- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240+pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange++pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = VkSamplerYcbcrRange 1++newtype VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRangeKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkSamplerYcbcrRangeKHR where+ {-# INLINE show #-}+ show (VkSamplerYcbcrRangeKHR x) = show x++instance Read VkSamplerYcbcrRangeKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,98 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag+ (VkSemaphoreImportFlagBitsKHR(..),+ VkSemaphoreImportBitmask(VkSemaphoreImportBitmask,+ VkSemaphoreImportFlags, VkSemaphoreImportFlagBits,+ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT),+ VkSemaphoreImportFlags, VkSemaphoreImportFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBitsKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkSemaphoreImportFlagBitsKHR where+ {-# INLINE show #-}+ show (VkSemaphoreImportFlagBitsKHR x) = show x++instance Read VkSemaphoreImportFlagBitsKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)++newtype VkSemaphoreImportBitmask (a ::+ FlagType) = VkSemaphoreImportBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask++type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit++pattern VkSemaphoreImportFlagBits ::+ VkFlags -> VkSemaphoreImportBitmask FlagBit++pattern VkSemaphoreImportFlagBits n = VkSemaphoreImportBitmask n++pattern VkSemaphoreImportFlags ::+ VkFlags -> VkSemaphoreImportBitmask FlagMask++pattern VkSemaphoreImportFlags n = VkSemaphoreImportBitmask n++deriving instance Bits (VkSemaphoreImportBitmask FlagMask)++deriving instance FiniteBits (VkSemaphoreImportBitmask FlagMask)++deriving instance Integral (VkSemaphoreImportBitmask FlagMask)++deriving instance Num (VkSemaphoreImportBitmask FlagMask)++deriving instance Bounded (VkSemaphoreImportBitmask FlagMask)++deriving instance Enum (VkSemaphoreImportBitmask FlagMask)++deriving instance Real (VkSemaphoreImportBitmask FlagMask)++instance Show (VkSemaphoreImportBitmask a) where+ showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT+ = showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"+ showsPrec p (VkSemaphoreImportBitmask x)+ = showParen (p >= 11)+ (showString "VkSemaphoreImportBitmask " . showsPrec 11 x)++instance Read (VkSemaphoreImportBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT",+ pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)]+ ++++ prec 10+ (expectP (Ident "VkSemaphoreImportBitmask") >>+ (VkSemaphoreImportBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT ::+ VkSemaphoreImportBitmask a++pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT =+ VkSemaphoreImportBitmask 1
@@ -0,0 +1,195 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Shader+ (VkShaderInfoTypeAMD(VkShaderInfoTypeAMD,+ VK_SHADER_INFO_TYPE_STATISTICS_AMD, VK_SHADER_INFO_TYPE_BINARY_AMD,+ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD),+ VkShaderStageBitmask(VkShaderStageBitmask, VkShaderStageFlags,+ VkShaderStageFlagBits, VK_SHADER_STAGE_VERTEX_BIT,+ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,+ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,+ VK_SHADER_STAGE_GEOMETRY_BIT, VK_SHADER_STAGE_FRAGMENT_BIT,+ VK_SHADER_STAGE_COMPUTE_BIT, VK_SHADER_STAGE_ALL_GRAPHICS,+ VK_SHADER_STAGE_ALL),+ VkShaderStageFlags, VkShaderStageFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderInfoTypeAMD VkShaderInfoTypeAMD registry at www.khronos.org>+newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkShaderInfoTypeAMD where+ showsPrec _ VK_SHADER_INFO_TYPE_STATISTICS_AMD+ = showString "VK_SHADER_INFO_TYPE_STATISTICS_AMD"+ showsPrec _ VK_SHADER_INFO_TYPE_BINARY_AMD+ = showString "VK_SHADER_INFO_TYPE_BINARY_AMD"+ showsPrec _ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD+ = showString "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"+ showsPrec p (VkShaderInfoTypeAMD x)+ = showParen (p >= 11)+ (showString "VkShaderInfoTypeAMD " . showsPrec 11 x)++instance Read VkShaderInfoTypeAMD where+ readPrec+ = parens+ (choose+ [("VK_SHADER_INFO_TYPE_STATISTICS_AMD",+ pure VK_SHADER_INFO_TYPE_STATISTICS_AMD),+ ("VK_SHADER_INFO_TYPE_BINARY_AMD",+ pure VK_SHADER_INFO_TYPE_BINARY_AMD),+ ("VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD",+ pure VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD)]+ ++++ prec 10+ (expectP (Ident "VkShaderInfoTypeAMD") >>+ (VkShaderInfoTypeAMD <$> step readPrec)))++pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD++pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD = VkShaderInfoTypeAMD 0++pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD++pattern VK_SHADER_INFO_TYPE_BINARY_AMD = VkShaderInfoTypeAMD 1++pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD++pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD 2++newtype VkShaderStageBitmask (a ::+ FlagType) = VkShaderStageBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkShaderStageFlags = VkShaderStageBitmask FlagMask++type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit++pattern VkShaderStageFlagBits ::+ VkFlags -> VkShaderStageBitmask FlagBit++pattern VkShaderStageFlagBits n = VkShaderStageBitmask n++pattern VkShaderStageFlags ::+ VkFlags -> VkShaderStageBitmask FlagMask++pattern VkShaderStageFlags n = VkShaderStageBitmask n++deriving instance Bits (VkShaderStageBitmask FlagMask)++deriving instance FiniteBits (VkShaderStageBitmask FlagMask)++deriving instance Integral (VkShaderStageBitmask FlagMask)++deriving instance Num (VkShaderStageBitmask FlagMask)++deriving instance Bounded (VkShaderStageBitmask FlagMask)++deriving instance Enum (VkShaderStageBitmask FlagMask)++deriving instance Real (VkShaderStageBitmask FlagMask)++instance Show (VkShaderStageBitmask a) where+ showsPrec _ VK_SHADER_STAGE_VERTEX_BIT+ = showString "VK_SHADER_STAGE_VERTEX_BIT"+ showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT+ = showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"+ showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT+ = showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"+ showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT+ = showString "VK_SHADER_STAGE_GEOMETRY_BIT"+ showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT+ = showString "VK_SHADER_STAGE_FRAGMENT_BIT"+ showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT+ = showString "VK_SHADER_STAGE_COMPUTE_BIT"+ showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS+ = showString "VK_SHADER_STAGE_ALL_GRAPHICS"+ showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"+ showsPrec p (VkShaderStageBitmask x)+ = showParen (p >= 11)+ (showString "VkShaderStageBitmask " . showsPrec 11 x)++instance Read (VkShaderStageBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT),+ ("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",+ pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),+ ("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",+ pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),+ ("VK_SHADER_STAGE_GEOMETRY_BIT",+ pure VK_SHADER_STAGE_GEOMETRY_BIT),+ ("VK_SHADER_STAGE_FRAGMENT_BIT",+ pure VK_SHADER_STAGE_FRAGMENT_BIT),+ ("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT),+ ("VK_SHADER_STAGE_ALL_GRAPHICS",+ pure VK_SHADER_STAGE_ALL_GRAPHICS),+ ("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)]+ ++++ prec 10+ (expectP (Ident "VkShaderStageBitmask") >>+ (VkShaderStageBitmask <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageBitmask 1++-- | bitpos = @1@+pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT ::+ VkShaderStageBitmask a++pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT =+ VkShaderStageBitmask 2++-- | bitpos = @2@+pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT ::+ VkShaderStageBitmask a++pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT =+ VkShaderStageBitmask 4++-- | bitpos = @3@+pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageBitmask 8++-- | bitpos = @4@+pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageBitmask 16++-- | bitpos = @5@+pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageBitmask 32++pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageBitmask 31++pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a++pattern VK_SHADER_STAGE_ALL = VkShaderStageBitmask 2147483647
@@ -0,0 +1,53 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.SharingMode+ (VkSharingMode(VkSharingMode, VK_SHARING_MODE_EXCLUSIVE,+ VK_SHARING_MODE_CONCURRENT))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSharingMode VkSharingMode registry at www.khronos.org>+newtype VkSharingMode = VkSharingMode Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSharingMode where+ showsPrec _ VK_SHARING_MODE_EXCLUSIVE+ = showString "VK_SHARING_MODE_EXCLUSIVE"+ showsPrec _ VK_SHARING_MODE_CONCURRENT+ = showString "VK_SHARING_MODE_CONCURRENT"+ showsPrec p (VkSharingMode x)+ = showParen (p >= 11)+ (showString "VkSharingMode " . showsPrec 11 x)++instance Read VkSharingMode where+ readPrec+ = parens+ (choose+ [("VK_SHARING_MODE_EXCLUSIVE", pure VK_SHARING_MODE_EXCLUSIVE),+ ("VK_SHARING_MODE_CONCURRENT", pure VK_SHARING_MODE_CONCURRENT)]+ ++++ prec 10+ (expectP (Ident "VkSharingMode") >>+ (VkSharingMode <$> step readPrec)))++pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode++pattern VK_SHARING_MODE_EXCLUSIVE = VkSharingMode 0++pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode++pattern VK_SHARING_MODE_CONCURRENT = VkSharingMode 1
@@ -0,0 +1,179 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Sparse+ (VkSparseImageFormatBitmask(VkSparseImageFormatBitmask,+ VkSparseImageFormatFlags, VkSparseImageFormatFlagBits,+ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,+ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,+ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT),+ VkSparseImageFormatFlags, VkSparseImageFormatFlagBits,+ VkSparseMemoryBindBitmask(VkSparseMemoryBindBitmask,+ VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits,+ VK_SPARSE_MEMORY_BIND_METADATA_BIT),+ VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkSparseImageFormatBitmask (a ::+ FlagType) = VkSparseImageFormatBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask++type VkSparseImageFormatFlagBits =+ VkSparseImageFormatBitmask FlagBit++pattern VkSparseImageFormatFlagBits ::+ VkFlags -> VkSparseImageFormatBitmask FlagBit++pattern VkSparseImageFormatFlagBits n =+ VkSparseImageFormatBitmask n++pattern VkSparseImageFormatFlags ::+ VkFlags -> VkSparseImageFormatBitmask FlagMask++pattern VkSparseImageFormatFlags n = VkSparseImageFormatBitmask n++deriving instance Bits (VkSparseImageFormatBitmask FlagMask)++deriving instance FiniteBits (VkSparseImageFormatBitmask FlagMask)++deriving instance Integral (VkSparseImageFormatBitmask FlagMask)++deriving instance Num (VkSparseImageFormatBitmask FlagMask)++deriving instance Bounded (VkSparseImageFormatBitmask FlagMask)++deriving instance Enum (VkSparseImageFormatBitmask FlagMask)++deriving instance Real (VkSparseImageFormatBitmask FlagMask)++instance Show (VkSparseImageFormatBitmask a) where+ showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT+ = showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"+ showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT+ = showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"+ showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT+ = showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"+ showsPrec p (VkSparseImageFormatBitmask x)+ = showParen (p >= 11)+ (showString "VkSparseImageFormatBitmask " . showsPrec 11 x)++instance Read (VkSparseImageFormatBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT",+ pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT),+ ("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT",+ pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT),+ ("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT",+ pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)]+ ++++ prec 10+ (expectP (Ident "VkSparseImageFormatBitmask") >>+ (VkSparseImageFormatBitmask <$> step readPrec)))++-- | Image uses a single mip tail region for all array layers+--+-- bitpos = @0@+pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT ::+ VkSparseImageFormatBitmask a++pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT =+ VkSparseImageFormatBitmask 1++-- | Image requires mip level dimensions to be an integer multiple of the sparse image block dimensions for non-tail mip levels.+--+-- bitpos = @1@+pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT ::+ VkSparseImageFormatBitmask a++pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT =+ VkSparseImageFormatBitmask 2++-- | Image uses a non-standard sparse image block dimensions+--+-- bitpos = @2@+pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT ::+ VkSparseImageFormatBitmask a++pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT =+ VkSparseImageFormatBitmask 4++newtype VkSparseMemoryBindBitmask (a ::+ FlagType) = VkSparseMemoryBindBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask++type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit++pattern VkSparseMemoryBindFlagBits ::+ VkFlags -> VkSparseMemoryBindBitmask FlagBit++pattern VkSparseMemoryBindFlagBits n = VkSparseMemoryBindBitmask n++pattern VkSparseMemoryBindFlags ::+ VkFlags -> VkSparseMemoryBindBitmask FlagMask++pattern VkSparseMemoryBindFlags n = VkSparseMemoryBindBitmask n++deriving instance Bits (VkSparseMemoryBindBitmask FlagMask)++deriving instance FiniteBits (VkSparseMemoryBindBitmask FlagMask)++deriving instance Integral (VkSparseMemoryBindBitmask FlagMask)++deriving instance Num (VkSparseMemoryBindBitmask FlagMask)++deriving instance Bounded (VkSparseMemoryBindBitmask FlagMask)++deriving instance Enum (VkSparseMemoryBindBitmask FlagMask)++deriving instance Real (VkSparseMemoryBindBitmask FlagMask)++instance Show (VkSparseMemoryBindBitmask a) where+ showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT+ = showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"+ showsPrec p (VkSparseMemoryBindBitmask x)+ = showParen (p >= 11)+ (showString "VkSparseMemoryBindBitmask " . showsPrec 11 x)++instance Read (VkSparseMemoryBindBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_SPARSE_MEMORY_BIND_METADATA_BIT",+ pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)]+ ++++ prec 10+ (expectP (Ident "VkSparseMemoryBindBitmask") >>+ (VkSparseMemoryBindBitmask <$> step readPrec)))++-- | Operation binds resource metadata to memory+--+-- bitpos = @0@+pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT ::+ VkSparseMemoryBindBitmask a++pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT =+ VkSparseMemoryBindBitmask 1
@@ -0,0 +1,183 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Stencil+ (VkStencilFaceBitmask(VkStencilFaceBitmask, VkStencilFaceFlags,+ VkStencilFaceFlagBits, VK_STENCIL_FACE_FRONT_BIT,+ VK_STENCIL_FACE_BACK_BIT, VK_STENCIL_FRONT_AND_BACK),+ VkStencilFaceFlags, VkStencilFaceFlagBits,+ VkStencilOp(VkStencilOp, VK_STENCIL_OP_KEEP, VK_STENCIL_OP_ZERO,+ VK_STENCIL_OP_REPLACE, VK_STENCIL_OP_INCREMENT_AND_CLAMP,+ VK_STENCIL_OP_DECREMENT_AND_CLAMP, VK_STENCIL_OP_INVERT,+ VK_STENCIL_OP_INCREMENT_AND_WRAP,+ VK_STENCIL_OP_DECREMENT_AND_WRAP))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkStencilFaceBitmask (a ::+ FlagType) = VkStencilFaceBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask++type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit++pattern VkStencilFaceFlagBits ::+ VkFlags -> VkStencilFaceBitmask FlagBit++pattern VkStencilFaceFlagBits n = VkStencilFaceBitmask n++pattern VkStencilFaceFlags ::+ VkFlags -> VkStencilFaceBitmask FlagMask++pattern VkStencilFaceFlags n = VkStencilFaceBitmask n++deriving instance Bits (VkStencilFaceBitmask FlagMask)++deriving instance FiniteBits (VkStencilFaceBitmask FlagMask)++deriving instance Integral (VkStencilFaceBitmask FlagMask)++deriving instance Num (VkStencilFaceBitmask FlagMask)++deriving instance Bounded (VkStencilFaceBitmask FlagMask)++deriving instance Enum (VkStencilFaceBitmask FlagMask)++deriving instance Real (VkStencilFaceBitmask FlagMask)++instance Show (VkStencilFaceBitmask a) where+ showsPrec _ VK_STENCIL_FACE_FRONT_BIT+ = showString "VK_STENCIL_FACE_FRONT_BIT"+ showsPrec _ VK_STENCIL_FACE_BACK_BIT+ = showString "VK_STENCIL_FACE_BACK_BIT"+ showsPrec _ VK_STENCIL_FRONT_AND_BACK+ = showString "VK_STENCIL_FRONT_AND_BACK"+ showsPrec p (VkStencilFaceBitmask x)+ = showParen (p >= 11)+ (showString "VkStencilFaceBitmask " . showsPrec 11 x)++instance Read (VkStencilFaceBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_STENCIL_FACE_FRONT_BIT", pure VK_STENCIL_FACE_FRONT_BIT),+ ("VK_STENCIL_FACE_BACK_BIT", pure VK_STENCIL_FACE_BACK_BIT),+ ("VK_STENCIL_FRONT_AND_BACK", pure VK_STENCIL_FRONT_AND_BACK)]+ ++++ prec 10+ (expectP (Ident "VkStencilFaceBitmask") >>+ (VkStencilFaceBitmask <$> step readPrec)))++-- | Front face+--+-- bitpos = @0@+pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a++pattern VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceBitmask 1++-- | Back face+--+-- bitpos = @1@+pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a++pattern VK_STENCIL_FACE_BACK_BIT = VkStencilFaceBitmask 2++-- | Front and back faces+pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a++pattern VK_STENCIL_FRONT_AND_BACK = VkStencilFaceBitmask 3++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkStencilOp VkStencilOp registry at www.khronos.org>+newtype VkStencilOp = VkStencilOp Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkStencilOp where+ showsPrec _ VK_STENCIL_OP_KEEP = showString "VK_STENCIL_OP_KEEP"+ showsPrec _ VK_STENCIL_OP_ZERO = showString "VK_STENCIL_OP_ZERO"+ showsPrec _ VK_STENCIL_OP_REPLACE+ = showString "VK_STENCIL_OP_REPLACE"+ showsPrec _ VK_STENCIL_OP_INCREMENT_AND_CLAMP+ = showString "VK_STENCIL_OP_INCREMENT_AND_CLAMP"+ showsPrec _ VK_STENCIL_OP_DECREMENT_AND_CLAMP+ = showString "VK_STENCIL_OP_DECREMENT_AND_CLAMP"+ showsPrec _ VK_STENCIL_OP_INVERT+ = showString "VK_STENCIL_OP_INVERT"+ showsPrec _ VK_STENCIL_OP_INCREMENT_AND_WRAP+ = showString "VK_STENCIL_OP_INCREMENT_AND_WRAP"+ showsPrec _ VK_STENCIL_OP_DECREMENT_AND_WRAP+ = showString "VK_STENCIL_OP_DECREMENT_AND_WRAP"+ showsPrec p (VkStencilOp x)+ = showParen (p >= 11) (showString "VkStencilOp " . showsPrec 11 x)++instance Read VkStencilOp where+ readPrec+ = parens+ (choose+ [("VK_STENCIL_OP_KEEP", pure VK_STENCIL_OP_KEEP),+ ("VK_STENCIL_OP_ZERO", pure VK_STENCIL_OP_ZERO),+ ("VK_STENCIL_OP_REPLACE", pure VK_STENCIL_OP_REPLACE),+ ("VK_STENCIL_OP_INCREMENT_AND_CLAMP",+ pure VK_STENCIL_OP_INCREMENT_AND_CLAMP),+ ("VK_STENCIL_OP_DECREMENT_AND_CLAMP",+ pure VK_STENCIL_OP_DECREMENT_AND_CLAMP),+ ("VK_STENCIL_OP_INVERT", pure VK_STENCIL_OP_INVERT),+ ("VK_STENCIL_OP_INCREMENT_AND_WRAP",+ pure VK_STENCIL_OP_INCREMENT_AND_WRAP),+ ("VK_STENCIL_OP_DECREMENT_AND_WRAP",+ pure VK_STENCIL_OP_DECREMENT_AND_WRAP)]+ ++++ prec 10+ (expectP (Ident "VkStencilOp") >> (VkStencilOp <$> step readPrec)))++pattern VK_STENCIL_OP_KEEP :: VkStencilOp++pattern VK_STENCIL_OP_KEEP = VkStencilOp 0++pattern VK_STENCIL_OP_ZERO :: VkStencilOp++pattern VK_STENCIL_OP_ZERO = VkStencilOp 1++pattern VK_STENCIL_OP_REPLACE :: VkStencilOp++pattern VK_STENCIL_OP_REPLACE = VkStencilOp 2++pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp++pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP = VkStencilOp 3++pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp++pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP = VkStencilOp 4++pattern VK_STENCIL_OP_INVERT :: VkStencilOp++pattern VK_STENCIL_OP_INVERT = VkStencilOp 5++pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp++pattern VK_STENCIL_OP_INCREMENT_AND_WRAP = VkStencilOp 6++pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp++pattern VK_STENCIL_OP_DECREMENT_AND_WRAP = VkStencilOp 7
@@ -0,0 +1,559 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.StructureType+ (VkStructureType(VkStructureType,+ VK_STRUCTURE_TYPE_APPLICATION_INFO,+ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,+ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,+ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,+ VK_STRUCTURE_TYPE_SUBMIT_INFO,+ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,+ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,+ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,+ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,+ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,+ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,+ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,+ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,+ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,+ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,+ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,+ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,+ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,+ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,+ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,+ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,+ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,+ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,+ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,+ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,+ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,+ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,+ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,+ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,+ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,+ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,+ VK_STRUCTURE_TYPE_MEMORY_BARRIER,+ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,+ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | Structure type enumerant+--+-- type = @enum@+--+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkStructureType VkStructureType registry at www.khronos.org>+newtype VkStructureType = VkStructureType Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkStructureType where+ showsPrec _ VK_STRUCTURE_TYPE_APPLICATION_INFO+ = showString "VK_STRUCTURE_TYPE_APPLICATION_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SUBMIT_INFO+ = showString "VK_STRUCTURE_TYPE_SUBMIT_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO+ = showString "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE+ = showString "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"+ showsPrec _ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO+ = showString "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"+ showsPrec _+ VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO+ = showString+ "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO+ = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET+ = showString "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"+ showsPrec _ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET+ = showString "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"+ showsPrec _ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO+ = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO+ = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO+ = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO+ = showString "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER+ = showString "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"+ showsPrec _ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER+ = showString "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"+ showsPrec _ VK_STRUCTURE_TYPE_MEMORY_BARRIER+ = showString "VK_STRUCTURE_TYPE_MEMORY_BARRIER"+ showsPrec _ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"+ showsPrec _ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO+ = showString "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"+ showsPrec p (VkStructureType x)+ = showParen (p >= 11)+ (showString "VkStructureType " . showsPrec 11 x)++instance Read VkStructureType where+ readPrec+ = parens+ (choose+ [("VK_STRUCTURE_TYPE_APPLICATION_INFO",+ pure VK_STRUCTURE_TYPE_APPLICATION_INFO),+ ("VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_SUBMIT_INFO",+ pure VK_STRUCTURE_TYPE_SUBMIT_INFO),+ ("VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO",+ pure VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO),+ ("VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE",+ pure VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE),+ ("VK_STRUCTURE_TYPE_BIND_SPARSE_INFO",+ pure VK_STRUCTURE_TYPE_BIND_SPARSE_INFO),+ ("VK_STRUCTURE_TYPE_FENCE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_FENCE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_EVENT_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_EVENT_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO",+ pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO),+ ("VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET",+ pure VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET),+ ("VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET",+ pure VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET),+ ("VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO",+ pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO),+ ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO",+ pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO),+ ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO",+ pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO),+ ("VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO",+ pure VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO),+ ("VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",+ pure VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER),+ ("VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER",+ pure VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER),+ ("VK_STRUCTURE_TYPE_MEMORY_BARRIER",+ pure VK_STRUCTURE_TYPE_MEMORY_BARRIER),+ ("VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO),+ ("VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO",+ pure VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)]+ ++++ prec 10+ (expectP (Ident "VkStructureType") >>+ (VkStructureType <$> step readPrec)))++pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType 0++pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType 1++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO =+ VkStructureType 2++pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = VkStructureType 3++pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_SUBMIT_INFO = VkStructureType 4++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = VkStructureType 5++pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType++pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = VkStructureType 6++pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = VkStructureType 7++pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = VkStructureType 8++pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = VkStructureType 9++pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = VkStructureType 10++pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO =+ VkStructureType 11++pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = VkStructureType 12++pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO =+ VkStructureType 13++pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = VkStructureType 14++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO =+ VkStructureType 15++pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO =+ VkStructureType 16++pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO =+ VkStructureType 17++pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO =+ VkStructureType 18++pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO =+ VkStructureType 19++pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO+ = VkStructureType 20++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO =+ VkStructureType 21++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO =+ VkStructureType 22++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO+ = VkStructureType 23++pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO =+ VkStructureType 24++pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+ :: VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO+ = VkStructureType 25++pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO =+ VkStructureType 26++pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO =+ VkStructureType 27++pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO =+ VkStructureType 28++pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO =+ VkStructureType 29++pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO =+ VkStructureType 30++pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = VkStructureType 31++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO =+ VkStructureType 32++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO =+ VkStructureType 33++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO =+ VkStructureType 34++pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType++pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = VkStructureType 35++pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType++pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = VkStructureType 36++pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO =+ VkStructureType 37++pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO =+ VkStructureType 38++pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO =+ VkStructureType 39++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO =+ VkStructureType 40++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO =+ VkStructureType 41++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO =+ VkStructureType 42++pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType++pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO =+ VkStructureType 43++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType++pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER =+ VkStructureType 44++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType++pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = VkStructureType 45++pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType++pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER = VkStructureType 46++-- | Reserved for internal use by the loader, layers, and ICDs+pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO =+ VkStructureType 47++-- | Reserved for internal use by the loader, layers, and ICDs+pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO ::+ VkStructureType++pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO =+ VkStructureType 48
@@ -0,0 +1,174 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags+ (VkSubgroupFeatureBitmask(VkSubgroupFeatureBitmask,+ VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits,+ VK_SUBGROUP_FEATURE_BASIC_BIT, VK_SUBGROUP_FEATURE_VOTE_BIT,+ VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, VK_SUBGROUP_FEATURE_BALLOT_BIT,+ VK_SUBGROUP_FEATURE_SHUFFLE_BIT,+ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,+ VK_SUBGROUP_FEATURE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_QUAD_BIT),+ VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkSubgroupFeatureBitmask (a ::+ FlagType) = VkSubgroupFeatureBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask++type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit++pattern VkSubgroupFeatureFlagBits ::+ VkFlags -> VkSubgroupFeatureBitmask FlagBit++pattern VkSubgroupFeatureFlagBits n = VkSubgroupFeatureBitmask n++pattern VkSubgroupFeatureFlags ::+ VkFlags -> VkSubgroupFeatureBitmask FlagMask++pattern VkSubgroupFeatureFlags n = VkSubgroupFeatureBitmask n++deriving instance Bits (VkSubgroupFeatureBitmask FlagMask)++deriving instance FiniteBits (VkSubgroupFeatureBitmask FlagMask)++deriving instance Integral (VkSubgroupFeatureBitmask FlagMask)++deriving instance Num (VkSubgroupFeatureBitmask FlagMask)++deriving instance Bounded (VkSubgroupFeatureBitmask FlagMask)++deriving instance Enum (VkSubgroupFeatureBitmask FlagMask)++deriving instance Real (VkSubgroupFeatureBitmask FlagMask)++instance Show (VkSubgroupFeatureBitmask a) where+ showsPrec _ VK_SUBGROUP_FEATURE_BASIC_BIT+ = showString "VK_SUBGROUP_FEATURE_BASIC_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_VOTE_BIT+ = showString "VK_SUBGROUP_FEATURE_VOTE_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_ARITHMETIC_BIT+ = showString "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_BALLOT_BIT+ = showString "VK_SUBGROUP_FEATURE_BALLOT_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_BIT+ = showString "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT+ = showString "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_CLUSTERED_BIT+ = showString "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"+ showsPrec _ VK_SUBGROUP_FEATURE_QUAD_BIT+ = showString "VK_SUBGROUP_FEATURE_QUAD_BIT"+ showsPrec p (VkSubgroupFeatureBitmask x)+ = showParen (p >= 11)+ (showString "VkSubgroupFeatureBitmask " . showsPrec 11 x)++instance Read (VkSubgroupFeatureBitmask a) where+ readPrec+ = parens+ (choose+ [("VK_SUBGROUP_FEATURE_BASIC_BIT",+ pure VK_SUBGROUP_FEATURE_BASIC_BIT),+ ("VK_SUBGROUP_FEATURE_VOTE_BIT",+ pure VK_SUBGROUP_FEATURE_VOTE_BIT),+ ("VK_SUBGROUP_FEATURE_ARITHMETIC_BIT",+ pure VK_SUBGROUP_FEATURE_ARITHMETIC_BIT),+ ("VK_SUBGROUP_FEATURE_BALLOT_BIT",+ pure VK_SUBGROUP_FEATURE_BALLOT_BIT),+ ("VK_SUBGROUP_FEATURE_SHUFFLE_BIT",+ pure VK_SUBGROUP_FEATURE_SHUFFLE_BIT),+ ("VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT",+ pure VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT),+ ("VK_SUBGROUP_FEATURE_CLUSTERED_BIT",+ pure VK_SUBGROUP_FEATURE_CLUSTERED_BIT),+ ("VK_SUBGROUP_FEATURE_QUAD_BIT",+ pure VK_SUBGROUP_FEATURE_QUAD_BIT)]+ ++++ prec 10+ (expectP (Ident "VkSubgroupFeatureBitmask") >>+ (VkSubgroupFeatureBitmask <$> step readPrec)))++-- | Basic subgroup operations+--+-- bitpos = @0@+pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_BASIC_BIT = VkSubgroupFeatureBitmask 1++-- | Vote subgroup operations+--+-- bitpos = @1@+pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_VOTE_BIT = VkSubgroupFeatureBitmask 2++-- | Arithmetic subgroup operations+--+-- bitpos = @2@+pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT ::+ VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT =+ VkSubgroupFeatureBitmask 4++-- | Ballot subgroup operations+--+-- bitpos = @3@+pattern VK_SUBGROUP_FEATURE_BALLOT_BIT ::+ VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_BALLOT_BIT = VkSubgroupFeatureBitmask 8++-- | Shuffle subgroup operations+--+-- bitpos = @4@+pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT ::+ VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT =+ VkSubgroupFeatureBitmask 16++-- | Shuffle relative subgroup operations+--+-- bitpos = @5@+pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT ::+ VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT =+ VkSubgroupFeatureBitmask 32++-- | Clustered subgroup operations+--+-- bitpos = @6@+pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT ::+ VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT =+ VkSubgroupFeatureBitmask 64++-- | Quad subgroup operations+--+-- bitpos = @7@+pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a++pattern VK_SUBGROUP_FEATURE_QUAD_BIT = VkSubgroupFeatureBitmask 128
@@ -0,0 +1,114 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Subpass+ (VkSubpassContents(VkSubpassContents, VK_SUBPASS_CONTENTS_INLINE,+ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS),+ VkSubpassDescriptionBitmask(VkSubpassDescriptionBitmask,+ VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits),+ VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType,+ Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassContents VkSubpassContents registry at www.khronos.org>+newtype VkSubpassContents = VkSubpassContents Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSubpassContents where+ showsPrec _ VK_SUBPASS_CONTENTS_INLINE+ = showString "VK_SUBPASS_CONTENTS_INLINE"+ showsPrec _ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS+ = showString "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"+ showsPrec p (VkSubpassContents x)+ = showParen (p >= 11)+ (showString "VkSubpassContents " . showsPrec 11 x)++instance Read VkSubpassContents where+ readPrec+ = parens+ (choose+ [("VK_SUBPASS_CONTENTS_INLINE", pure VK_SUBPASS_CONTENTS_INLINE),+ ("VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS",+ pure VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)]+ ++++ prec 10+ (expectP (Ident "VkSubpassContents") >>+ (VkSubpassContents <$> step readPrec)))++pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents++pattern VK_SUBPASS_CONTENTS_INLINE = VkSubpassContents 0++pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS ::+ VkSubpassContents++pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS =+ VkSubpassContents 1++newtype VkSubpassDescriptionBitmask (a ::+ FlagType) = VkSubpassDescriptionBitmask VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSubpassDescriptionFlags =+ VkSubpassDescriptionBitmask FlagMask++type VkSubpassDescriptionFlagBits =+ VkSubpassDescriptionBitmask FlagBit++pattern VkSubpassDescriptionFlagBits ::+ VkFlags -> VkSubpassDescriptionBitmask FlagBit++pattern VkSubpassDescriptionFlagBits n =+ VkSubpassDescriptionBitmask n++pattern VkSubpassDescriptionFlags ::+ VkFlags -> VkSubpassDescriptionBitmask FlagMask++pattern VkSubpassDescriptionFlags n = VkSubpassDescriptionBitmask n++deriving instance Bits (VkSubpassDescriptionBitmask FlagMask)++deriving instance FiniteBits (VkSubpassDescriptionBitmask FlagMask)++deriving instance Integral (VkSubpassDescriptionBitmask FlagMask)++deriving instance Num (VkSubpassDescriptionBitmask FlagMask)++deriving instance Bounded (VkSubpassDescriptionBitmask FlagMask)++deriving instance Enum (VkSubpassDescriptionBitmask FlagMask)++deriving instance Real (VkSubpassDescriptionBitmask FlagMask)++instance Show (VkSubpassDescriptionBitmask a) where+ showsPrec p (VkSubpassDescriptionBitmask x)+ = showParen (p >= 11)+ (showString "VkSubpassDescriptionBitmask " . showsPrec 11 x)++instance Read (VkSubpassDescriptionBitmask a) where+ readPrec+ = parens+ (choose [] ++++ prec 10+ (expectP (Ident "VkSubpassDescriptionBitmask") >>+ (VkSubpassDescriptionBitmask <$> step readPrec)))
@@ -0,0 +1,254 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.Surface+ (VkSurfaceCounterBitmaskEXT(VkSurfaceCounterBitmaskEXT,+ VkSurfaceCounterFlagsEXT, VkSurfaceCounterFlagBitsEXT,+ VK_SURFACE_COUNTER_VBLANK_EXT),+ VkSurfaceCounterFlagsEXT, VkSurfaceCounterFlagBitsEXT,+ VkSurfaceTransformBitmaskKHR(VkSurfaceTransformBitmaskKHR,+ VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR,+ VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,+ VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,+ VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,+ VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,+ VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR),+ VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkSurfaceCounterBitmaskEXT (a ::+ FlagType) = VkSurfaceCounterBitmaskEXT VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask++type VkSurfaceCounterFlagBitsEXT =+ VkSurfaceCounterBitmaskEXT FlagBit++pattern VkSurfaceCounterFlagBitsEXT ::+ VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit++pattern VkSurfaceCounterFlagBitsEXT n =+ VkSurfaceCounterBitmaskEXT n++pattern VkSurfaceCounterFlagsEXT ::+ VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask++pattern VkSurfaceCounterFlagsEXT n = VkSurfaceCounterBitmaskEXT n++deriving instance Bits (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance FiniteBits (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Integral (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Num (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Bounded (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Enum (VkSurfaceCounterBitmaskEXT FlagMask)++deriving instance Real (VkSurfaceCounterBitmaskEXT FlagMask)++instance Show (VkSurfaceCounterBitmaskEXT a) where+ showsPrec _ VK_SURFACE_COUNTER_VBLANK_EXT+ = showString "VK_SURFACE_COUNTER_VBLANK_EXT"+ showsPrec p (VkSurfaceCounterBitmaskEXT x)+ = showParen (p >= 11)+ (showString "VkSurfaceCounterBitmaskEXT " . showsPrec 11 x)++instance Read (VkSurfaceCounterBitmaskEXT a) where+ readPrec+ = parens+ (choose+ [("VK_SURFACE_COUNTER_VBLANK_EXT",+ pure VK_SURFACE_COUNTER_VBLANK_EXT)]+ ++++ prec 10+ (expectP (Ident "VkSurfaceCounterBitmaskEXT") >>+ (VkSurfaceCounterBitmaskEXT <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SURFACE_COUNTER_VBLANK_EXT ::+ VkSurfaceCounterBitmaskEXT a++pattern VK_SURFACE_COUNTER_VBLANK_EXT =+ VkSurfaceCounterBitmaskEXT 1++newtype VkSurfaceTransformBitmaskKHR (a ::+ FlagType) = VkSurfaceTransformBitmaskKHR VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSurfaceTransformFlagsKHR =+ VkSurfaceTransformBitmaskKHR FlagMask++type VkSurfaceTransformFlagBitsKHR =+ VkSurfaceTransformBitmaskKHR FlagBit++pattern VkSurfaceTransformFlagBitsKHR ::+ VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit++pattern VkSurfaceTransformFlagBitsKHR n =+ VkSurfaceTransformBitmaskKHR n++pattern VkSurfaceTransformFlagsKHR ::+ VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask++pattern VkSurfaceTransformFlagsKHR n =+ VkSurfaceTransformBitmaskKHR n++deriving instance Bits (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance+ FiniteBits (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Integral (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Num (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Bounded (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Enum (VkSurfaceTransformBitmaskKHR FlagMask)++deriving instance Real (VkSurfaceTransformBitmaskKHR FlagMask)++instance Show (VkSurfaceTransformBitmaskKHR a) where+ showsPrec _ VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR+ = showString "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"+ showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR+ = showString "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"+ showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR+ = showString "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"+ showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR+ = showString "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"+ showsPrec _ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR+ = showString "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"+ showsPrec _+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR+ = showString+ "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"+ showsPrec _+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR+ = showString+ "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"+ showsPrec _+ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR+ = showString+ "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"+ showsPrec _ VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR+ = showString "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"+ showsPrec p (VkSurfaceTransformBitmaskKHR x)+ = showParen (p >= 11)+ (showString "VkSurfaceTransformBitmaskKHR " . showsPrec 11 x)++instance Read (VkSurfaceTransformBitmaskKHR a) where+ readPrec+ = parens+ (choose+ [("VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR),+ ("VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR",+ pure VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)]+ ++++ prec 10+ (expectP (Ident "VkSurfaceTransformBitmaskKHR") >>+ (VkSurfaceTransformBitmaskKHR <$> step readPrec)))++-- | bitpos = @0@+pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 1++-- | bitpos = @1@+pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 2++-- | bitpos = @2@+pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 4++-- | bitpos = @3@+pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 8++-- | bitpos = @4@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 16++-- | bitpos = @5@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 32++-- | bitpos = @6@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR+ :: VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 64++-- | bitpos = @7@+pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR+ :: VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 128++-- | bitpos = @8@+pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR ::+ VkSurfaceTransformBitmaskKHR a++pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR =+ VkSurfaceTransformBitmaskKHR 256
@@ -0,0 +1,74 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeSynonymInstances #-}+module Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR+ (VkSwapchainCreateBitmaskKHR(VkSwapchainCreateBitmaskKHR,+ VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR),+ VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR)+ where+import Data.Bits (Bits, FiniteBits)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)+import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++newtype VkSwapchainCreateBitmaskKHR (a ::+ FlagType) = VkSwapchainCreateBitmaskKHR VkFlags+ deriving (Eq, Ord, Storable, Data, Generic)++type VkSwapchainCreateFlagsKHR =+ VkSwapchainCreateBitmaskKHR FlagMask++type VkSwapchainCreateFlagBitsKHR =+ VkSwapchainCreateBitmaskKHR FlagBit++pattern VkSwapchainCreateFlagBitsKHR ::+ VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit++pattern VkSwapchainCreateFlagBitsKHR n =+ VkSwapchainCreateBitmaskKHR n++pattern VkSwapchainCreateFlagsKHR ::+ VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask++pattern VkSwapchainCreateFlagsKHR n = VkSwapchainCreateBitmaskKHR n++deriving instance Bits (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance FiniteBits (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Integral (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Num (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Bounded (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Enum (VkSwapchainCreateBitmaskKHR FlagMask)++deriving instance Real (VkSwapchainCreateBitmaskKHR FlagMask)++instance Show (VkSwapchainCreateBitmaskKHR a) where+ showsPrec p (VkSwapchainCreateBitmaskKHR x)+ = showParen (p >= 11)+ (showString "VkSwapchainCreateBitmaskKHR " . showsPrec 11 x)++instance Read (VkSwapchainCreateBitmaskKHR a) where+ readPrec+ = parens+ (choose [] ++++ prec 10+ (expectP (Ident "VkSwapchainCreateBitmaskKHR") >>+ (VkSwapchainCreateBitmaskKHR <$> step readPrec)))
@@ -0,0 +1,92 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.SystemAllocationScope+ (VkSystemAllocationScope(VkSystemAllocationScope,+ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,+ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,+ VK_SYSTEM_ALLOCATION_SCOPE_CACHE,+ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,+ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSystemAllocationScope VkSystemAllocationScope registry at www.khronos.org>+newtype VkSystemAllocationScope = VkSystemAllocationScope Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkSystemAllocationScope where+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND+ = showString "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT+ = showString "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_CACHE+ = showString "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE+ = showString "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"+ showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE+ = showString "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"+ showsPrec p (VkSystemAllocationScope x)+ = showParen (p >= 11)+ (showString "VkSystemAllocationScope " . showsPrec 11 x)++instance Read VkSystemAllocationScope where+ readPrec+ = parens+ (choose+ [("VK_SYSTEM_ALLOCATION_SCOPE_COMMAND",+ pure VK_SYSTEM_ALLOCATION_SCOPE_COMMAND),+ ("VK_SYSTEM_ALLOCATION_SCOPE_OBJECT",+ pure VK_SYSTEM_ALLOCATION_SCOPE_OBJECT),+ ("VK_SYSTEM_ALLOCATION_SCOPE_CACHE",+ pure VK_SYSTEM_ALLOCATION_SCOPE_CACHE),+ ("VK_SYSTEM_ALLOCATION_SCOPE_DEVICE",+ pure VK_SYSTEM_ALLOCATION_SCOPE_DEVICE),+ ("VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE",+ pure VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE)]+ ++++ prec 10+ (expectP (Ident "VkSystemAllocationScope") >>+ (VkSystemAllocationScope <$> step readPrec)))++pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND ::+ VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND =+ VkSystemAllocationScope 0++pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT ::+ VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT =+ VkSystemAllocationScope 1++pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE =+ VkSystemAllocationScope 2++pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE ::+ VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE =+ VkSystemAllocationScope 3++pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE ::+ VkSystemAllocationScope++pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE =+ VkSystemAllocationScope 4
@@ -0,0 +1,77 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.TessellationDomainOrigin+ (VkTessellationDomainOrigin(VkTessellationDomainOrigin,+ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,+ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT),+ VkTessellationDomainOriginKHR(..))+ where+import Data.Bits (Bits, FiniteBits)+import Data.Coerce (coerce)+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Graphics.Vulkan.Types.BaseTypes (VkFlags)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkTessellationDomainOrigin VkTessellationDomainOrigin registry at www.khronos.org>+newtype VkTessellationDomainOrigin = VkTessellationDomainOrigin Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkTessellationDomainOrigin where+ showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT+ = showString "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"+ showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT+ = showString "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"+ showsPrec p (VkTessellationDomainOrigin x)+ = showParen (p >= 11)+ (showString "VkTessellationDomainOrigin " . showsPrec 11 x)++instance Read VkTessellationDomainOrigin where+ readPrec+ = parens+ (choose+ [("VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT",+ pure VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT),+ ("VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT",+ pure VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT)]+ ++++ prec 10+ (expectP (Ident "VkTessellationDomainOrigin") >>+ (VkTessellationDomainOrigin <$> step readPrec)))++pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ::+ VkTessellationDomainOrigin++pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT =+ VkTessellationDomainOrigin 0++pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT ::+ VkTessellationDomainOrigin++pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT =+ VkTessellationDomainOrigin 1++newtype VkTessellationDomainOriginKHR = VkTessellationDomainOriginKHR VkFlags+ deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,+ FiniteBits, Storable, Real, Data, Generic)++instance Show VkTessellationDomainOriginKHR where+ {-# INLINE show #-}+ show (VkTessellationDomainOriginKHR x) = show x++instance Read VkTessellationDomainOriginKHR where+ {-# INLINE readsPrec #-}+ readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -0,0 +1,87 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.ValidationC+ (VkValidationCacheHeaderVersionEXT(VkValidationCacheHeaderVersionEXT,+ VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT),+ VkValidationCheckEXT(VkValidationCheckEXT,+ VK_VALIDATION_CHECK_ALL_EXT, VK_VALIDATION_CHECK_SHADERS_EXT))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT registry at www.khronos.org>+newtype VkValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkValidationCacheHeaderVersionEXT where+ showsPrec _ VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT+ = showString "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"+ showsPrec p (VkValidationCacheHeaderVersionEXT x)+ = showParen (p >= 11)+ (showString "VkValidationCacheHeaderVersionEXT " . showsPrec 11 x)++instance Read VkValidationCacheHeaderVersionEXT where+ readPrec+ = parens+ (choose+ [("VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT",+ pure VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT)]+ ++++ prec 10+ (expectP (Ident "VkValidationCacheHeaderVersionEXT") >>+ (VkValidationCacheHeaderVersionEXT <$> step readPrec)))++pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ::+ VkValidationCacheHeaderVersionEXT++pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT =+ VkValidationCacheHeaderVersionEXT 1++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCheckEXT VkValidationCheckEXT registry at www.khronos.org>+newtype VkValidationCheckEXT = VkValidationCheckEXT Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkValidationCheckEXT where+ showsPrec _ VK_VALIDATION_CHECK_ALL_EXT+ = showString "VK_VALIDATION_CHECK_ALL_EXT"+ showsPrec _ VK_VALIDATION_CHECK_SHADERS_EXT+ = showString "VK_VALIDATION_CHECK_SHADERS_EXT"+ showsPrec p (VkValidationCheckEXT x)+ = showParen (p >= 11)+ (showString "VkValidationCheckEXT " . showsPrec 11 x)++instance Read VkValidationCheckEXT where+ readPrec+ = parens+ (choose+ [("VK_VALIDATION_CHECK_ALL_EXT", pure VK_VALIDATION_CHECK_ALL_EXT),+ ("VK_VALIDATION_CHECK_SHADERS_EXT",+ pure VK_VALIDATION_CHECK_SHADERS_EXT)]+ ++++ prec 10+ (expectP (Ident "VkValidationCheckEXT") >>+ (VkValidationCheckEXT <$> step readPrec)))++pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT++pattern VK_VALIDATION_CHECK_ALL_EXT = VkValidationCheckEXT 0++pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT++pattern VK_VALIDATION_CHECK_SHADERS_EXT = VkValidationCheckEXT 1
@@ -0,0 +1,54 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.VertexInputRate+ (VkVertexInputRate(VkVertexInputRate, VK_VERTEX_INPUT_RATE_VERTEX,+ VK_VERTEX_INPUT_RATE_INSTANCE))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputRate VkVertexInputRate registry at www.khronos.org>+newtype VkVertexInputRate = VkVertexInputRate Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)++instance Show VkVertexInputRate where+ showsPrec _ VK_VERTEX_INPUT_RATE_VERTEX+ = showString "VK_VERTEX_INPUT_RATE_VERTEX"+ showsPrec _ VK_VERTEX_INPUT_RATE_INSTANCE+ = showString "VK_VERTEX_INPUT_RATE_INSTANCE"+ showsPrec p (VkVertexInputRate x)+ = showParen (p >= 11)+ (showString "VkVertexInputRate " . showsPrec 11 x)++instance Read VkVertexInputRate where+ readPrec+ = parens+ (choose+ [("VK_VERTEX_INPUT_RATE_VERTEX", pure VK_VERTEX_INPUT_RATE_VERTEX),+ ("VK_VERTEX_INPUT_RATE_INSTANCE",+ pure VK_VERTEX_INPUT_RATE_INSTANCE)]+ ++++ prec 10+ (expectP (Ident "VkVertexInputRate") >>+ (VkVertexInputRate <$> step readPrec)))++pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate++pattern VK_VERTEX_INPUT_RATE_VERTEX = VkVertexInputRate 0++pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate++pattern VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate 1
@@ -0,0 +1,127 @@+{-# OPTIONS_HADDOCK ignore-exports#-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE Strict #-}+module Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV+ (VkViewportCoordinateSwizzleNV(VkViewportCoordinateSwizzleNV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,+ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV))+ where+import Data.Data (Data)+import Foreign.Storable (Storable)+import GHC.Generics (Generic)+import GHC.Read (choose, expectP)+import Graphics.Vulkan.Marshal (Int32)+import Text.ParserCombinators.ReadPrec (prec, step, (+++))+import Text.Read (Read (..), parens)+import Text.Read.Lex (Lexeme (..))++-- | type = @enum@+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewportCoordinateSwizzleNV VkViewportCoordinateSwizzleNV registry at www.khronos.org>+newtype VkViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV Int32+ deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,+ Generic)++instance Show VkViewportCoordinateSwizzleNV where+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"+ showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV+ = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"+ showsPrec p (VkViewportCoordinateSwizzleNV x)+ = showParen (p >= 11)+ (showString "VkViewportCoordinateSwizzleNV " . showsPrec 11 x)++instance Read VkViewportCoordinateSwizzleNV where+ readPrec+ = parens+ (choose+ [("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV),+ ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV",+ pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]+ ++++ prec 10+ (expectP (Ident "VkViewportCoordinateSwizzleNV") >>+ (VkViewportCoordinateSwizzleNV <$> step readPrec)))++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV =+ VkViewportCoordinateSwizzleNV 0++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV =+ VkViewportCoordinateSwizzleNV 1++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV =+ VkViewportCoordinateSwizzleNV 2++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV =+ VkViewportCoordinateSwizzleNV 3++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV =+ VkViewportCoordinateSwizzleNV 4++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV =+ VkViewportCoordinateSwizzleNV 5++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV =+ VkViewportCoordinateSwizzleNV 6++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV ::+ VkViewportCoordinateSwizzleNV++pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV =+ VkViewportCoordinateSwizzleNV 7
@@ -1,260 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkAccessFlags- (VkAccessBitmask(VkAccessBitmask, VkAccessFlags, VkAccessFlagBits,- VK_ACCESS_INDIRECT_COMMAND_READ_BIT, VK_ACCESS_INDEX_READ_BIT,- VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_ACCESS_UNIFORM_READ_BIT,- VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, VK_ACCESS_SHADER_READ_BIT,- VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,- VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,- VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,- VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,- VK_ACCESS_TRANSFER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,- VK_ACCESS_HOST_READ_BIT, VK_ACCESS_HOST_WRITE_BIT,- VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_MEMORY_WRITE_BIT),- VkAccessFlags, VkAccessFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkAccessBitmask (a :: FlagType) = VkAccessBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkAccessFlags = VkAccessBitmask FlagMask--type VkAccessFlagBits = VkAccessBitmask FlagBit--pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit--pattern VkAccessFlagBits n = VkAccessBitmask n--pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask--pattern VkAccessFlags n = VkAccessBitmask n--deriving instance Bits (VkAccessBitmask FlagMask)--deriving instance FiniteBits (VkAccessBitmask FlagMask)--deriving instance Integral (VkAccessBitmask FlagMask)--deriving instance Num (VkAccessBitmask FlagMask)--deriving instance Bounded (VkAccessBitmask FlagMask)--deriving instance Enum (VkAccessBitmask FlagMask)--deriving instance Real (VkAccessBitmask FlagMask)--instance Show (VkAccessBitmask a) where- showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT- = showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"- showsPrec _ VK_ACCESS_INDEX_READ_BIT- = showString "VK_ACCESS_INDEX_READ_BIT"- showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT- = showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"- showsPrec _ VK_ACCESS_UNIFORM_READ_BIT- = showString "VK_ACCESS_UNIFORM_READ_BIT"- showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT- = showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"- showsPrec _ VK_ACCESS_SHADER_READ_BIT- = showString "VK_ACCESS_SHADER_READ_BIT"- showsPrec _ VK_ACCESS_SHADER_WRITE_BIT- = showString "VK_ACCESS_SHADER_WRITE_BIT"- showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT- = showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"- showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT- = showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"- showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT- = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"- showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT- = showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"- showsPrec _ VK_ACCESS_TRANSFER_READ_BIT- = showString "VK_ACCESS_TRANSFER_READ_BIT"- showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT- = showString "VK_ACCESS_TRANSFER_WRITE_BIT"- showsPrec _ VK_ACCESS_HOST_READ_BIT- = showString "VK_ACCESS_HOST_READ_BIT"- showsPrec _ VK_ACCESS_HOST_WRITE_BIT- = showString "VK_ACCESS_HOST_WRITE_BIT"- showsPrec _ VK_ACCESS_MEMORY_READ_BIT- = showString "VK_ACCESS_MEMORY_READ_BIT"- showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT- = showString "VK_ACCESS_MEMORY_WRITE_BIT"- showsPrec p (VkAccessBitmask x)- = showParen (p >= 11)- (showString "VkAccessBitmask " . showsPrec 11 x)--instance Read (VkAccessBitmask a) where- readPrec- = parens- (choose- [("VK_ACCESS_INDIRECT_COMMAND_READ_BIT",- pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT),- ("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT),- ("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT",- pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT),- ("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT),- ("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT",- pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT),- ("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT),- ("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT),- ("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",- pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT),- ("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT",- pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT),- ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT",- pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT),- ("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT",- pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT),- ("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT),- ("VK_ACCESS_TRANSFER_WRITE_BIT",- pure VK_ACCESS_TRANSFER_WRITE_BIT),- ("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT),- ("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT),- ("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT),- ("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)]- +++- prec 10- (expectP (Ident "VkAccessBitmask") >>- (VkAccessBitmask <$> step readPrec)))---- | Controls coherency of indirect command reads------ bitpos = @0@-pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessBitmask 1---- | Controls coherency of index reads------ bitpos = @1@-pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_INDEX_READ_BIT = VkAccessBitmask 2---- | Controls coherency of vertex attribute reads------ bitpos = @2@-pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = VkAccessBitmask 4---- | Controls coherency of uniform buffer reads------ bitpos = @3@-pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_UNIFORM_READ_BIT = VkAccessBitmask 8---- | Controls coherency of input attachment reads------ bitpos = @4@-pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = VkAccessBitmask 16---- | Controls coherency of shader reads------ bitpos = @5@-pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_SHADER_READ_BIT = VkAccessBitmask 32---- | Controls coherency of shader writes------ bitpos = @6@-pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a--pattern VK_ACCESS_SHADER_WRITE_BIT = VkAccessBitmask 64---- | Controls coherency of color attachment reads------ bitpos = @7@-pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = VkAccessBitmask 128---- | Controls coherency of color attachment writes------ bitpos = @8@-pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a--pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = VkAccessBitmask 256---- | Controls coherency of depth/stencil attachment reads------ bitpos = @9@-pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT ::- VkAccessBitmask a--pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT =- VkAccessBitmask 512---- | Controls coherency of depth/stencil attachment writes------ bitpos = @10@-pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT ::- VkAccessBitmask a--pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT =- VkAccessBitmask 1024---- | Controls coherency of transfer reads------ bitpos = @11@-pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_TRANSFER_READ_BIT = VkAccessBitmask 2048---- | Controls coherency of transfer writes------ bitpos = @12@-pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a--pattern VK_ACCESS_TRANSFER_WRITE_BIT = VkAccessBitmask 4096---- | Controls coherency of host reads------ bitpos = @13@-pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_HOST_READ_BIT = VkAccessBitmask 8192---- | Controls coherency of host writes------ bitpos = @14@-pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a--pattern VK_ACCESS_HOST_WRITE_BIT = VkAccessBitmask 16384---- | Controls coherency of memory reads------ bitpos = @15@-pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a--pattern VK_ACCESS_MEMORY_READ_BIT = VkAccessBitmask 32768---- | Controls coherency of memory writes------ bitpos = @16@-pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a--pattern VK_ACCESS_MEMORY_WRITE_BIT = VkAccessBitmask 65536
@@ -1,93 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkAttachmentDescriptionFlags- (VkAttachmentDescriptionBitmask(VkAttachmentDescriptionBitmask,- VkAttachmentDescriptionFlags,- VkAttachmentDescriptionFlagBits,- VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT),- VkAttachmentDescriptionFlags, VkAttachmentDescriptionFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkAttachmentDescriptionBitmask (a ::- FlagType) = VkAttachmentDescriptionBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkAttachmentDescriptionFlags =- VkAttachmentDescriptionBitmask FlagMask--type VkAttachmentDescriptionFlagBits =- VkAttachmentDescriptionBitmask FlagBit--pattern VkAttachmentDescriptionFlagBits ::- VkFlags -> VkAttachmentDescriptionBitmask FlagBit--pattern VkAttachmentDescriptionFlagBits n =- VkAttachmentDescriptionBitmask n--pattern VkAttachmentDescriptionFlags ::- VkFlags -> VkAttachmentDescriptionBitmask FlagMask--pattern VkAttachmentDescriptionFlags n =- VkAttachmentDescriptionBitmask n--deriving instance Bits (VkAttachmentDescriptionBitmask FlagMask)--deriving instance- FiniteBits (VkAttachmentDescriptionBitmask FlagMask)--deriving instance- Integral (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Num (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Bounded (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Enum (VkAttachmentDescriptionBitmask FlagMask)--deriving instance Real (VkAttachmentDescriptionBitmask FlagMask)--instance Show (VkAttachmentDescriptionBitmask a) where- showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT- = showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"- showsPrec p (VkAttachmentDescriptionBitmask x)- = showParen (p >= 11)- (showString "VkAttachmentDescriptionBitmask " . showsPrec 11 x)--instance Read (VkAttachmentDescriptionBitmask a) where- readPrec- = parens- (choose- [("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT",- pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)]- +++- prec 10- (expectP (Ident "VkAttachmentDescriptionBitmask") >>- (VkAttachmentDescriptionBitmask <$> step readPrec)))---- | The attachment may alias physical memory of another attachment in the same render pass------ bitpos = @0@-pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT ::- VkAttachmentDescriptionBitmask a--pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT =- VkAttachmentDescriptionBitmask 1
@@ -1,61 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkAttachmentLoadOp- (VkAttachmentLoadOp(VkAttachmentLoadOp, VK_ATTACHMENT_LOAD_OP_LOAD,- VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentLoadOp.html VkAttachmentLoadOp registry at www.khronos.org>-newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkAttachmentLoadOp where- showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD- = showString "VK_ATTACHMENT_LOAD_OP_LOAD"- showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR- = showString "VK_ATTACHMENT_LOAD_OP_CLEAR"- showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE- = showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"- showsPrec p (VkAttachmentLoadOp x)- = showParen (p >= 11)- (showString "VkAttachmentLoadOp " . showsPrec 11 x)--instance Read VkAttachmentLoadOp where- readPrec- = parens- (choose- [("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD),- ("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR),- ("VK_ATTACHMENT_LOAD_OP_DONT_CARE",- pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)]- +++- prec 10- (expectP (Ident "VkAttachmentLoadOp") >>- (VkAttachmentLoadOp <$> step readPrec)))--pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp--pattern VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0--pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp--pattern VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1--pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp--pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp 2
@@ -1,55 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkAttachmentStoreOp- (VkAttachmentStoreOp(VkAttachmentStoreOp,- VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAttachmentStoreOp.html VkAttachmentStoreOp registry at www.khronos.org>-newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkAttachmentStoreOp where- showsPrec _ VK_ATTACHMENT_STORE_OP_STORE- = showString "VK_ATTACHMENT_STORE_OP_STORE"- showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE- = showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"- showsPrec p (VkAttachmentStoreOp x)- = showParen (p >= 11)- (showString "VkAttachmentStoreOp " . showsPrec 11 x)--instance Read VkAttachmentStoreOp where- readPrec- = parens- (choose- [("VK_ATTACHMENT_STORE_OP_STORE",- pure VK_ATTACHMENT_STORE_OP_STORE),- ("VK_ATTACHMENT_STORE_OP_DONT_CARE",- pure VK_ATTACHMENT_STORE_OP_DONT_CARE)]- +++- prec 10- (expectP (Ident "VkAttachmentStoreOp") >>- (VkAttachmentStoreOp <$> step readPrec)))--pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp--pattern VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0--pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp--pattern VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp 1
@@ -1,193 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkBlendFactor- (VkBlendFactor(VkBlendFactor, VK_BLEND_FACTOR_ZERO,- VK_BLEND_FACTOR_ONE, VK_BLEND_FACTOR_SRC_COLOR,- VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR, VK_BLEND_FACTOR_DST_COLOR,- VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR, VK_BLEND_FACTOR_SRC_ALPHA,- VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA, VK_BLEND_FACTOR_DST_ALPHA,- VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,- VK_BLEND_FACTOR_CONSTANT_COLOR,- VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,- VK_BLEND_FACTOR_CONSTANT_ALPHA,- VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA,- VK_BLEND_FACTOR_SRC_ALPHA_SATURATE, VK_BLEND_FACTOR_SRC1_COLOR,- VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR, VK_BLEND_FACTOR_SRC1_ALPHA,- VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBlendFactor.html VkBlendFactor registry at www.khronos.org>-newtype VkBlendFactor = VkBlendFactor Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkBlendFactor where- showsPrec _ VK_BLEND_FACTOR_ZERO- = showString "VK_BLEND_FACTOR_ZERO"- showsPrec _ VK_BLEND_FACTOR_ONE = showString "VK_BLEND_FACTOR_ONE"- showsPrec _ VK_BLEND_FACTOR_SRC_COLOR- = showString "VK_BLEND_FACTOR_SRC_COLOR"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR- = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"- showsPrec _ VK_BLEND_FACTOR_DST_COLOR- = showString "VK_BLEND_FACTOR_DST_COLOR"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR- = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"- showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA- = showString "VK_BLEND_FACTOR_SRC_ALPHA"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA- = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"- showsPrec _ VK_BLEND_FACTOR_DST_ALPHA- = showString "VK_BLEND_FACTOR_DST_ALPHA"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA- = showString "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"- showsPrec _ VK_BLEND_FACTOR_CONSTANT_COLOR- = showString "VK_BLEND_FACTOR_CONSTANT_COLOR"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR- = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"- showsPrec _ VK_BLEND_FACTOR_CONSTANT_ALPHA- = showString "VK_BLEND_FACTOR_CONSTANT_ALPHA"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA- = showString "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"- showsPrec _ VK_BLEND_FACTOR_SRC_ALPHA_SATURATE- = showString "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"- showsPrec _ VK_BLEND_FACTOR_SRC1_COLOR- = showString "VK_BLEND_FACTOR_SRC1_COLOR"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR- = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"- showsPrec _ VK_BLEND_FACTOR_SRC1_ALPHA- = showString "VK_BLEND_FACTOR_SRC1_ALPHA"- showsPrec _ VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA- = showString "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"- showsPrec p (VkBlendFactor x)- = showParen (p >= 11)- (showString "VkBlendFactor " . showsPrec 11 x)--instance Read VkBlendFactor where- readPrec- = parens- (choose- [("VK_BLEND_FACTOR_ZERO", pure VK_BLEND_FACTOR_ZERO),- ("VK_BLEND_FACTOR_ONE", pure VK_BLEND_FACTOR_ONE),- ("VK_BLEND_FACTOR_SRC_COLOR", pure VK_BLEND_FACTOR_SRC_COLOR),- ("VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR",- pure VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR),- ("VK_BLEND_FACTOR_DST_COLOR", pure VK_BLEND_FACTOR_DST_COLOR),- ("VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR",- pure VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR),- ("VK_BLEND_FACTOR_SRC_ALPHA", pure VK_BLEND_FACTOR_SRC_ALPHA),- ("VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA",- pure VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA),- ("VK_BLEND_FACTOR_DST_ALPHA", pure VK_BLEND_FACTOR_DST_ALPHA),- ("VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA",- pure VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA),- ("VK_BLEND_FACTOR_CONSTANT_COLOR",- pure VK_BLEND_FACTOR_CONSTANT_COLOR),- ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR",- pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR),- ("VK_BLEND_FACTOR_CONSTANT_ALPHA",- pure VK_BLEND_FACTOR_CONSTANT_ALPHA),- ("VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA",- pure VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA),- ("VK_BLEND_FACTOR_SRC_ALPHA_SATURATE",- pure VK_BLEND_FACTOR_SRC_ALPHA_SATURATE),- ("VK_BLEND_FACTOR_SRC1_COLOR", pure VK_BLEND_FACTOR_SRC1_COLOR),- ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR",- pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR),- ("VK_BLEND_FACTOR_SRC1_ALPHA", pure VK_BLEND_FACTOR_SRC1_ALPHA),- ("VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA",- pure VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA)]- +++- prec 10- (expectP (Ident "VkBlendFactor") >>- (VkBlendFactor <$> step readPrec)))--pattern VK_BLEND_FACTOR_ZERO :: VkBlendFactor--pattern VK_BLEND_FACTOR_ZERO = VkBlendFactor 0--pattern VK_BLEND_FACTOR_ONE :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE = VkBlendFactor 1--pattern VK_BLEND_FACTOR_SRC_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_SRC_COLOR = VkBlendFactor 2--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = VkBlendFactor 3--pattern VK_BLEND_FACTOR_DST_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_DST_COLOR = VkBlendFactor 4--pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = VkBlendFactor 5--pattern VK_BLEND_FACTOR_SRC_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_SRC_ALPHA = VkBlendFactor 6--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = VkBlendFactor 7--pattern VK_BLEND_FACTOR_DST_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_DST_ALPHA = VkBlendFactor 8--pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = VkBlendFactor 9--pattern VK_BLEND_FACTOR_CONSTANT_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_CONSTANT_COLOR = VkBlendFactor 10--pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = VkBlendFactor 11--pattern VK_BLEND_FACTOR_CONSTANT_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_CONSTANT_ALPHA = VkBlendFactor 12--pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = VkBlendFactor 13--pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE :: VkBlendFactor--pattern VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = VkBlendFactor 14--pattern VK_BLEND_FACTOR_SRC1_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_SRC1_COLOR = VkBlendFactor 15--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = VkBlendFactor 16--pattern VK_BLEND_FACTOR_SRC1_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_SRC1_ALPHA = VkBlendFactor 17--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA :: VkBlendFactor--pattern VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = VkBlendFactor 18
@@ -1,70 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkBlendOp- (VkBlendOp(VkBlendOp, VK_BLEND_OP_ADD, VK_BLEND_OP_SUBTRACT,- VK_BLEND_OP_REVERSE_SUBTRACT, VK_BLEND_OP_MIN, VK_BLEND_OP_MAX))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBlendOp.html VkBlendOp registry at www.khronos.org>-newtype VkBlendOp = VkBlendOp Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkBlendOp where- showsPrec _ VK_BLEND_OP_ADD = showString "VK_BLEND_OP_ADD"- showsPrec _ VK_BLEND_OP_SUBTRACT- = showString "VK_BLEND_OP_SUBTRACT"- showsPrec _ VK_BLEND_OP_REVERSE_SUBTRACT- = showString "VK_BLEND_OP_REVERSE_SUBTRACT"- showsPrec _ VK_BLEND_OP_MIN = showString "VK_BLEND_OP_MIN"- showsPrec _ VK_BLEND_OP_MAX = showString "VK_BLEND_OP_MAX"- showsPrec p (VkBlendOp x)- = showParen (p >= 11) (showString "VkBlendOp " . showsPrec 11 x)--instance Read VkBlendOp where- readPrec- = parens- (choose- [("VK_BLEND_OP_ADD", pure VK_BLEND_OP_ADD),- ("VK_BLEND_OP_SUBTRACT", pure VK_BLEND_OP_SUBTRACT),- ("VK_BLEND_OP_REVERSE_SUBTRACT",- pure VK_BLEND_OP_REVERSE_SUBTRACT),- ("VK_BLEND_OP_MIN", pure VK_BLEND_OP_MIN),- ("VK_BLEND_OP_MAX", pure VK_BLEND_OP_MAX)]- +++- prec 10- (expectP (Ident "VkBlendOp") >> (VkBlendOp <$> step readPrec)))--pattern VK_BLEND_OP_ADD :: VkBlendOp--pattern VK_BLEND_OP_ADD = VkBlendOp 0--pattern VK_BLEND_OP_SUBTRACT :: VkBlendOp--pattern VK_BLEND_OP_SUBTRACT = VkBlendOp 1--pattern VK_BLEND_OP_REVERSE_SUBTRACT :: VkBlendOp--pattern VK_BLEND_OP_REVERSE_SUBTRACT = VkBlendOp 2--pattern VK_BLEND_OP_MIN :: VkBlendOp--pattern VK_BLEND_OP_MIN = VkBlendOp 3--pattern VK_BLEND_OP_MAX :: VkBlendOp--pattern VK_BLEND_OP_MAX = VkBlendOp 4
@@ -1,64 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkBlendOverlapEXT- (VkBlendOverlapEXT(VkBlendOverlapEXT,- VK_BLEND_OVERLAP_UNCORRELATED_EXT, VK_BLEND_OVERLAP_DISJOINT_EXT,- VK_BLEND_OVERLAP_CONJOINT_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBlendOverlapEXT.html VkBlendOverlapEXT registry at www.khronos.org>-newtype VkBlendOverlapEXT = VkBlendOverlapEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkBlendOverlapEXT where- showsPrec _ VK_BLEND_OVERLAP_UNCORRELATED_EXT- = showString "VK_BLEND_OVERLAP_UNCORRELATED_EXT"- showsPrec _ VK_BLEND_OVERLAP_DISJOINT_EXT- = showString "VK_BLEND_OVERLAP_DISJOINT_EXT"- showsPrec _ VK_BLEND_OVERLAP_CONJOINT_EXT- = showString "VK_BLEND_OVERLAP_CONJOINT_EXT"- showsPrec p (VkBlendOverlapEXT x)- = showParen (p >= 11)- (showString "VkBlendOverlapEXT " . showsPrec 11 x)--instance Read VkBlendOverlapEXT where- readPrec- = parens- (choose- [("VK_BLEND_OVERLAP_UNCORRELATED_EXT",- pure VK_BLEND_OVERLAP_UNCORRELATED_EXT),- ("VK_BLEND_OVERLAP_DISJOINT_EXT",- pure VK_BLEND_OVERLAP_DISJOINT_EXT),- ("VK_BLEND_OVERLAP_CONJOINT_EXT",- pure VK_BLEND_OVERLAP_CONJOINT_EXT)]- +++- prec 10- (expectP (Ident "VkBlendOverlapEXT") >>- (VkBlendOverlapEXT <$> step readPrec)))--pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT :: VkBlendOverlapEXT--pattern VK_BLEND_OVERLAP_UNCORRELATED_EXT = VkBlendOverlapEXT 0--pattern VK_BLEND_OVERLAP_DISJOINT_EXT :: VkBlendOverlapEXT--pattern VK_BLEND_OVERLAP_DISJOINT_EXT = VkBlendOverlapEXT 1--pattern VK_BLEND_OVERLAP_CONJOINT_EXT :: VkBlendOverlapEXT--pattern VK_BLEND_OVERLAP_CONJOINT_EXT = VkBlendOverlapEXT 2
@@ -1,92 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkBorderColor- (VkBorderColor(VkBorderColor,- VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,- VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,- VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,- VK_BORDER_COLOR_INT_OPAQUE_BLACK,- VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,- VK_BORDER_COLOR_INT_OPAQUE_WHITE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkBorderColor.html VkBorderColor registry at www.khronos.org>-newtype VkBorderColor = VkBorderColor Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkBorderColor where- showsPrec _ VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK- = showString "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"- showsPrec _ VK_BORDER_COLOR_INT_TRANSPARENT_BLACK- = showString "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"- showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK- = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"- showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_BLACK- = showString "VK_BORDER_COLOR_INT_OPAQUE_BLACK"- showsPrec _ VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE- = showString "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"- showsPrec _ VK_BORDER_COLOR_INT_OPAQUE_WHITE- = showString "VK_BORDER_COLOR_INT_OPAQUE_WHITE"- showsPrec p (VkBorderColor x)- = showParen (p >= 11)- (showString "VkBorderColor " . showsPrec 11 x)--instance Read VkBorderColor where- readPrec- = parens- (choose- [("VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK",- pure VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK),- ("VK_BORDER_COLOR_INT_TRANSPARENT_BLACK",- pure VK_BORDER_COLOR_INT_TRANSPARENT_BLACK),- ("VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK",- pure VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK),- ("VK_BORDER_COLOR_INT_OPAQUE_BLACK",- pure VK_BORDER_COLOR_INT_OPAQUE_BLACK),- ("VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE",- pure VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE),- ("VK_BORDER_COLOR_INT_OPAQUE_WHITE",- pure VK_BORDER_COLOR_INT_OPAQUE_WHITE)]- +++- prec 10- (expectP (Ident "VkBorderColor") >>- (VkBorderColor <$> step readPrec)))--pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK :: VkBorderColor--pattern VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = VkBorderColor 0--pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK :: VkBorderColor--pattern VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = VkBorderColor 1--pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK :: VkBorderColor--pattern VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = VkBorderColor 2--pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK :: VkBorderColor--pattern VK_BORDER_COLOR_INT_OPAQUE_BLACK = VkBorderColor 3--pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE :: VkBorderColor--pattern VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = VkBorderColor 4--pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE :: VkBorderColor--pattern VK_BORDER_COLOR_INT_OPAQUE_WHITE = VkBorderColor 5
@@ -1,113 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkBufferCreateFlags- (VkBufferCreateBitmask(VkBufferCreateBitmask, VkBufferCreateFlags,- VkBufferCreateFlagBits, VK_BUFFER_CREATE_SPARSE_BINDING_BIT,- VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,- VK_BUFFER_CREATE_SPARSE_ALIASED_BIT),- VkBufferCreateFlags, VkBufferCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkBufferCreateBitmask (a ::- FlagType) = VkBufferCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask--type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit--pattern VkBufferCreateFlagBits ::- VkFlags -> VkBufferCreateBitmask FlagBit--pattern VkBufferCreateFlagBits n = VkBufferCreateBitmask n--pattern VkBufferCreateFlags ::- VkFlags -> VkBufferCreateBitmask FlagMask--pattern VkBufferCreateFlags n = VkBufferCreateBitmask n--deriving instance Bits (VkBufferCreateBitmask FlagMask)--deriving instance FiniteBits (VkBufferCreateBitmask FlagMask)--deriving instance Integral (VkBufferCreateBitmask FlagMask)--deriving instance Num (VkBufferCreateBitmask FlagMask)--deriving instance Bounded (VkBufferCreateBitmask FlagMask)--deriving instance Enum (VkBufferCreateBitmask FlagMask)--deriving instance Real (VkBufferCreateBitmask FlagMask)--instance Show (VkBufferCreateBitmask a) where- showsPrec _ VK_BUFFER_CREATE_SPARSE_BINDING_BIT- = showString "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"- showsPrec _ VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT- = showString "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"- showsPrec _ VK_BUFFER_CREATE_SPARSE_ALIASED_BIT- = showString "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"- showsPrec p (VkBufferCreateBitmask x)- = showParen (p >= 11)- (showString "VkBufferCreateBitmask " . showsPrec 11 x)--instance Read (VkBufferCreateBitmask a) where- readPrec- = parens- (choose- [("VK_BUFFER_CREATE_SPARSE_BINDING_BIT",- pure VK_BUFFER_CREATE_SPARSE_BINDING_BIT),- ("VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT",- pure VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT),- ("VK_BUFFER_CREATE_SPARSE_ALIASED_BIT",- pure VK_BUFFER_CREATE_SPARSE_ALIASED_BIT)]- +++- prec 10- (expectP (Ident "VkBufferCreateBitmask") >>- (VkBufferCreateBitmask <$> step readPrec)))---- | Buffer should support sparse backing------ bitpos = @0@-pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT ::- VkBufferCreateBitmask a--pattern VK_BUFFER_CREATE_SPARSE_BINDING_BIT =- VkBufferCreateBitmask 1---- | Buffer should support sparse backing with partial residency------ bitpos = @1@-pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT ::- VkBufferCreateBitmask a--pattern VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT =- VkBufferCreateBitmask 2---- | Buffer should support constent data access to physical memory ranges mapped into multiple locations of sparse buffers------ bitpos = @2@-pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT ::- VkBufferCreateBitmask a--pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT =- VkBufferCreateBitmask 4
@@ -1,190 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkBufferUsageFlags- (VkBufferUsageBitmask(VkBufferUsageBitmask, VkBufferUsageFlags,- VkBufferUsageFlagBits, VK_BUFFER_USAGE_TRANSFER_SRC_BIT,- VK_BUFFER_USAGE_TRANSFER_DST_BIT,- VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT,- VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT,- VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,- VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,- VK_BUFFER_USAGE_INDEX_BUFFER_BIT,- VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,- VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT),- VkBufferUsageFlags, VkBufferUsageFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkBufferUsageBitmask (a ::- FlagType) = VkBufferUsageBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask--type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit--pattern VkBufferUsageFlagBits ::- VkFlags -> VkBufferUsageBitmask FlagBit--pattern VkBufferUsageFlagBits n = VkBufferUsageBitmask n--pattern VkBufferUsageFlags ::- VkFlags -> VkBufferUsageBitmask FlagMask--pattern VkBufferUsageFlags n = VkBufferUsageBitmask n--deriving instance Bits (VkBufferUsageBitmask FlagMask)--deriving instance FiniteBits (VkBufferUsageBitmask FlagMask)--deriving instance Integral (VkBufferUsageBitmask FlagMask)--deriving instance Num (VkBufferUsageBitmask FlagMask)--deriving instance Bounded (VkBufferUsageBitmask FlagMask)--deriving instance Enum (VkBufferUsageBitmask FlagMask)--deriving instance Real (VkBufferUsageBitmask FlagMask)--instance Show (VkBufferUsageBitmask a) where- showsPrec _ VK_BUFFER_USAGE_TRANSFER_SRC_BIT- = showString "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"- showsPrec _ VK_BUFFER_USAGE_TRANSFER_DST_BIT- = showString "VK_BUFFER_USAGE_TRANSFER_DST_BIT"- showsPrec _ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT- = showString "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"- showsPrec _ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT- = showString "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"- showsPrec _ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT- = showString "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"- showsPrec _ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT- = showString "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"- showsPrec _ VK_BUFFER_USAGE_INDEX_BUFFER_BIT- = showString "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"- showsPrec _ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT- = showString "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"- showsPrec _ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT- = showString "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"- showsPrec p (VkBufferUsageBitmask x)- = showParen (p >= 11)- (showString "VkBufferUsageBitmask " . showsPrec 11 x)--instance Read (VkBufferUsageBitmask a) where- readPrec- = parens- (choose- [("VK_BUFFER_USAGE_TRANSFER_SRC_BIT",- pure VK_BUFFER_USAGE_TRANSFER_SRC_BIT),- ("VK_BUFFER_USAGE_TRANSFER_DST_BIT",- pure VK_BUFFER_USAGE_TRANSFER_DST_BIT),- ("VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",- pure VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT),- ("VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",- pure VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT),- ("VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT",- pure VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT),- ("VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",- pure VK_BUFFER_USAGE_STORAGE_BUFFER_BIT),- ("VK_BUFFER_USAGE_INDEX_BUFFER_BIT",- pure VK_BUFFER_USAGE_INDEX_BUFFER_BIT),- ("VK_BUFFER_USAGE_VERTEX_BUFFER_BIT",- pure VK_BUFFER_USAGE_VERTEX_BUFFER_BIT),- ("VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",- pure VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)]- +++- prec 10- (expectP (Ident "VkBufferUsageBitmask") >>- (VkBufferUsageBitmask <$> step readPrec)))---- | Can be used as a source of transfer operations------ bitpos = @0@-pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT :: VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_TRANSFER_SRC_BIT = VkBufferUsageBitmask 1---- | Can be used as a destination of transfer operations------ bitpos = @1@-pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT :: VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_TRANSFER_DST_BIT = VkBufferUsageBitmask 2---- | Can be used as TBO------ bitpos = @2@-pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT ::- VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT =- VkBufferUsageBitmask 4---- | Can be used as IBO------ bitpos = @3@-pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT ::- VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT =- VkBufferUsageBitmask 8---- | Can be used as UBO------ bitpos = @4@-pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT ::- VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT =- VkBufferUsageBitmask 16---- | Can be used as SSBO------ bitpos = @5@-pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT ::- VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_STORAGE_BUFFER_BIT =- VkBufferUsageBitmask 32---- | Can be used as source of fixed-function index fetch (index buffer)------ bitpos = @6@-pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT :: VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_INDEX_BUFFER_BIT = VkBufferUsageBitmask 64---- | Can be used as source of fixed-function vertex fetch (VBO)------ bitpos = @7@-pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT :: VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_VERTEX_BUFFER_BIT =- VkBufferUsageBitmask 128---- | Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer)------ bitpos = @8@-pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT ::- VkBufferUsageBitmask a--pattern VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT =- VkBufferUsageBitmask 256
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkBufferViewCreateFlagBits- (VkBufferViewCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkBufferViewCreateFlagBits = VkBufferViewCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkBufferViewCreateFlagBits where- {-# INLINE show #-}- show (VkBufferViewCreateFlagBits x) = show x--instance Read VkBufferViewCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,54 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkChromaLocation- (VkChromaLocation(VkChromaLocation,- VK_CHROMA_LOCATION_COSITED_EVEN, VK_CHROMA_LOCATION_MIDPOINT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkChromaLocation.html VkChromaLocation registry at www.khronos.org>-newtype VkChromaLocation = VkChromaLocation Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkChromaLocation where- showsPrec _ VK_CHROMA_LOCATION_COSITED_EVEN- = showString "VK_CHROMA_LOCATION_COSITED_EVEN"- showsPrec _ VK_CHROMA_LOCATION_MIDPOINT- = showString "VK_CHROMA_LOCATION_MIDPOINT"- showsPrec p (VkChromaLocation x)- = showParen (p >= 11)- (showString "VkChromaLocation " . showsPrec 11 x)--instance Read VkChromaLocation where- readPrec- = parens- (choose- [("VK_CHROMA_LOCATION_COSITED_EVEN",- pure VK_CHROMA_LOCATION_COSITED_EVEN),- ("VK_CHROMA_LOCATION_MIDPOINT", pure VK_CHROMA_LOCATION_MIDPOINT)]- +++- prec 10- (expectP (Ident "VkChromaLocation") >>- (VkChromaLocation <$> step readPrec)))--pattern VK_CHROMA_LOCATION_COSITED_EVEN :: VkChromaLocation--pattern VK_CHROMA_LOCATION_COSITED_EVEN = VkChromaLocation 0--pattern VK_CHROMA_LOCATION_MIDPOINT :: VkChromaLocation--pattern VK_CHROMA_LOCATION_MIDPOINT = VkChromaLocation 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkChromaLocationKHR- (VkChromaLocationKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkChromaLocationKHR = VkChromaLocationKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits, FiniteBits,- Storable, Real, Data, Generic)--instance Show VkChromaLocationKHR where- {-# INLINE show #-}- show (VkChromaLocationKHR x) = show x--instance Read VkChromaLocationKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,106 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkColorComponentFlags- (VkColorComponentBitmask(VkColorComponentBitmask,- VkColorComponentFlags, VkColorComponentFlagBits,- VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT,- VK_COLOR_COMPONENT_B_BIT, VK_COLOR_COMPONENT_A_BIT),- VkColorComponentFlags, VkColorComponentFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkColorComponentBitmask (a ::- FlagType) = VkColorComponentBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkColorComponentFlags = VkColorComponentBitmask FlagMask--type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit--pattern VkColorComponentFlagBits ::- VkFlags -> VkColorComponentBitmask FlagBit--pattern VkColorComponentFlagBits n = VkColorComponentBitmask n--pattern VkColorComponentFlags ::- VkFlags -> VkColorComponentBitmask FlagMask--pattern VkColorComponentFlags n = VkColorComponentBitmask n--deriving instance Bits (VkColorComponentBitmask FlagMask)--deriving instance FiniteBits (VkColorComponentBitmask FlagMask)--deriving instance Integral (VkColorComponentBitmask FlagMask)--deriving instance Num (VkColorComponentBitmask FlagMask)--deriving instance Bounded (VkColorComponentBitmask FlagMask)--deriving instance Enum (VkColorComponentBitmask FlagMask)--deriving instance Real (VkColorComponentBitmask FlagMask)--instance Show (VkColorComponentBitmask a) where- showsPrec _ VK_COLOR_COMPONENT_R_BIT- = showString "VK_COLOR_COMPONENT_R_BIT"- showsPrec _ VK_COLOR_COMPONENT_G_BIT- = showString "VK_COLOR_COMPONENT_G_BIT"- showsPrec _ VK_COLOR_COMPONENT_B_BIT- = showString "VK_COLOR_COMPONENT_B_BIT"- showsPrec _ VK_COLOR_COMPONENT_A_BIT- = showString "VK_COLOR_COMPONENT_A_BIT"- showsPrec p (VkColorComponentBitmask x)- = showParen (p >= 11)- (showString "VkColorComponentBitmask " . showsPrec 11 x)--instance Read (VkColorComponentBitmask a) where- readPrec- = parens- (choose- [("VK_COLOR_COMPONENT_R_BIT", pure VK_COLOR_COMPONENT_R_BIT),- ("VK_COLOR_COMPONENT_G_BIT", pure VK_COLOR_COMPONENT_G_BIT),- ("VK_COLOR_COMPONENT_B_BIT", pure VK_COLOR_COMPONENT_B_BIT),- ("VK_COLOR_COMPONENT_A_BIT", pure VK_COLOR_COMPONENT_A_BIT)]- +++- prec 10- (expectP (Ident "VkColorComponentBitmask") >>- (VkColorComponentBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_COLOR_COMPONENT_R_BIT :: VkColorComponentBitmask a--pattern VK_COLOR_COMPONENT_R_BIT = VkColorComponentBitmask 1---- | bitpos = @1@-pattern VK_COLOR_COMPONENT_G_BIT :: VkColorComponentBitmask a--pattern VK_COLOR_COMPONENT_G_BIT = VkColorComponentBitmask 2---- | bitpos = @2@-pattern VK_COLOR_COMPONENT_B_BIT :: VkColorComponentBitmask a--pattern VK_COLOR_COMPONENT_B_BIT = VkColorComponentBitmask 4---- | bitpos = @3@-pattern VK_COLOR_COMPONENT_A_BIT :: VkColorComponentBitmask a--pattern VK_COLOR_COMPONENT_A_BIT = VkColorComponentBitmask 8
@@ -1,47 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkColorSpaceKHR- (VkColorSpaceKHR(VkColorSpaceKHR,- VK_COLOR_SPACE_SRGB_NONLINEAR_KHR))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkColorSpaceKHR.html VkColorSpaceKHR registry at www.khronos.org>-newtype VkColorSpaceKHR = VkColorSpaceKHR Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkColorSpaceKHR where- showsPrec _ VK_COLOR_SPACE_SRGB_NONLINEAR_KHR- = showString "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"- showsPrec p (VkColorSpaceKHR x)- = showParen (p >= 11)- (showString "VkColorSpaceKHR " . showsPrec 11 x)--instance Read VkColorSpaceKHR where- readPrec- = parens- (choose- [("VK_COLOR_SPACE_SRGB_NONLINEAR_KHR",- pure VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)]- +++- prec 10- (expectP (Ident "VkColorSpaceKHR") >>- (VkColorSpaceKHR <$> step readPrec)))--pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR :: VkColorSpaceKHR--pattern VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = VkColorSpaceKHR 0
@@ -1,56 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkCommandBufferLevel- (VkCommandBufferLevel(VkCommandBufferLevel,- VK_COMMAND_BUFFER_LEVEL_PRIMARY,- VK_COMMAND_BUFFER_LEVEL_SECONDARY))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCommandBufferLevel.html VkCommandBufferLevel registry at www.khronos.org>-newtype VkCommandBufferLevel = VkCommandBufferLevel Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkCommandBufferLevel where- showsPrec _ VK_COMMAND_BUFFER_LEVEL_PRIMARY- = showString "VK_COMMAND_BUFFER_LEVEL_PRIMARY"- showsPrec _ VK_COMMAND_BUFFER_LEVEL_SECONDARY- = showString "VK_COMMAND_BUFFER_LEVEL_SECONDARY"- showsPrec p (VkCommandBufferLevel x)- = showParen (p >= 11)- (showString "VkCommandBufferLevel " . showsPrec 11 x)--instance Read VkCommandBufferLevel where- readPrec- = parens- (choose- [("VK_COMMAND_BUFFER_LEVEL_PRIMARY",- pure VK_COMMAND_BUFFER_LEVEL_PRIMARY),- ("VK_COMMAND_BUFFER_LEVEL_SECONDARY",- pure VK_COMMAND_BUFFER_LEVEL_SECONDARY)]- +++- prec 10- (expectP (Ident "VkCommandBufferLevel") >>- (VkCommandBufferLevel <$> step readPrec)))--pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY :: VkCommandBufferLevel--pattern VK_COMMAND_BUFFER_LEVEL_PRIMARY = VkCommandBufferLevel 0--pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY :: VkCommandBufferLevel--pattern VK_COMMAND_BUFFER_LEVEL_SECONDARY = VkCommandBufferLevel 1
@@ -1,89 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkCommandBufferResetFlags- (VkCommandBufferResetBitmask(VkCommandBufferResetBitmask,- VkCommandBufferResetFlags, VkCommandBufferResetFlagBits,- VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT),- VkCommandBufferResetFlags, VkCommandBufferResetFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkCommandBufferResetBitmask (a ::- FlagType) = VkCommandBufferResetBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkCommandBufferResetFlags =- VkCommandBufferResetBitmask FlagMask--type VkCommandBufferResetFlagBits =- VkCommandBufferResetBitmask FlagBit--pattern VkCommandBufferResetFlagBits ::- VkFlags -> VkCommandBufferResetBitmask FlagBit--pattern VkCommandBufferResetFlagBits n =- VkCommandBufferResetBitmask n--pattern VkCommandBufferResetFlags ::- VkFlags -> VkCommandBufferResetBitmask FlagMask--pattern VkCommandBufferResetFlags n = VkCommandBufferResetBitmask n--deriving instance Bits (VkCommandBufferResetBitmask FlagMask)--deriving instance FiniteBits (VkCommandBufferResetBitmask FlagMask)--deriving instance Integral (VkCommandBufferResetBitmask FlagMask)--deriving instance Num (VkCommandBufferResetBitmask FlagMask)--deriving instance Bounded (VkCommandBufferResetBitmask FlagMask)--deriving instance Enum (VkCommandBufferResetBitmask FlagMask)--deriving instance Real (VkCommandBufferResetBitmask FlagMask)--instance Show (VkCommandBufferResetBitmask a) where- showsPrec _ VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT- = showString "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"- showsPrec p (VkCommandBufferResetBitmask x)- = showParen (p >= 11)- (showString "VkCommandBufferResetBitmask " . showsPrec 11 x)--instance Read (VkCommandBufferResetBitmask a) where- readPrec- = parens- (choose- [("VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT",- pure VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT)]- +++- prec 10- (expectP (Ident "VkCommandBufferResetBitmask") >>- (VkCommandBufferResetBitmask <$> step readPrec)))---- | Release resources owned by the buffer------ bitpos = @0@-pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT ::- VkCommandBufferResetBitmask a--pattern VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT =- VkCommandBufferResetBitmask 1
@@ -1,113 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkCommandBufferUsageFlags- (VkCommandBufferUsageBitmask(VkCommandBufferUsageBitmask,- VkCommandBufferUsageFlags, VkCommandBufferUsageFlagBits,- VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,- VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT,- VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT),- VkCommandBufferUsageFlags, VkCommandBufferUsageFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkCommandBufferUsageBitmask (a ::- FlagType) = VkCommandBufferUsageBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkCommandBufferUsageFlags =- VkCommandBufferUsageBitmask FlagMask--type VkCommandBufferUsageFlagBits =- VkCommandBufferUsageBitmask FlagBit--pattern VkCommandBufferUsageFlagBits ::- VkFlags -> VkCommandBufferUsageBitmask FlagBit--pattern VkCommandBufferUsageFlagBits n =- VkCommandBufferUsageBitmask n--pattern VkCommandBufferUsageFlags ::- VkFlags -> VkCommandBufferUsageBitmask FlagMask--pattern VkCommandBufferUsageFlags n = VkCommandBufferUsageBitmask n--deriving instance Bits (VkCommandBufferUsageBitmask FlagMask)--deriving instance FiniteBits (VkCommandBufferUsageBitmask FlagMask)--deriving instance Integral (VkCommandBufferUsageBitmask FlagMask)--deriving instance Num (VkCommandBufferUsageBitmask FlagMask)--deriving instance Bounded (VkCommandBufferUsageBitmask FlagMask)--deriving instance Enum (VkCommandBufferUsageBitmask FlagMask)--deriving instance Real (VkCommandBufferUsageBitmask FlagMask)--instance Show (VkCommandBufferUsageBitmask a) where- showsPrec _ VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT- = showString "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"- showsPrec _ VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT- = showString "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"- showsPrec _ VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT- = showString "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"- showsPrec p (VkCommandBufferUsageBitmask x)- = showParen (p >= 11)- (showString "VkCommandBufferUsageBitmask " . showsPrec 11 x)--instance Read (VkCommandBufferUsageBitmask a) where- readPrec- = parens- (choose- [("VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT",- pure VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT),- ("VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT",- pure VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT),- ("VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT",- pure VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT)]- +++- prec 10- (expectP (Ident "VkCommandBufferUsageBitmask") >>- (VkCommandBufferUsageBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT ::- VkCommandBufferUsageBitmask a--pattern VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT =- VkCommandBufferUsageBitmask 1---- | bitpos = @1@-pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT ::- VkCommandBufferUsageBitmask a--pattern VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT =- VkCommandBufferUsageBitmask 2---- | Command buffer may be submitted/executed more than once simultaneously------ bitpos = @2@-pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT ::- VkCommandBufferUsageBitmask a--pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT =- VkCommandBufferUsageBitmask 4
@@ -1,102 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkCommandPoolCreateFlags- (VkCommandPoolCreateBitmask(VkCommandPoolCreateBitmask,- VkCommandPoolCreateFlags, VkCommandPoolCreateFlagBits,- VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,- VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT),- VkCommandPoolCreateFlags, VkCommandPoolCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkCommandPoolCreateBitmask (a ::- FlagType) = VkCommandPoolCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask--type VkCommandPoolCreateFlagBits =- VkCommandPoolCreateBitmask FlagBit--pattern VkCommandPoolCreateFlagBits ::- VkFlags -> VkCommandPoolCreateBitmask FlagBit--pattern VkCommandPoolCreateFlagBits n =- VkCommandPoolCreateBitmask n--pattern VkCommandPoolCreateFlags ::- VkFlags -> VkCommandPoolCreateBitmask FlagMask--pattern VkCommandPoolCreateFlags n = VkCommandPoolCreateBitmask n--deriving instance Bits (VkCommandPoolCreateBitmask FlagMask)--deriving instance FiniteBits (VkCommandPoolCreateBitmask FlagMask)--deriving instance Integral (VkCommandPoolCreateBitmask FlagMask)--deriving instance Num (VkCommandPoolCreateBitmask FlagMask)--deriving instance Bounded (VkCommandPoolCreateBitmask FlagMask)--deriving instance Enum (VkCommandPoolCreateBitmask FlagMask)--deriving instance Real (VkCommandPoolCreateBitmask FlagMask)--instance Show (VkCommandPoolCreateBitmask a) where- showsPrec _ VK_COMMAND_POOL_CREATE_TRANSIENT_BIT- = showString "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"- showsPrec _ VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT- = showString "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"- showsPrec p (VkCommandPoolCreateBitmask x)- = showParen (p >= 11)- (showString "VkCommandPoolCreateBitmask " . showsPrec 11 x)--instance Read (VkCommandPoolCreateBitmask a) where- readPrec- = parens- (choose- [("VK_COMMAND_POOL_CREATE_TRANSIENT_BIT",- pure VK_COMMAND_POOL_CREATE_TRANSIENT_BIT),- ("VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT",- pure VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT)]- +++- prec 10- (expectP (Ident "VkCommandPoolCreateBitmask") >>- (VkCommandPoolCreateBitmask <$> step readPrec)))---- | Command buffers have a short lifetime------ bitpos = @0@-pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT ::- VkCommandPoolCreateBitmask a--pattern VK_COMMAND_POOL_CREATE_TRANSIENT_BIT =- VkCommandPoolCreateBitmask 1---- | Command buffers may release their memory individually------ bitpos = @1@-pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT ::- VkCommandPoolCreateBitmask a--pattern VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT =- VkCommandPoolCreateBitmask 2
@@ -1,86 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkCommandPoolResetFlags- (VkCommandPoolResetBitmask(VkCommandPoolResetBitmask,- VkCommandPoolResetFlags, VkCommandPoolResetFlagBits,- VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT),- VkCommandPoolResetFlags, VkCommandPoolResetFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkCommandPoolResetBitmask (a ::- FlagType) = VkCommandPoolResetBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask--type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit--pattern VkCommandPoolResetFlagBits ::- VkFlags -> VkCommandPoolResetBitmask FlagBit--pattern VkCommandPoolResetFlagBits n = VkCommandPoolResetBitmask n--pattern VkCommandPoolResetFlags ::- VkFlags -> VkCommandPoolResetBitmask FlagMask--pattern VkCommandPoolResetFlags n = VkCommandPoolResetBitmask n--deriving instance Bits (VkCommandPoolResetBitmask FlagMask)--deriving instance FiniteBits (VkCommandPoolResetBitmask FlagMask)--deriving instance Integral (VkCommandPoolResetBitmask FlagMask)--deriving instance Num (VkCommandPoolResetBitmask FlagMask)--deriving instance Bounded (VkCommandPoolResetBitmask FlagMask)--deriving instance Enum (VkCommandPoolResetBitmask FlagMask)--deriving instance Real (VkCommandPoolResetBitmask FlagMask)--instance Show (VkCommandPoolResetBitmask a) where- showsPrec _ VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT- = showString "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"- showsPrec p (VkCommandPoolResetBitmask x)- = showParen (p >= 11)- (showString "VkCommandPoolResetBitmask " . showsPrec 11 x)--instance Read (VkCommandPoolResetBitmask a) where- readPrec- = parens- (choose- [("VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT",- pure VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT)]- +++- prec 10- (expectP (Ident "VkCommandPoolResetBitmask") >>- (VkCommandPoolResetBitmask <$> step readPrec)))---- | Release resources owned by the pool------ bitpos = @0@-pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT ::- VkCommandPoolResetBitmask a--pattern VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT =- VkCommandPoolResetBitmask 1
@@ -1,93 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkCompareOp- (VkCompareOp(VkCompareOp, VK_COMPARE_OP_NEVER, VK_COMPARE_OP_LESS,- VK_COMPARE_OP_EQUAL, VK_COMPARE_OP_LESS_OR_EQUAL,- VK_COMPARE_OP_GREATER, VK_COMPARE_OP_NOT_EQUAL,- VK_COMPARE_OP_GREATER_OR_EQUAL, VK_COMPARE_OP_ALWAYS))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCompareOp.html VkCompareOp registry at www.khronos.org>-newtype VkCompareOp = VkCompareOp Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkCompareOp where- showsPrec _ VK_COMPARE_OP_NEVER = showString "VK_COMPARE_OP_NEVER"- showsPrec _ VK_COMPARE_OP_LESS = showString "VK_COMPARE_OP_LESS"- showsPrec _ VK_COMPARE_OP_EQUAL = showString "VK_COMPARE_OP_EQUAL"- showsPrec _ VK_COMPARE_OP_LESS_OR_EQUAL- = showString "VK_COMPARE_OP_LESS_OR_EQUAL"- showsPrec _ VK_COMPARE_OP_GREATER- = showString "VK_COMPARE_OP_GREATER"- showsPrec _ VK_COMPARE_OP_NOT_EQUAL- = showString "VK_COMPARE_OP_NOT_EQUAL"- showsPrec _ VK_COMPARE_OP_GREATER_OR_EQUAL- = showString "VK_COMPARE_OP_GREATER_OR_EQUAL"- showsPrec _ VK_COMPARE_OP_ALWAYS- = showString "VK_COMPARE_OP_ALWAYS"- showsPrec p (VkCompareOp x)- = showParen (p >= 11) (showString "VkCompareOp " . showsPrec 11 x)--instance Read VkCompareOp where- readPrec- = parens- (choose- [("VK_COMPARE_OP_NEVER", pure VK_COMPARE_OP_NEVER),- ("VK_COMPARE_OP_LESS", pure VK_COMPARE_OP_LESS),- ("VK_COMPARE_OP_EQUAL", pure VK_COMPARE_OP_EQUAL),- ("VK_COMPARE_OP_LESS_OR_EQUAL", pure VK_COMPARE_OP_LESS_OR_EQUAL),- ("VK_COMPARE_OP_GREATER", pure VK_COMPARE_OP_GREATER),- ("VK_COMPARE_OP_NOT_EQUAL", pure VK_COMPARE_OP_NOT_EQUAL),- ("VK_COMPARE_OP_GREATER_OR_EQUAL",- pure VK_COMPARE_OP_GREATER_OR_EQUAL),- ("VK_COMPARE_OP_ALWAYS", pure VK_COMPARE_OP_ALWAYS)]- +++- prec 10- (expectP (Ident "VkCompareOp") >> (VkCompareOp <$> step readPrec)))--pattern VK_COMPARE_OP_NEVER :: VkCompareOp--pattern VK_COMPARE_OP_NEVER = VkCompareOp 0--pattern VK_COMPARE_OP_LESS :: VkCompareOp--pattern VK_COMPARE_OP_LESS = VkCompareOp 1--pattern VK_COMPARE_OP_EQUAL :: VkCompareOp--pattern VK_COMPARE_OP_EQUAL = VkCompareOp 2--pattern VK_COMPARE_OP_LESS_OR_EQUAL :: VkCompareOp--pattern VK_COMPARE_OP_LESS_OR_EQUAL = VkCompareOp 3--pattern VK_COMPARE_OP_GREATER :: VkCompareOp--pattern VK_COMPARE_OP_GREATER = VkCompareOp 4--pattern VK_COMPARE_OP_NOT_EQUAL :: VkCompareOp--pattern VK_COMPARE_OP_NOT_EQUAL = VkCompareOp 5--pattern VK_COMPARE_OP_GREATER_OR_EQUAL :: VkCompareOp--pattern VK_COMPARE_OP_GREATER_OR_EQUAL = VkCompareOp 6--pattern VK_COMPARE_OP_ALWAYS :: VkCompareOp--pattern VK_COMPARE_OP_ALWAYS = VkCompareOp 7
@@ -1,92 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkComponentSwizzle- (VkComponentSwizzle(VkComponentSwizzle,- VK_COMPONENT_SWIZZLE_IDENTITY, VK_COMPONENT_SWIZZLE_ZERO,- VK_COMPONENT_SWIZZLE_ONE, VK_COMPONENT_SWIZZLE_R,- VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B,- VK_COMPONENT_SWIZZLE_A))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkComponentSwizzle.html VkComponentSwizzle registry at www.khronos.org>-newtype VkComponentSwizzle = VkComponentSwizzle Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkComponentSwizzle where- showsPrec _ VK_COMPONENT_SWIZZLE_IDENTITY- = showString "VK_COMPONENT_SWIZZLE_IDENTITY"- showsPrec _ VK_COMPONENT_SWIZZLE_ZERO- = showString "VK_COMPONENT_SWIZZLE_ZERO"- showsPrec _ VK_COMPONENT_SWIZZLE_ONE- = showString "VK_COMPONENT_SWIZZLE_ONE"- showsPrec _ VK_COMPONENT_SWIZZLE_R- = showString "VK_COMPONENT_SWIZZLE_R"- showsPrec _ VK_COMPONENT_SWIZZLE_G- = showString "VK_COMPONENT_SWIZZLE_G"- showsPrec _ VK_COMPONENT_SWIZZLE_B- = showString "VK_COMPONENT_SWIZZLE_B"- showsPrec _ VK_COMPONENT_SWIZZLE_A- = showString "VK_COMPONENT_SWIZZLE_A"- showsPrec p (VkComponentSwizzle x)- = showParen (p >= 11)- (showString "VkComponentSwizzle " . showsPrec 11 x)--instance Read VkComponentSwizzle where- readPrec- = parens- (choose- [("VK_COMPONENT_SWIZZLE_IDENTITY",- pure VK_COMPONENT_SWIZZLE_IDENTITY),- ("VK_COMPONENT_SWIZZLE_ZERO", pure VK_COMPONENT_SWIZZLE_ZERO),- ("VK_COMPONENT_SWIZZLE_ONE", pure VK_COMPONENT_SWIZZLE_ONE),- ("VK_COMPONENT_SWIZZLE_R", pure VK_COMPONENT_SWIZZLE_R),- ("VK_COMPONENT_SWIZZLE_G", pure VK_COMPONENT_SWIZZLE_G),- ("VK_COMPONENT_SWIZZLE_B", pure VK_COMPONENT_SWIZZLE_B),- ("VK_COMPONENT_SWIZZLE_A", pure VK_COMPONENT_SWIZZLE_A)]- +++- prec 10- (expectP (Ident "VkComponentSwizzle") >>- (VkComponentSwizzle <$> step readPrec)))--pattern VK_COMPONENT_SWIZZLE_IDENTITY :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_IDENTITY = VkComponentSwizzle 0--pattern VK_COMPONENT_SWIZZLE_ZERO :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_ZERO = VkComponentSwizzle 1--pattern VK_COMPONENT_SWIZZLE_ONE :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_ONE = VkComponentSwizzle 2--pattern VK_COMPONENT_SWIZZLE_R :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_R = VkComponentSwizzle 3--pattern VK_COMPONENT_SWIZZLE_G :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_G = VkComponentSwizzle 4--pattern VK_COMPONENT_SWIZZLE_B :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_B = VkComponentSwizzle 5--pattern VK_COMPONENT_SWIZZLE_A :: VkComponentSwizzle--pattern VK_COMPONENT_SWIZZLE_A = VkComponentSwizzle 6
@@ -1,122 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkCompositeAlphaFlagsKHR- (VkCompositeAlphaBitmaskKHR(VkCompositeAlphaBitmaskKHR,- VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR,- VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR,- VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR,- VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR,- VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR),- VkCompositeAlphaFlagsKHR, VkCompositeAlphaFlagBitsKHR)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkCompositeAlphaBitmaskKHR (a ::- FlagType) = VkCompositeAlphaBitmaskKHR VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask--type VkCompositeAlphaFlagBitsKHR =- VkCompositeAlphaBitmaskKHR FlagBit--pattern VkCompositeAlphaFlagBitsKHR ::- VkFlags -> VkCompositeAlphaBitmaskKHR FlagBit--pattern VkCompositeAlphaFlagBitsKHR n =- VkCompositeAlphaBitmaskKHR n--pattern VkCompositeAlphaFlagsKHR ::- VkFlags -> VkCompositeAlphaBitmaskKHR FlagMask--pattern VkCompositeAlphaFlagsKHR n = VkCompositeAlphaBitmaskKHR n--deriving instance Bits (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance FiniteBits (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Integral (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Num (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Bounded (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Enum (VkCompositeAlphaBitmaskKHR FlagMask)--deriving instance Real (VkCompositeAlphaBitmaskKHR FlagMask)--instance Show (VkCompositeAlphaBitmaskKHR a) where- showsPrec _ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR- = showString "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"- showsPrec _ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR- = showString "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"- showsPrec _ VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR- = showString "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"- showsPrec _ VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR- = showString "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"- showsPrec p (VkCompositeAlphaBitmaskKHR x)- = showParen (p >= 11)- (showString "VkCompositeAlphaBitmaskKHR " . showsPrec 11 x)--instance Read (VkCompositeAlphaBitmaskKHR a) where- readPrec- = parens- (choose- [("VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR",- pure VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR),- ("VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR",- pure VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR),- ("VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR",- pure VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR),- ("VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR",- pure VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)]- +++- prec 10- (expectP (Ident "VkCompositeAlphaBitmaskKHR") >>- (VkCompositeAlphaBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR ::- VkCompositeAlphaBitmaskKHR a--pattern VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR =- VkCompositeAlphaBitmaskKHR 1---- | bitpos = @1@-pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR ::- VkCompositeAlphaBitmaskKHR a--pattern VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR =- VkCompositeAlphaBitmaskKHR 2---- | bitpos = @2@-pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR ::- VkCompositeAlphaBitmaskKHR a--pattern VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR =- VkCompositeAlphaBitmaskKHR 4---- | bitpos = @3@-pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR ::- VkCompositeAlphaBitmaskKHR a--pattern VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR =- VkCompositeAlphaBitmaskKHR 8
@@ -1,72 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkConservativeRasterizationModeEXT- (VkConservativeRasterizationModeEXT(VkConservativeRasterizationModeEXT,- VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,- VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT,- VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkConservativeRasterizationModeEXT.html VkConservativeRasterizationModeEXT registry at www.khronos.org>-newtype VkConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum,- Data, Generic)--instance Show VkConservativeRasterizationModeEXT where- showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT- = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"- showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT- = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"- showsPrec _ VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT- = showString "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"- showsPrec p (VkConservativeRasterizationModeEXT x)- = showParen (p >= 11)- (showString "VkConservativeRasterizationModeEXT " . showsPrec 11 x)--instance Read VkConservativeRasterizationModeEXT where- readPrec- = parens- (choose- [("VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT",- pure VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT),- ("VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT",- pure VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT),- ("VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT",- pure VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT)]- +++- prec 10- (expectP (Ident "VkConservativeRasterizationModeEXT") >>- (VkConservativeRasterizationModeEXT <$> step readPrec)))--pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT ::- VkConservativeRasterizationModeEXT--pattern VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT =- VkConservativeRasterizationModeEXT 0--pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT ::- VkConservativeRasterizationModeEXT--pattern VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT =- VkConservativeRasterizationModeEXT 1--pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT ::- VkConservativeRasterizationModeEXT--pattern VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT =- VkConservativeRasterizationModeEXT 2
@@ -1,83 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkCoverageModulationModeNV- (VkCoverageModulationModeNV(VkCoverageModulationModeNV,- VK_COVERAGE_MODULATION_MODE_NONE_NV,- VK_COVERAGE_MODULATION_MODE_RGB_NV,- VK_COVERAGE_MODULATION_MODE_ALPHA_NV,- VK_COVERAGE_MODULATION_MODE_RGBA_NV))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkCoverageModulationModeNV.html VkCoverageModulationModeNV registry at www.khronos.org>-newtype VkCoverageModulationModeNV = VkCoverageModulationModeNV Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkCoverageModulationModeNV where- showsPrec _ VK_COVERAGE_MODULATION_MODE_NONE_NV- = showString "VK_COVERAGE_MODULATION_MODE_NONE_NV"- showsPrec _ VK_COVERAGE_MODULATION_MODE_RGB_NV- = showString "VK_COVERAGE_MODULATION_MODE_RGB_NV"- showsPrec _ VK_COVERAGE_MODULATION_MODE_ALPHA_NV- = showString "VK_COVERAGE_MODULATION_MODE_ALPHA_NV"- showsPrec _ VK_COVERAGE_MODULATION_MODE_RGBA_NV- = showString "VK_COVERAGE_MODULATION_MODE_RGBA_NV"- showsPrec p (VkCoverageModulationModeNV x)- = showParen (p >= 11)- (showString "VkCoverageModulationModeNV " . showsPrec 11 x)--instance Read VkCoverageModulationModeNV where- readPrec- = parens- (choose- [("VK_COVERAGE_MODULATION_MODE_NONE_NV",- pure VK_COVERAGE_MODULATION_MODE_NONE_NV),- ("VK_COVERAGE_MODULATION_MODE_RGB_NV",- pure VK_COVERAGE_MODULATION_MODE_RGB_NV),- ("VK_COVERAGE_MODULATION_MODE_ALPHA_NV",- pure VK_COVERAGE_MODULATION_MODE_ALPHA_NV),- ("VK_COVERAGE_MODULATION_MODE_RGBA_NV",- pure VK_COVERAGE_MODULATION_MODE_RGBA_NV)]- +++- prec 10- (expectP (Ident "VkCoverageModulationModeNV") >>- (VkCoverageModulationModeNV <$> step readPrec)))--pattern VK_COVERAGE_MODULATION_MODE_NONE_NV ::- VkCoverageModulationModeNV--pattern VK_COVERAGE_MODULATION_MODE_NONE_NV =- VkCoverageModulationModeNV 0--pattern VK_COVERAGE_MODULATION_MODE_RGB_NV ::- VkCoverageModulationModeNV--pattern VK_COVERAGE_MODULATION_MODE_RGB_NV =- VkCoverageModulationModeNV 1--pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV ::- VkCoverageModulationModeNV--pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV =- VkCoverageModulationModeNV 2--pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV ::- VkCoverageModulationModeNV--pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV =- VkCoverageModulationModeNV 3
@@ -1,100 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkCullModeFlags- (VkCullModeBitmask(VkCullModeBitmask, VkCullModeFlags,- VkCullModeFlagBits, VK_CULL_MODE_NONE, VK_CULL_MODE_FRONT_BIT,- VK_CULL_MODE_BACK_BIT, VK_CULL_MODE_FRONT_AND_BACK),- VkCullModeFlags, VkCullModeFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkCullModeBitmask (a ::- FlagType) = VkCullModeBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkCullModeFlags = VkCullModeBitmask FlagMask--type VkCullModeFlagBits = VkCullModeBitmask FlagBit--pattern VkCullModeFlagBits :: VkFlags -> VkCullModeBitmask FlagBit--pattern VkCullModeFlagBits n = VkCullModeBitmask n--pattern VkCullModeFlags :: VkFlags -> VkCullModeBitmask FlagMask--pattern VkCullModeFlags n = VkCullModeBitmask n--deriving instance Bits (VkCullModeBitmask FlagMask)--deriving instance FiniteBits (VkCullModeBitmask FlagMask)--deriving instance Integral (VkCullModeBitmask FlagMask)--deriving instance Num (VkCullModeBitmask FlagMask)--deriving instance Bounded (VkCullModeBitmask FlagMask)--deriving instance Enum (VkCullModeBitmask FlagMask)--deriving instance Real (VkCullModeBitmask FlagMask)--instance Show (VkCullModeBitmask a) where- showsPrec _ VK_CULL_MODE_NONE = showString "VK_CULL_MODE_NONE"- showsPrec _ VK_CULL_MODE_FRONT_BIT- = showString "VK_CULL_MODE_FRONT_BIT"- showsPrec _ VK_CULL_MODE_BACK_BIT- = showString "VK_CULL_MODE_BACK_BIT"- showsPrec _ VK_CULL_MODE_FRONT_AND_BACK- = showString "VK_CULL_MODE_FRONT_AND_BACK"- showsPrec p (VkCullModeBitmask x)- = showParen (p >= 11)- (showString "VkCullModeBitmask " . showsPrec 11 x)--instance Read (VkCullModeBitmask a) where- readPrec- = parens- (choose- [("VK_CULL_MODE_NONE", pure VK_CULL_MODE_NONE),- ("VK_CULL_MODE_FRONT_BIT", pure VK_CULL_MODE_FRONT_BIT),- ("VK_CULL_MODE_BACK_BIT", pure VK_CULL_MODE_BACK_BIT),- ("VK_CULL_MODE_FRONT_AND_BACK", pure VK_CULL_MODE_FRONT_AND_BACK)]- +++- prec 10- (expectP (Ident "VkCullModeBitmask") >>- (VkCullModeBitmask <$> step readPrec)))--pattern VK_CULL_MODE_NONE :: VkCullModeBitmask a--pattern VK_CULL_MODE_NONE = VkCullModeBitmask 0---- | bitpos = @0@-pattern VK_CULL_MODE_FRONT_BIT :: VkCullModeBitmask a--pattern VK_CULL_MODE_FRONT_BIT = VkCullModeBitmask 1---- | bitpos = @1@-pattern VK_CULL_MODE_BACK_BIT :: VkCullModeBitmask a--pattern VK_CULL_MODE_BACK_BIT = VkCullModeBitmask 2--pattern VK_CULL_MODE_FRONT_AND_BACK :: VkCullModeBitmask a--pattern VK_CULL_MODE_FRONT_AND_BACK = VkCullModeBitmask 3
@@ -1,126 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT- (VkDebugReportBitmaskEXT(VkDebugReportBitmaskEXT,- VkDebugReportFlagsEXT, VkDebugReportFlagBitsEXT,- VK_DEBUG_REPORT_INFORMATION_BIT_EXT,- VK_DEBUG_REPORT_WARNING_BIT_EXT,- VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,- VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_DEBUG_BIT_EXT),- VkDebugReportFlagsEXT, VkDebugReportFlagBitsEXT)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDebugReportBitmaskEXT (a ::- FlagType) = VkDebugReportBitmaskEXT VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask--type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit--pattern VkDebugReportFlagBitsEXT ::- VkFlags -> VkDebugReportBitmaskEXT FlagBit--pattern VkDebugReportFlagBitsEXT n = VkDebugReportBitmaskEXT n--pattern VkDebugReportFlagsEXT ::- VkFlags -> VkDebugReportBitmaskEXT FlagMask--pattern VkDebugReportFlagsEXT n = VkDebugReportBitmaskEXT n--deriving instance Bits (VkDebugReportBitmaskEXT FlagMask)--deriving instance FiniteBits (VkDebugReportBitmaskEXT FlagMask)--deriving instance Integral (VkDebugReportBitmaskEXT FlagMask)--deriving instance Num (VkDebugReportBitmaskEXT FlagMask)--deriving instance Bounded (VkDebugReportBitmaskEXT FlagMask)--deriving instance Enum (VkDebugReportBitmaskEXT FlagMask)--deriving instance Real (VkDebugReportBitmaskEXT FlagMask)--instance Show (VkDebugReportBitmaskEXT a) where- showsPrec _ VK_DEBUG_REPORT_INFORMATION_BIT_EXT- = showString "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"- showsPrec _ VK_DEBUG_REPORT_WARNING_BIT_EXT- = showString "VK_DEBUG_REPORT_WARNING_BIT_EXT"- showsPrec _ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT- = showString "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"- showsPrec _ VK_DEBUG_REPORT_ERROR_BIT_EXT- = showString "VK_DEBUG_REPORT_ERROR_BIT_EXT"- showsPrec _ VK_DEBUG_REPORT_DEBUG_BIT_EXT- = showString "VK_DEBUG_REPORT_DEBUG_BIT_EXT"- showsPrec p (VkDebugReportBitmaskEXT x)- = showParen (p >= 11)- (showString "VkDebugReportBitmaskEXT " . showsPrec 11 x)--instance Read (VkDebugReportBitmaskEXT a) where- readPrec- = parens- (choose- [("VK_DEBUG_REPORT_INFORMATION_BIT_EXT",- pure VK_DEBUG_REPORT_INFORMATION_BIT_EXT),- ("VK_DEBUG_REPORT_WARNING_BIT_EXT",- pure VK_DEBUG_REPORT_WARNING_BIT_EXT),- ("VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT",- pure VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT),- ("VK_DEBUG_REPORT_ERROR_BIT_EXT",- pure VK_DEBUG_REPORT_ERROR_BIT_EXT),- ("VK_DEBUG_REPORT_DEBUG_BIT_EXT",- pure VK_DEBUG_REPORT_DEBUG_BIT_EXT)]- +++- prec 10- (expectP (Ident "VkDebugReportBitmaskEXT") >>- (VkDebugReportBitmaskEXT <$> step readPrec)))---- | bitpos = @0@-pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT ::- VkDebugReportBitmaskEXT a--pattern VK_DEBUG_REPORT_INFORMATION_BIT_EXT =- VkDebugReportBitmaskEXT 1---- | bitpos = @1@-pattern VK_DEBUG_REPORT_WARNING_BIT_EXT ::- VkDebugReportBitmaskEXT a--pattern VK_DEBUG_REPORT_WARNING_BIT_EXT = VkDebugReportBitmaskEXT 2---- | bitpos = @2@-pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT ::- VkDebugReportBitmaskEXT a--pattern VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT =- VkDebugReportBitmaskEXT 4---- | bitpos = @3@-pattern VK_DEBUG_REPORT_ERROR_BIT_EXT :: VkDebugReportBitmaskEXT a--pattern VK_DEBUG_REPORT_ERROR_BIT_EXT = VkDebugReportBitmaskEXT 8---- | bitpos = @4@-pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT :: VkDebugReportBitmaskEXT a--pattern VK_DEBUG_REPORT_DEBUG_BIT_EXT = VkDebugReportBitmaskEXT 16
@@ -1,418 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT- (VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT,- VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT,- VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDebugReportObjectTypeEXT.html VkDebugReportObjectTypeEXT registry at www.khronos.org>-newtype VkDebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkDebugReportObjectTypeEXT where- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT- = showString- "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"- showsPrec _- VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT- = showString- "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT"- showsPrec _- VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT- = showString- "VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT"- showsPrec _ VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT- = showString "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"- showsPrec p (VkDebugReportObjectTypeEXT x)- = showParen (p >= 11)- (showString "VkDebugReportObjectTypeEXT " . showsPrec 11 x)--instance Read VkDebugReportObjectTypeEXT where- readPrec- = parens- (choose- [("VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT),- ("VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT",- pure VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT)]- +++- prec 10- (expectP (Ident "VkDebugReportObjectTypeEXT") >>- (VkDebugReportObjectTypeEXT <$> step readPrec)))--pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT =- VkDebugReportObjectTypeEXT 0--pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT =- VkDebugReportObjectTypeEXT 1--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT =- VkDebugReportObjectTypeEXT 2--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT =- VkDebugReportObjectTypeEXT 3--pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT =- VkDebugReportObjectTypeEXT 4--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT =- VkDebugReportObjectTypeEXT 5--pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT =- VkDebugReportObjectTypeEXT 6--pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT =- VkDebugReportObjectTypeEXT 7--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT =- VkDebugReportObjectTypeEXT 8--pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT =- VkDebugReportObjectTypeEXT 9--pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT =- VkDebugReportObjectTypeEXT 10--pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT =- VkDebugReportObjectTypeEXT 11--pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT =- VkDebugReportObjectTypeEXT 12--pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT =- VkDebugReportObjectTypeEXT 13--pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT =- VkDebugReportObjectTypeEXT 14--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT =- VkDebugReportObjectTypeEXT 15--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT =- VkDebugReportObjectTypeEXT 16--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT =- VkDebugReportObjectTypeEXT 17--pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT =- VkDebugReportObjectTypeEXT 18--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT =- VkDebugReportObjectTypeEXT 19--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT =- VkDebugReportObjectTypeEXT 20--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT =- VkDebugReportObjectTypeEXT 21--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT =- VkDebugReportObjectTypeEXT 22--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT =- VkDebugReportObjectTypeEXT 23--pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT =- VkDebugReportObjectTypeEXT 24--pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT =- VkDebugReportObjectTypeEXT 25--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT =- VkDebugReportObjectTypeEXT 26--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT =- VkDebugReportObjectTypeEXT 27--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT- :: VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT =- VkDebugReportObjectTypeEXT 28--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT =- VkDebugReportObjectTypeEXT 29--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT =- VkDebugReportObjectTypeEXT 30--pattern VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT =- VkDebugReportObjectTypeEXT 31--pattern VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT- :: VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT- = VkDebugReportObjectTypeEXT 32--pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT ::- VkDebugReportObjectTypeEXT--pattern VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT =- VkDebugReportObjectTypeEXT 33
@@ -1,135 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT- (VkDebugUtilsMessageSeverityBitmaskEXT(VkDebugUtilsMessageSeverityBitmaskEXT,- VkDebugUtilsMessageSeverityFlagsEXT,- VkDebugUtilsMessageSeverityFlagBitsEXT,- VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT,- VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT,- VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT,- VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT),- VkDebugUtilsMessageSeverityFlagsEXT,- VkDebugUtilsMessageSeverityFlagBitsEXT)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDebugUtilsMessageSeverityBitmaskEXT (a ::- FlagType) = VkDebugUtilsMessageSeverityBitmaskEXT VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkDebugUtilsMessageSeverityFlagsEXT =- VkDebugUtilsMessageSeverityBitmaskEXT FlagMask--type VkDebugUtilsMessageSeverityFlagBitsEXT =- VkDebugUtilsMessageSeverityBitmaskEXT FlagBit--pattern VkDebugUtilsMessageSeverityFlagBitsEXT ::- VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagBit--pattern VkDebugUtilsMessageSeverityFlagBitsEXT n =- VkDebugUtilsMessageSeverityBitmaskEXT n--pattern VkDebugUtilsMessageSeverityFlagsEXT ::- VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT FlagMask--pattern VkDebugUtilsMessageSeverityFlagsEXT n =- VkDebugUtilsMessageSeverityBitmaskEXT n--deriving instance- Bits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance- FiniteBits (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance- Integral (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance- Num (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance- Bounded (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance- Enum (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--deriving instance- Real (VkDebugUtilsMessageSeverityBitmaskEXT FlagMask)--instance Show (VkDebugUtilsMessageSeverityBitmaskEXT a) where- showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"- showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"- showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"- showsPrec _ VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"- showsPrec p (VkDebugUtilsMessageSeverityBitmaskEXT x)- = showParen (p >= 11)- (showString "VkDebugUtilsMessageSeverityBitmaskEXT " .- showsPrec 11 x)--instance Read (VkDebugUtilsMessageSeverityBitmaskEXT a) where- readPrec- = parens- (choose- [("VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT),- ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT),- ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT),- ("VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)]- +++- prec 10- (expectP (Ident "VkDebugUtilsMessageSeverityBitmaskEXT") >>- (VkDebugUtilsMessageSeverityBitmaskEXT <$> step readPrec)))---- | bitpos = @0@-pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT ::- VkDebugUtilsMessageSeverityBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT =- VkDebugUtilsMessageSeverityBitmaskEXT 1---- | bitpos = @4@-pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT ::- VkDebugUtilsMessageSeverityBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT =- VkDebugUtilsMessageSeverityBitmaskEXT 16---- | bitpos = @8@-pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT ::- VkDebugUtilsMessageSeverityBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT =- VkDebugUtilsMessageSeverityBitmaskEXT 256---- | bitpos = @12@-pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT ::- VkDebugUtilsMessageSeverityBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT =- VkDebugUtilsMessageSeverityBitmaskEXT 4096
@@ -1,118 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT- (VkDebugUtilsMessageTypeBitmaskEXT(VkDebugUtilsMessageTypeBitmaskEXT,- VkDebugUtilsMessageTypeFlagsEXT,- VkDebugUtilsMessageTypeFlagBitsEXT,- VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT,- VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT,- VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT),- VkDebugUtilsMessageTypeFlagsEXT,- VkDebugUtilsMessageTypeFlagBitsEXT)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDebugUtilsMessageTypeBitmaskEXT (a ::- FlagType) = VkDebugUtilsMessageTypeBitmaskEXT VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkDebugUtilsMessageTypeFlagsEXT =- VkDebugUtilsMessageTypeBitmaskEXT FlagMask--type VkDebugUtilsMessageTypeFlagBitsEXT =- VkDebugUtilsMessageTypeBitmaskEXT FlagBit--pattern VkDebugUtilsMessageTypeFlagBitsEXT ::- VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagBit--pattern VkDebugUtilsMessageTypeFlagBitsEXT n =- VkDebugUtilsMessageTypeBitmaskEXT n--pattern VkDebugUtilsMessageTypeFlagsEXT ::- VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT FlagMask--pattern VkDebugUtilsMessageTypeFlagsEXT n =- VkDebugUtilsMessageTypeBitmaskEXT n--deriving instance Bits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance- FiniteBits (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance- Integral (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance Num (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance- Bounded (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance Enum (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--deriving instance Real (VkDebugUtilsMessageTypeBitmaskEXT FlagMask)--instance Show (VkDebugUtilsMessageTypeBitmaskEXT a) where- showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"- showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"- showsPrec _ VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT- = showString "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"- showsPrec p (VkDebugUtilsMessageTypeBitmaskEXT x)- = showParen (p >= 11)- (showString "VkDebugUtilsMessageTypeBitmaskEXT " . showsPrec 11 x)--instance Read (VkDebugUtilsMessageTypeBitmaskEXT a) where- readPrec- = parens- (choose- [("VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT),- ("VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT),- ("VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT",- pure VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)]- +++- prec 10- (expectP (Ident "VkDebugUtilsMessageTypeBitmaskEXT") >>- (VkDebugUtilsMessageTypeBitmaskEXT <$> step readPrec)))---- | bitpos = @0@-pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT ::- VkDebugUtilsMessageTypeBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT =- VkDebugUtilsMessageTypeBitmaskEXT 1---- | bitpos = @1@-pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT ::- VkDebugUtilsMessageTypeBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT =- VkDebugUtilsMessageTypeBitmaskEXT 2---- | bitpos = @2@-pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT ::- VkDebugUtilsMessageTypeBitmaskEXT a--pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT =- VkDebugUtilsMessageTypeBitmaskEXT 4
@@ -1,82 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDependencyFlags- (VkDependencyBitmask(VkDependencyBitmask, VkDependencyFlags,- VkDependencyFlagBits, VK_DEPENDENCY_BY_REGION_BIT),- VkDependencyFlags, VkDependencyFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDependencyBitmask (a ::- FlagType) = VkDependencyBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkDependencyFlags = VkDependencyBitmask FlagMask--type VkDependencyFlagBits = VkDependencyBitmask FlagBit--pattern VkDependencyFlagBits ::- VkFlags -> VkDependencyBitmask FlagBit--pattern VkDependencyFlagBits n = VkDependencyBitmask n--pattern VkDependencyFlags ::- VkFlags -> VkDependencyBitmask FlagMask--pattern VkDependencyFlags n = VkDependencyBitmask n--deriving instance Bits (VkDependencyBitmask FlagMask)--deriving instance FiniteBits (VkDependencyBitmask FlagMask)--deriving instance Integral (VkDependencyBitmask FlagMask)--deriving instance Num (VkDependencyBitmask FlagMask)--deriving instance Bounded (VkDependencyBitmask FlagMask)--deriving instance Enum (VkDependencyBitmask FlagMask)--deriving instance Real (VkDependencyBitmask FlagMask)--instance Show (VkDependencyBitmask a) where- showsPrec _ VK_DEPENDENCY_BY_REGION_BIT- = showString "VK_DEPENDENCY_BY_REGION_BIT"- showsPrec p (VkDependencyBitmask x)- = showParen (p >= 11)- (showString "VkDependencyBitmask " . showsPrec 11 x)--instance Read (VkDependencyBitmask a) where- readPrec- = parens- (choose- [("VK_DEPENDENCY_BY_REGION_BIT", pure VK_DEPENDENCY_BY_REGION_BIT)]- +++- prec 10- (expectP (Ident "VkDependencyBitmask") >>- (VkDependencyBitmask <$> step readPrec)))---- | Dependency is per pixel region------ bitpos = @0@-pattern VK_DEPENDENCY_BY_REGION_BIT :: VkDependencyBitmask a--pattern VK_DEPENDENCY_BY_REGION_BIT = VkDependencyBitmask 1
@@ -1,91 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags- (VkDescriptorPoolCreateBitmask(VkDescriptorPoolCreateBitmask,- VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits,- VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT),- VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDescriptorPoolCreateBitmask (a ::- FlagType) = VkDescriptorPoolCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkDescriptorPoolCreateFlags =- VkDescriptorPoolCreateBitmask FlagMask--type VkDescriptorPoolCreateFlagBits =- VkDescriptorPoolCreateBitmask FlagBit--pattern VkDescriptorPoolCreateFlagBits ::- VkFlags -> VkDescriptorPoolCreateBitmask FlagBit--pattern VkDescriptorPoolCreateFlagBits n =- VkDescriptorPoolCreateBitmask n--pattern VkDescriptorPoolCreateFlags ::- VkFlags -> VkDescriptorPoolCreateBitmask FlagMask--pattern VkDescriptorPoolCreateFlags n =- VkDescriptorPoolCreateBitmask n--deriving instance Bits (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance- FiniteBits (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Integral (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Num (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Bounded (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Enum (VkDescriptorPoolCreateBitmask FlagMask)--deriving instance Real (VkDescriptorPoolCreateBitmask FlagMask)--instance Show (VkDescriptorPoolCreateBitmask a) where- showsPrec _ VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT- = showString "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"- showsPrec p (VkDescriptorPoolCreateBitmask x)- = showParen (p >= 11)- (showString "VkDescriptorPoolCreateBitmask " . showsPrec 11 x)--instance Read (VkDescriptorPoolCreateBitmask a) where- readPrec- = parens- (choose- [("VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT",- pure VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT)]- +++- prec 10- (expectP (Ident "VkDescriptorPoolCreateBitmask") >>- (VkDescriptorPoolCreateBitmask <$> step readPrec)))---- | Descriptor sets may be freed individually------ bitpos = @0@-pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT ::- VkDescriptorPoolCreateBitmask a--pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT =- VkDescriptorPoolCreateBitmask 1
@@ -1,84 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDescriptorSetLayoutCreateFlags- (VkDescriptorSetLayoutCreateBitmask(VkDescriptorSetLayoutCreateBitmask,- VkDescriptorSetLayoutCreateFlags,- VkDescriptorSetLayoutCreateFlagBits),- VkDescriptorSetLayoutCreateFlags,- VkDescriptorSetLayoutCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDescriptorSetLayoutCreateBitmask (a ::- FlagType) = VkDescriptorSetLayoutCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkDescriptorSetLayoutCreateFlags =- VkDescriptorSetLayoutCreateBitmask FlagMask--type VkDescriptorSetLayoutCreateFlagBits =- VkDescriptorSetLayoutCreateBitmask FlagBit--pattern VkDescriptorSetLayoutCreateFlagBits ::- VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit--pattern VkDescriptorSetLayoutCreateFlagBits n =- VkDescriptorSetLayoutCreateBitmask n--pattern VkDescriptorSetLayoutCreateFlags ::- VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask--pattern VkDescriptorSetLayoutCreateFlags n =- VkDescriptorSetLayoutCreateBitmask n--deriving instance- Bits (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance- FiniteBits (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance- Integral (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance Num (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance- Bounded (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance- Enum (VkDescriptorSetLayoutCreateBitmask FlagMask)--deriving instance- Real (VkDescriptorSetLayoutCreateBitmask FlagMask)--instance Show (VkDescriptorSetLayoutCreateBitmask a) where- showsPrec p (VkDescriptorSetLayoutCreateBitmask x)- = showParen (p >= 11)- (showString "VkDescriptorSetLayoutCreateBitmask " . showsPrec 11 x)--instance Read (VkDescriptorSetLayoutCreateBitmask a) where- readPrec- = parens- (choose [] +++- prec 10- (expectP (Ident "VkDescriptorSetLayoutCreateBitmask") >>- (VkDescriptorSetLayoutCreateBitmask <$> step readPrec)))
@@ -1,142 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDescriptorType- (VkDescriptorType(VkDescriptorType, VK_DESCRIPTOR_TYPE_SAMPLER,- VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,- VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,- VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,- VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,- VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,- VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,- VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,- VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorType.html VkDescriptorType registry at www.khronos.org>-newtype VkDescriptorType = VkDescriptorType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkDescriptorType where- showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLER- = showString "VK_DESCRIPTOR_TYPE_SAMPLER"- showsPrec _ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER- = showString "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"- showsPrec _ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE- = showString "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"- showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE- = showString "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"- showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER- = showString "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"- showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER- = showString "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"- showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER- = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"- showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER- = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"- showsPrec _ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC- = showString "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"- showsPrec _ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC- = showString "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"- showsPrec _ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT- = showString "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"- showsPrec p (VkDescriptorType x)- = showParen (p >= 11)- (showString "VkDescriptorType " . showsPrec 11 x)--instance Read VkDescriptorType where- readPrec- = parens- (choose- [("VK_DESCRIPTOR_TYPE_SAMPLER", pure VK_DESCRIPTOR_TYPE_SAMPLER),- ("VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",- pure VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER),- ("VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",- pure VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE),- ("VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",- pure VK_DESCRIPTOR_TYPE_STORAGE_IMAGE),- ("VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",- pure VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER),- ("VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",- pure VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER),- ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",- pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER),- ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",- pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER),- ("VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",- pure VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC),- ("VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",- pure VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC),- ("VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",- pure VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)]- +++- prec 10- (expectP (Ident "VkDescriptorType") >>- (VkDescriptorType <$> step readPrec)))--pattern VK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType 0--pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ::- VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER =- VkDescriptorType 1--pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = VkDescriptorType 2--pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = VkDescriptorType 3--pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER =- VkDescriptorType 4--pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER =- VkDescriptorType 5--pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = VkDescriptorType 6--pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = VkDescriptorType 7--pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC ::- VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC =- VkDescriptorType 8--pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC ::- VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC =- VkDescriptorType 9--pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType--pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = VkDescriptorType 10
@@ -1,51 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateType- (VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType,- VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDescriptorUpdateTemplateType.html VkDescriptorUpdateTemplateType registry at www.khronos.org>-newtype VkDescriptorUpdateTemplateType = VkDescriptorUpdateTemplateType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkDescriptorUpdateTemplateType where- showsPrec _ VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET- = showString "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"- showsPrec p (VkDescriptorUpdateTemplateType x)- = showParen (p >= 11)- (showString "VkDescriptorUpdateTemplateType " . showsPrec 11 x)--instance Read VkDescriptorUpdateTemplateType where- readPrec- = parens- (choose- [("VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET",- pure VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)]- +++- prec 10- (expectP (Ident "VkDescriptorUpdateTemplateType") >>- (VkDescriptorUpdateTemplateType <$> step readPrec)))---- | Create descriptor update template for descriptor set updates-pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ::- VkDescriptorUpdateTemplateType--pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET =- VkDescriptorUpdateTemplateType 0
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDescriptorUpdateTemplateTypeKHR- (VkDescriptorUpdateTemplateTypeKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateTypeKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkDescriptorUpdateTemplateTypeKHR where- {-# INLINE show #-}- show (VkDescriptorUpdateTemplateTypeKHR x) = show x--instance Read VkDescriptorUpdateTemplateTypeKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDeviceCreateFlagBits- (VkDeviceCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkDeviceCreateFlagBits = VkDeviceCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkDeviceCreateFlagBits where- {-# INLINE show #-}- show (VkDeviceCreateFlagBits x) = show x--instance Read VkDeviceCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,49 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDeviceEventTypeEXT- (VkDeviceEventTypeEXT(VkDeviceEventTypeEXT,- VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDeviceEventTypeEXT.html VkDeviceEventTypeEXT registry at www.khronos.org>-newtype VkDeviceEventTypeEXT = VkDeviceEventTypeEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkDeviceEventTypeEXT where- showsPrec _ VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT- = showString "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"- showsPrec p (VkDeviceEventTypeEXT x)- = showParen (p >= 11)- (showString "VkDeviceEventTypeEXT " . showsPrec 11 x)--instance Read VkDeviceEventTypeEXT where- readPrec- = parens- (choose- [("VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT",- pure VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT)]- +++- prec 10- (expectP (Ident "VkDeviceEventTypeEXT") >>- (VkDeviceEventTypeEXT <$> step readPrec)))--pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT ::- VkDeviceEventTypeEXT--pattern VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT =- VkDeviceEventTypeEXT 0
@@ -1,142 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDeviceGroupPresentModeFlagsKHR- (VkDeviceGroupPresentModeBitmaskKHR(VkDeviceGroupPresentModeBitmaskKHR,- VkDeviceGroupPresentModeFlagsKHR,- VkDeviceGroupPresentModeFlagBitsKHR,- VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR,- VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR,- VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR,- VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR),- VkDeviceGroupPresentModeFlagsKHR,- VkDeviceGroupPresentModeFlagBitsKHR)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDeviceGroupPresentModeBitmaskKHR (a ::- FlagType) = VkDeviceGroupPresentModeBitmaskKHR VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkDeviceGroupPresentModeFlagsKHR =- VkDeviceGroupPresentModeBitmaskKHR FlagMask--type VkDeviceGroupPresentModeFlagBitsKHR =- VkDeviceGroupPresentModeBitmaskKHR FlagBit--pattern VkDeviceGroupPresentModeFlagBitsKHR ::- VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagBit--pattern VkDeviceGroupPresentModeFlagBitsKHR n =- VkDeviceGroupPresentModeBitmaskKHR n--pattern VkDeviceGroupPresentModeFlagsKHR ::- VkFlags -> VkDeviceGroupPresentModeBitmaskKHR FlagMask--pattern VkDeviceGroupPresentModeFlagsKHR n =- VkDeviceGroupPresentModeBitmaskKHR n--deriving instance- Bits (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance- FiniteBits (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance- Integral (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance Num (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance- Bounded (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance- Enum (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--deriving instance- Real (VkDeviceGroupPresentModeBitmaskKHR FlagMask)--instance Show (VkDeviceGroupPresentModeBitmaskKHR a) where- showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR- = showString "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"- showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR- = showString "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"- showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR- = showString "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"- showsPrec _ VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR- = showString- "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"- showsPrec p (VkDeviceGroupPresentModeBitmaskKHR x)- = showParen (p >= 11)- (showString "VkDeviceGroupPresentModeBitmaskKHR " . showsPrec 11 x)--instance Read (VkDeviceGroupPresentModeBitmaskKHR a) where- readPrec- = parens- (choose- [("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR",- pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR),- ("VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR",- pure VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR),- ("VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR",- pure VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR),- ("VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR",- pure VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR)]- +++- prec 10- (expectP (Ident "VkDeviceGroupPresentModeBitmaskKHR") >>- (VkDeviceGroupPresentModeBitmaskKHR <$> step readPrec)))---- | Present from local memory------ bitpos = @0@-pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR ::- VkDeviceGroupPresentModeBitmaskKHR a--pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR =- VkDeviceGroupPresentModeBitmaskKHR 1---- | Present from remote memory------ bitpos = @1@-pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR ::- VkDeviceGroupPresentModeBitmaskKHR a--pattern VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR =- VkDeviceGroupPresentModeBitmaskKHR 2---- | Present sum of local and/or remote memory------ bitpos = @2@-pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR ::- VkDeviceGroupPresentModeBitmaskKHR a--pattern VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR =- VkDeviceGroupPresentModeBitmaskKHR 4---- | Each physical device presents from local memory------ bitpos = @3@-pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR ::- VkDeviceGroupPresentModeBitmaskKHR a--pattern VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR =- VkDeviceGroupPresentModeBitmaskKHR 8
@@ -1,73 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags- (VkDeviceQueueCreateBitmask(VkDeviceQueueCreateBitmask,- VkDeviceQueueCreateFlags, VkDeviceQueueCreateFlagBits),- VkDeviceQueueCreateFlags, VkDeviceQueueCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDeviceQueueCreateBitmask (a ::- FlagType) = VkDeviceQueueCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask--type VkDeviceQueueCreateFlagBits =- VkDeviceQueueCreateBitmask FlagBit--pattern VkDeviceQueueCreateFlagBits ::- VkFlags -> VkDeviceQueueCreateBitmask FlagBit--pattern VkDeviceQueueCreateFlagBits n =- VkDeviceQueueCreateBitmask n--pattern VkDeviceQueueCreateFlags ::- VkFlags -> VkDeviceQueueCreateBitmask FlagMask--pattern VkDeviceQueueCreateFlags n = VkDeviceQueueCreateBitmask n--deriving instance Bits (VkDeviceQueueCreateBitmask FlagMask)--deriving instance FiniteBits (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Integral (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Num (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Bounded (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Enum (VkDeviceQueueCreateBitmask FlagMask)--deriving instance Real (VkDeviceQueueCreateBitmask FlagMask)--instance Show (VkDeviceQueueCreateBitmask a) where- showsPrec p (VkDeviceQueueCreateBitmask x)- = showParen (p >= 11)- (showString "VkDeviceQueueCreateBitmask " . showsPrec 11 x)--instance Read (VkDeviceQueueCreateBitmask a) where- readPrec- = parens- (choose [] +++- prec 10- (expectP (Ident "VkDeviceQueueCreateBitmask") >>- (VkDeviceQueueCreateBitmask <$> step readPrec)))
@@ -1,61 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDiscardRectangleModeEXT- (VkDiscardRectangleModeEXT(VkDiscardRectangleModeEXT,- VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT,- VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDiscardRectangleModeEXT.html VkDiscardRectangleModeEXT registry at www.khronos.org>-newtype VkDiscardRectangleModeEXT = VkDiscardRectangleModeEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkDiscardRectangleModeEXT where- showsPrec _ VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT- = showString "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"- showsPrec _ VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT- = showString "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"- showsPrec p (VkDiscardRectangleModeEXT x)- = showParen (p >= 11)- (showString "VkDiscardRectangleModeEXT " . showsPrec 11 x)--instance Read VkDiscardRectangleModeEXT where- readPrec- = parens- (choose- [("VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT",- pure VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT),- ("VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT",- pure VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT)]- +++- prec 10- (expectP (Ident "VkDiscardRectangleModeEXT") >>- (VkDiscardRectangleModeEXT <$> step readPrec)))--pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT ::- VkDiscardRectangleModeEXT--pattern VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT =- VkDiscardRectangleModeEXT 0--pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT ::- VkDiscardRectangleModeEXT--pattern VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT =- VkDiscardRectangleModeEXT 1
@@ -1,49 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDisplayEventTypeEXT- (VkDisplayEventTypeEXT(VkDisplayEventTypeEXT,- VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayEventTypeEXT.html VkDisplayEventTypeEXT registry at www.khronos.org>-newtype VkDisplayEventTypeEXT = VkDisplayEventTypeEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkDisplayEventTypeEXT where- showsPrec _ VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT- = showString "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"- showsPrec p (VkDisplayEventTypeEXT x)- = showParen (p >= 11)- (showString "VkDisplayEventTypeEXT " . showsPrec 11 x)--instance Read VkDisplayEventTypeEXT where- readPrec- = parens- (choose- [("VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT",- pure VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT)]- +++- prec 10- (expectP (Ident "VkDisplayEventTypeEXT") >>- (VkDisplayEventTypeEXT <$> step readPrec)))--pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT ::- VkDisplayEventTypeEXT--pattern VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT =- VkDisplayEventTypeEXT 0
@@ -1,126 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkDisplayPlaneAlphaFlagsKHR- (VkDisplayPlaneAlphaBitmaskKHR(VkDisplayPlaneAlphaBitmaskKHR,- VkDisplayPlaneAlphaFlagsKHR, VkDisplayPlaneAlphaFlagBitsKHR,- VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR,- VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR,- VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR,- VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR),- VkDisplayPlaneAlphaFlagsKHR, VkDisplayPlaneAlphaFlagBitsKHR)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkDisplayPlaneAlphaBitmaskKHR (a ::- FlagType) = VkDisplayPlaneAlphaBitmaskKHR VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkDisplayPlaneAlphaFlagsKHR =- VkDisplayPlaneAlphaBitmaskKHR FlagMask--type VkDisplayPlaneAlphaFlagBitsKHR =- VkDisplayPlaneAlphaBitmaskKHR FlagBit--pattern VkDisplayPlaneAlphaFlagBitsKHR ::- VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagBit--pattern VkDisplayPlaneAlphaFlagBitsKHR n =- VkDisplayPlaneAlphaBitmaskKHR n--pattern VkDisplayPlaneAlphaFlagsKHR ::- VkFlags -> VkDisplayPlaneAlphaBitmaskKHR FlagMask--pattern VkDisplayPlaneAlphaFlagsKHR n =- VkDisplayPlaneAlphaBitmaskKHR n--deriving instance Bits (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance- FiniteBits (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Integral (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Num (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Bounded (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Enum (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--deriving instance Real (VkDisplayPlaneAlphaBitmaskKHR FlagMask)--instance Show (VkDisplayPlaneAlphaBitmaskKHR a) where- showsPrec _ VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR- = showString "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"- showsPrec _ VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR- = showString "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"- showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR- = showString "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"- showsPrec _ VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR- = showString- "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"- showsPrec p (VkDisplayPlaneAlphaBitmaskKHR x)- = showParen (p >= 11)- (showString "VkDisplayPlaneAlphaBitmaskKHR " . showsPrec 11 x)--instance Read (VkDisplayPlaneAlphaBitmaskKHR a) where- readPrec- = parens- (choose- [("VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR",- pure VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR),- ("VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR",- pure VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR),- ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR",- pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR),- ("VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR",- pure VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR)]- +++- prec 10- (expectP (Ident "VkDisplayPlaneAlphaBitmaskKHR") >>- (VkDisplayPlaneAlphaBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR ::- VkDisplayPlaneAlphaBitmaskKHR a--pattern VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR =- VkDisplayPlaneAlphaBitmaskKHR 1---- | bitpos = @1@-pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR ::- VkDisplayPlaneAlphaBitmaskKHR a--pattern VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR =- VkDisplayPlaneAlphaBitmaskKHR 2---- | bitpos = @2@-pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR ::- VkDisplayPlaneAlphaBitmaskKHR a--pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR =- VkDisplayPlaneAlphaBitmaskKHR 4---- | bitpos = @3@-pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR ::- VkDisplayPlaneAlphaBitmaskKHR a--pattern VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR =- VkDisplayPlaneAlphaBitmaskKHR 8
@@ -1,66 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDisplayPowerStateEXT- (VkDisplayPowerStateEXT(VkDisplayPowerStateEXT,- VK_DISPLAY_POWER_STATE_OFF_EXT, VK_DISPLAY_POWER_STATE_SUSPEND_EXT,- VK_DISPLAY_POWER_STATE_ON_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDisplayPowerStateEXT.html VkDisplayPowerStateEXT registry at www.khronos.org>-newtype VkDisplayPowerStateEXT = VkDisplayPowerStateEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkDisplayPowerStateEXT where- showsPrec _ VK_DISPLAY_POWER_STATE_OFF_EXT- = showString "VK_DISPLAY_POWER_STATE_OFF_EXT"- showsPrec _ VK_DISPLAY_POWER_STATE_SUSPEND_EXT- = showString "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"- showsPrec _ VK_DISPLAY_POWER_STATE_ON_EXT- = showString "VK_DISPLAY_POWER_STATE_ON_EXT"- showsPrec p (VkDisplayPowerStateEXT x)- = showParen (p >= 11)- (showString "VkDisplayPowerStateEXT " . showsPrec 11 x)--instance Read VkDisplayPowerStateEXT where- readPrec- = parens- (choose- [("VK_DISPLAY_POWER_STATE_OFF_EXT",- pure VK_DISPLAY_POWER_STATE_OFF_EXT),- ("VK_DISPLAY_POWER_STATE_SUSPEND_EXT",- pure VK_DISPLAY_POWER_STATE_SUSPEND_EXT),- ("VK_DISPLAY_POWER_STATE_ON_EXT",- pure VK_DISPLAY_POWER_STATE_ON_EXT)]- +++- prec 10- (expectP (Ident "VkDisplayPowerStateEXT") >>- (VkDisplayPowerStateEXT <$> step readPrec)))--pattern VK_DISPLAY_POWER_STATE_OFF_EXT :: VkDisplayPowerStateEXT--pattern VK_DISPLAY_POWER_STATE_OFF_EXT = VkDisplayPowerStateEXT 0--pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT ::- VkDisplayPowerStateEXT--pattern VK_DISPLAY_POWER_STATE_SUSPEND_EXT =- VkDisplayPowerStateEXT 1--pattern VK_DISPLAY_POWER_STATE_ON_EXT :: VkDisplayPowerStateEXT--pattern VK_DISPLAY_POWER_STATE_ON_EXT = VkDisplayPowerStateEXT 2
@@ -1,112 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkDynamicState- (VkDynamicState(VkDynamicState, VK_DYNAMIC_STATE_VIEWPORT,- VK_DYNAMIC_STATE_SCISSOR, VK_DYNAMIC_STATE_LINE_WIDTH,- VK_DYNAMIC_STATE_DEPTH_BIAS, VK_DYNAMIC_STATE_BLEND_CONSTANTS,- VK_DYNAMIC_STATE_DEPTH_BOUNDS,- VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK,- VK_DYNAMIC_STATE_STENCIL_WRITE_MASK,- VK_DYNAMIC_STATE_STENCIL_REFERENCE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDynamicState.html VkDynamicState registry at www.khronos.org>-newtype VkDynamicState = VkDynamicState Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkDynamicState where- showsPrec _ VK_DYNAMIC_STATE_VIEWPORT- = showString "VK_DYNAMIC_STATE_VIEWPORT"- showsPrec _ VK_DYNAMIC_STATE_SCISSOR- = showString "VK_DYNAMIC_STATE_SCISSOR"- showsPrec _ VK_DYNAMIC_STATE_LINE_WIDTH- = showString "VK_DYNAMIC_STATE_LINE_WIDTH"- showsPrec _ VK_DYNAMIC_STATE_DEPTH_BIAS- = showString "VK_DYNAMIC_STATE_DEPTH_BIAS"- showsPrec _ VK_DYNAMIC_STATE_BLEND_CONSTANTS- = showString "VK_DYNAMIC_STATE_BLEND_CONSTANTS"- showsPrec _ VK_DYNAMIC_STATE_DEPTH_BOUNDS- = showString "VK_DYNAMIC_STATE_DEPTH_BOUNDS"- showsPrec _ VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK- = showString "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"- showsPrec _ VK_DYNAMIC_STATE_STENCIL_WRITE_MASK- = showString "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"- showsPrec _ VK_DYNAMIC_STATE_STENCIL_REFERENCE- = showString "VK_DYNAMIC_STATE_STENCIL_REFERENCE"- showsPrec p (VkDynamicState x)- = showParen (p >= 11)- (showString "VkDynamicState " . showsPrec 11 x)--instance Read VkDynamicState where- readPrec- = parens- (choose- [("VK_DYNAMIC_STATE_VIEWPORT", pure VK_DYNAMIC_STATE_VIEWPORT),- ("VK_DYNAMIC_STATE_SCISSOR", pure VK_DYNAMIC_STATE_SCISSOR),- ("VK_DYNAMIC_STATE_LINE_WIDTH", pure VK_DYNAMIC_STATE_LINE_WIDTH),- ("VK_DYNAMIC_STATE_DEPTH_BIAS", pure VK_DYNAMIC_STATE_DEPTH_BIAS),- ("VK_DYNAMIC_STATE_BLEND_CONSTANTS",- pure VK_DYNAMIC_STATE_BLEND_CONSTANTS),- ("VK_DYNAMIC_STATE_DEPTH_BOUNDS",- pure VK_DYNAMIC_STATE_DEPTH_BOUNDS),- ("VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK",- pure VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK),- ("VK_DYNAMIC_STATE_STENCIL_WRITE_MASK",- pure VK_DYNAMIC_STATE_STENCIL_WRITE_MASK),- ("VK_DYNAMIC_STATE_STENCIL_REFERENCE",- pure VK_DYNAMIC_STATE_STENCIL_REFERENCE)]- +++- prec 10- (expectP (Ident "VkDynamicState") >>- (VkDynamicState <$> step readPrec)))--pattern VK_DYNAMIC_STATE_VIEWPORT :: VkDynamicState--pattern VK_DYNAMIC_STATE_VIEWPORT = VkDynamicState 0--pattern VK_DYNAMIC_STATE_SCISSOR :: VkDynamicState--pattern VK_DYNAMIC_STATE_SCISSOR = VkDynamicState 1--pattern VK_DYNAMIC_STATE_LINE_WIDTH :: VkDynamicState--pattern VK_DYNAMIC_STATE_LINE_WIDTH = VkDynamicState 2--pattern VK_DYNAMIC_STATE_DEPTH_BIAS :: VkDynamicState--pattern VK_DYNAMIC_STATE_DEPTH_BIAS = VkDynamicState 3--pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS :: VkDynamicState--pattern VK_DYNAMIC_STATE_BLEND_CONSTANTS = VkDynamicState 4--pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS :: VkDynamicState--pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS = VkDynamicState 5--pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK :: VkDynamicState--pattern VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = VkDynamicState 6--pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK :: VkDynamicState--pattern VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = VkDynamicState 7--pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE :: VkDynamicState--pattern VK_DYNAMIC_STATE_STENCIL_REFERENCE = VkDynamicState 8
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlagBitsKHR- (VkExternalFenceFeatureFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkExternalFenceFeatureFlagBitsKHR where- {-# INLINE show #-}- show (VkExternalFenceFeatureFlagBitsKHR x) = show x--instance Read VkExternalFenceFeatureFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,101 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalFenceFeatureFlags- (VkExternalFenceFeatureBitmask(VkExternalFenceFeatureBitmask,- VkExternalFenceFeatureFlags, VkExternalFenceFeatureFlagBits,- VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,- VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT),- VkExternalFenceFeatureFlags, VkExternalFenceFeatureFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalFenceFeatureBitmask (a ::- FlagType) = VkExternalFenceFeatureBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkExternalFenceFeatureFlags =- VkExternalFenceFeatureBitmask FlagMask--type VkExternalFenceFeatureFlagBits =- VkExternalFenceFeatureBitmask FlagBit--pattern VkExternalFenceFeatureFlagBits ::- VkFlags -> VkExternalFenceFeatureBitmask FlagBit--pattern VkExternalFenceFeatureFlagBits n =- VkExternalFenceFeatureBitmask n--pattern VkExternalFenceFeatureFlags ::- VkFlags -> VkExternalFenceFeatureBitmask FlagMask--pattern VkExternalFenceFeatureFlags n =- VkExternalFenceFeatureBitmask n--deriving instance Bits (VkExternalFenceFeatureBitmask FlagMask)--deriving instance- FiniteBits (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Integral (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Num (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Bounded (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Enum (VkExternalFenceFeatureBitmask FlagMask)--deriving instance Real (VkExternalFenceFeatureBitmask FlagMask)--instance Show (VkExternalFenceFeatureBitmask a) where- showsPrec _ VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT- = showString "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"- showsPrec _ VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT- = showString "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"- showsPrec p (VkExternalFenceFeatureBitmask x)- = showParen (p >= 11)- (showString "VkExternalFenceFeatureBitmask " . showsPrec 11 x)--instance Read (VkExternalFenceFeatureBitmask a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT",- pure VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT),- ("VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT",- pure VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT)]- +++- prec 10- (expectP (Ident "VkExternalFenceFeatureBitmask") >>- (VkExternalFenceFeatureBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT ::- VkExternalFenceFeatureBitmask a--pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT =- VkExternalFenceFeatureBitmask 1---- | bitpos = @1@-pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT ::- VkExternalFenceFeatureBitmask a--pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT =- VkExternalFenceFeatureBitmask 2
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlagBitsKHR- (VkExternalFenceHandleTypeFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkExternalFenceHandleTypeFlagBitsKHR where- {-# INLINE show #-}- show (VkExternalFenceHandleTypeFlagBitsKHR x) = show x--instance Read VkExternalFenceHandleTypeFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,129 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalFenceHandleTypeFlags- (VkExternalFenceHandleTypeBitmask(VkExternalFenceHandleTypeBitmask,- VkExternalFenceHandleTypeFlags,- VkExternalFenceHandleTypeFlagBits,- VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,- VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,- VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,- VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT),- VkExternalFenceHandleTypeFlags, VkExternalFenceHandleTypeFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalFenceHandleTypeBitmask (a ::- FlagType) = VkExternalFenceHandleTypeBitmask VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkExternalFenceHandleTypeFlags =- VkExternalFenceHandleTypeBitmask FlagMask--type VkExternalFenceHandleTypeFlagBits =- VkExternalFenceHandleTypeBitmask FlagBit--pattern VkExternalFenceHandleTypeFlagBits ::- VkFlags -> VkExternalFenceHandleTypeBitmask FlagBit--pattern VkExternalFenceHandleTypeFlagBits n =- VkExternalFenceHandleTypeBitmask n--pattern VkExternalFenceHandleTypeFlags ::- VkFlags -> VkExternalFenceHandleTypeBitmask FlagMask--pattern VkExternalFenceHandleTypeFlags n =- VkExternalFenceHandleTypeBitmask n--deriving instance Bits (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance- FiniteBits (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance- Integral (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance Num (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance- Bounded (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance Enum (VkExternalFenceHandleTypeBitmask FlagMask)--deriving instance Real (VkExternalFenceHandleTypeBitmask FlagMask)--instance Show (VkExternalFenceHandleTypeBitmask a) where- showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT- = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"- showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT- = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"- showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT- = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"- showsPrec _ VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT- = showString "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"- showsPrec p (VkExternalFenceHandleTypeBitmask x)- = showParen (p >= 11)- (showString "VkExternalFenceHandleTypeBitmask " . showsPrec 11 x)--instance Read (VkExternalFenceHandleTypeBitmask a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT",- pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT),- ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT",- pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT),- ("VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",- pure VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),- ("VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT",- pure VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT)]- +++- prec 10- (expectP (Ident "VkExternalFenceHandleTypeBitmask") >>- (VkExternalFenceHandleTypeBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT ::- VkExternalFenceHandleTypeBitmask a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT =- VkExternalFenceHandleTypeBitmask 1---- | bitpos = @1@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT ::- VkExternalFenceHandleTypeBitmask a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT =- VkExternalFenceHandleTypeBitmask 2---- | bitpos = @2@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::- VkExternalFenceHandleTypeBitmask a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =- VkExternalFenceHandleTypeBitmask 4---- | bitpos = @3@-pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT ::- VkExternalFenceHandleTypeBitmask a--pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT =- VkExternalFenceHandleTypeBitmask 8
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagBitsKHR- (VkExternalMemoryFeatureFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkExternalMemoryFeatureFlagBitsKHR where- {-# INLINE show #-}- show (VkExternalMemoryFeatureFlagBitsKHR x) = show x--instance Read VkExternalMemoryFeatureFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,115 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlags- (VkExternalMemoryFeatureBitmask(VkExternalMemoryFeatureBitmask,- VkExternalMemoryFeatureFlags,- VkExternalMemoryFeatureFlagBits,- VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,- VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,- VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT),- VkExternalMemoryFeatureFlags, VkExternalMemoryFeatureFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalMemoryFeatureBitmask (a ::- FlagType) = VkExternalMemoryFeatureBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkExternalMemoryFeatureFlags =- VkExternalMemoryFeatureBitmask FlagMask--type VkExternalMemoryFeatureFlagBits =- VkExternalMemoryFeatureBitmask FlagBit--pattern VkExternalMemoryFeatureFlagBits ::- VkFlags -> VkExternalMemoryFeatureBitmask FlagBit--pattern VkExternalMemoryFeatureFlagBits n =- VkExternalMemoryFeatureBitmask n--pattern VkExternalMemoryFeatureFlags ::- VkFlags -> VkExternalMemoryFeatureBitmask FlagMask--pattern VkExternalMemoryFeatureFlags n =- VkExternalMemoryFeatureBitmask n--deriving instance Bits (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance- FiniteBits (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance- Integral (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Num (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Bounded (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Enum (VkExternalMemoryFeatureBitmask FlagMask)--deriving instance Real (VkExternalMemoryFeatureBitmask FlagMask)--instance Show (VkExternalMemoryFeatureBitmask a) where- showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT- = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT- = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT- = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"- showsPrec p (VkExternalMemoryFeatureBitmask x)- = showParen (p >= 11)- (showString "VkExternalMemoryFeatureBitmask " . showsPrec 11 x)--instance Read (VkExternalMemoryFeatureBitmask a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT",- pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT),- ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT",- pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT),- ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT",- pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)]- +++- prec 10- (expectP (Ident "VkExternalMemoryFeatureBitmask") >>- (VkExternalMemoryFeatureBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT ::- VkExternalMemoryFeatureBitmask a--pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT =- VkExternalMemoryFeatureBitmask 1---- | bitpos = @1@-pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT ::- VkExternalMemoryFeatureBitmask a--pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT =- VkExternalMemoryFeatureBitmask 2---- | bitpos = @2@-pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT ::- VkExternalMemoryFeatureBitmask a--pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT =- VkExternalMemoryFeatureBitmask 4
@@ -1,117 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryFeatureFlagsNV- (VkExternalMemoryFeatureBitmaskNV(VkExternalMemoryFeatureBitmaskNV,- VkExternalMemoryFeatureFlagsNV,- VkExternalMemoryFeatureFlagBitsNV,- VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV,- VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV,- VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV),- VkExternalMemoryFeatureFlagsNV, VkExternalMemoryFeatureFlagBitsNV)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalMemoryFeatureBitmaskNV (a ::- FlagType) = VkExternalMemoryFeatureBitmaskNV VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkExternalMemoryFeatureFlagsNV =- VkExternalMemoryFeatureBitmaskNV FlagMask--type VkExternalMemoryFeatureFlagBitsNV =- VkExternalMemoryFeatureBitmaskNV FlagBit--pattern VkExternalMemoryFeatureFlagBitsNV ::- VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagBit--pattern VkExternalMemoryFeatureFlagBitsNV n =- VkExternalMemoryFeatureBitmaskNV n--pattern VkExternalMemoryFeatureFlagsNV ::- VkFlags -> VkExternalMemoryFeatureBitmaskNV FlagMask--pattern VkExternalMemoryFeatureFlagsNV n =- VkExternalMemoryFeatureBitmaskNV n--deriving instance Bits (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance- FiniteBits (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance- Integral (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance Num (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance- Bounded (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance Enum (VkExternalMemoryFeatureBitmaskNV FlagMask)--deriving instance Real (VkExternalMemoryFeatureBitmaskNV FlagMask)--instance Show (VkExternalMemoryFeatureBitmaskNV a) where- showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV- = showString "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"- showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV- = showString "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"- showsPrec _ VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV- = showString "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"- showsPrec p (VkExternalMemoryFeatureBitmaskNV x)- = showParen (p >= 11)- (showString "VkExternalMemoryFeatureBitmaskNV " . showsPrec 11 x)--instance Read (VkExternalMemoryFeatureBitmaskNV a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV",- pure VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV),- ("VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV",- pure VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV),- ("VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV",- pure VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV)]- +++- prec 10- (expectP (Ident "VkExternalMemoryFeatureBitmaskNV") >>- (VkExternalMemoryFeatureBitmaskNV <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV ::- VkExternalMemoryFeatureBitmaskNV a--pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV =- VkExternalMemoryFeatureBitmaskNV 1---- | bitpos = @1@-pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV ::- VkExternalMemoryFeatureBitmaskNV a--pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV =- VkExternalMemoryFeatureBitmaskNV 2---- | bitpos = @2@-pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV ::- VkExternalMemoryFeatureBitmaskNV a--pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV =- VkExternalMemoryFeatureBitmaskNV 4
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagBitsKHR- (VkExternalMemoryHandleTypeFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkExternalMemoryHandleTypeFlagBitsKHR where- {-# INLINE show #-}- show (VkExternalMemoryHandleTypeFlagBitsKHR x) = show x--instance Read VkExternalMemoryHandleTypeFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,166 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlags- (VkExternalMemoryHandleTypeBitmask(VkExternalMemoryHandleTypeBitmask,- VkExternalMemoryHandleTypeFlags,- VkExternalMemoryHandleTypeFlagBits,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT),- VkExternalMemoryHandleTypeFlags,- VkExternalMemoryHandleTypeFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalMemoryHandleTypeBitmask (a ::- FlagType) = VkExternalMemoryHandleTypeBitmask VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkExternalMemoryHandleTypeFlags =- VkExternalMemoryHandleTypeBitmask FlagMask--type VkExternalMemoryHandleTypeFlagBits =- VkExternalMemoryHandleTypeBitmask FlagBit--pattern VkExternalMemoryHandleTypeFlagBits ::- VkFlags -> VkExternalMemoryHandleTypeBitmask FlagBit--pattern VkExternalMemoryHandleTypeFlagBits n =- VkExternalMemoryHandleTypeBitmask n--pattern VkExternalMemoryHandleTypeFlags ::- VkFlags -> VkExternalMemoryHandleTypeBitmask FlagMask--pattern VkExternalMemoryHandleTypeFlags n =- VkExternalMemoryHandleTypeBitmask n--deriving instance Bits (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance- FiniteBits (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance- Integral (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance Num (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance- Bounded (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance Enum (VkExternalMemoryHandleTypeBitmask FlagMask)--deriving instance Real (VkExternalMemoryHandleTypeBitmask FlagMask)--instance Show (VkExternalMemoryHandleTypeBitmask a) where- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"- showsPrec p (VkExternalMemoryHandleTypeBitmask x)- = showParen (p >= 11)- (showString "VkExternalMemoryHandleTypeBitmask " . showsPrec 11 x)--instance Read (VkExternalMemoryHandleTypeBitmask a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT)]- +++- prec 10- (expectP (Ident "VkExternalMemoryHandleTypeBitmask") >>- (VkExternalMemoryHandleTypeBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT =- VkExternalMemoryHandleTypeBitmask 1---- | bitpos = @1@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT =- VkExternalMemoryHandleTypeBitmask 2---- | bitpos = @2@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =- VkExternalMemoryHandleTypeBitmask 4---- | bitpos = @3@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT =- VkExternalMemoryHandleTypeBitmask 8---- | bitpos = @4@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT =- VkExternalMemoryHandleTypeBitmask 16---- | bitpos = @5@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT =- VkExternalMemoryHandleTypeBitmask 32---- | bitpos = @6@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT ::- VkExternalMemoryHandleTypeBitmask a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT =- VkExternalMemoryHandleTypeBitmask 64
@@ -1,137 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalMemoryHandleTypeFlagsNV- (VkExternalMemoryHandleTypeBitmaskNV(VkExternalMemoryHandleTypeBitmaskNV,- VkExternalMemoryHandleTypeFlagsNV,- VkExternalMemoryHandleTypeFlagBitsNV,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV,- VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV),- VkExternalMemoryHandleTypeFlagsNV,- VkExternalMemoryHandleTypeFlagBitsNV)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalMemoryHandleTypeBitmaskNV (a ::- FlagType) = VkExternalMemoryHandleTypeBitmaskNV VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkExternalMemoryHandleTypeFlagsNV =- VkExternalMemoryHandleTypeBitmaskNV FlagMask--type VkExternalMemoryHandleTypeFlagBitsNV =- VkExternalMemoryHandleTypeBitmaskNV FlagBit--pattern VkExternalMemoryHandleTypeFlagBitsNV ::- VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagBit--pattern VkExternalMemoryHandleTypeFlagBitsNV n =- VkExternalMemoryHandleTypeBitmaskNV n--pattern VkExternalMemoryHandleTypeFlagsNV ::- VkFlags -> VkExternalMemoryHandleTypeBitmaskNV FlagMask--pattern VkExternalMemoryHandleTypeFlagsNV n =- VkExternalMemoryHandleTypeBitmaskNV n--deriving instance- Bits (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance- FiniteBits (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance- Integral (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance- Num (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance- Bounded (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance- Enum (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--deriving instance- Real (VkExternalMemoryHandleTypeBitmaskNV FlagMask)--instance Show (VkExternalMemoryHandleTypeBitmaskNV a) where- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV- = showString- "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV- = showString "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"- showsPrec _ VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV- = showString- "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"- showsPrec p (VkExternalMemoryHandleTypeBitmaskNV x)- = showParen (p >= 11)- (showString "VkExternalMemoryHandleTypeBitmaskNV " .- showsPrec 11 x)--instance Read (VkExternalMemoryHandleTypeBitmaskNV a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV),- ("VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV",- pure VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV)]- +++- prec 10- (expectP (Ident "VkExternalMemoryHandleTypeBitmaskNV") >>- (VkExternalMemoryHandleTypeBitmaskNV <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV ::- VkExternalMemoryHandleTypeBitmaskNV a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV =- VkExternalMemoryHandleTypeBitmaskNV 1---- | bitpos = @1@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV ::- VkExternalMemoryHandleTypeBitmaskNV a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV =- VkExternalMemoryHandleTypeBitmaskNV 2---- | bitpos = @2@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV ::- VkExternalMemoryHandleTypeBitmaskNV a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV =- VkExternalMemoryHandleTypeBitmaskNV 4---- | bitpos = @3@-pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV ::- VkExternalMemoryHandleTypeBitmaskNV a--pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV =- VkExternalMemoryHandleTypeBitmaskNV 8
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlagBitsKHR- (VkExternalSemaphoreFeatureFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkExternalSemaphoreFeatureFlagBitsKHR where- {-# INLINE show #-}- show (VkExternalSemaphoreFeatureFlagBitsKHR x) = show x--instance Read VkExternalSemaphoreFeatureFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,106 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreFeatureFlags- (VkExternalSemaphoreFeatureBitmask(VkExternalSemaphoreFeatureBitmask,- VkExternalSemaphoreFeatureFlags,- VkExternalSemaphoreFeatureFlagBits,- VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,- VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT),- VkExternalSemaphoreFeatureFlags,- VkExternalSemaphoreFeatureFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalSemaphoreFeatureBitmask (a ::- FlagType) = VkExternalSemaphoreFeatureBitmask VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkExternalSemaphoreFeatureFlags =- VkExternalSemaphoreFeatureBitmask FlagMask--type VkExternalSemaphoreFeatureFlagBits =- VkExternalSemaphoreFeatureBitmask FlagBit--pattern VkExternalSemaphoreFeatureFlagBits ::- VkFlags -> VkExternalSemaphoreFeatureBitmask FlagBit--pattern VkExternalSemaphoreFeatureFlagBits n =- VkExternalSemaphoreFeatureBitmask n--pattern VkExternalSemaphoreFeatureFlags ::- VkFlags -> VkExternalSemaphoreFeatureBitmask FlagMask--pattern VkExternalSemaphoreFeatureFlags n =- VkExternalSemaphoreFeatureBitmask n--deriving instance Bits (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance- FiniteBits (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance- Integral (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance Num (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance- Bounded (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance Enum (VkExternalSemaphoreFeatureBitmask FlagMask)--deriving instance Real (VkExternalSemaphoreFeatureBitmask FlagMask)--instance Show (VkExternalSemaphoreFeatureBitmask a) where- showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT- = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"- showsPrec _ VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT- = showString "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"- showsPrec p (VkExternalSemaphoreFeatureBitmask x)- = showParen (p >= 11)- (showString "VkExternalSemaphoreFeatureBitmask " . showsPrec 11 x)--instance Read (VkExternalSemaphoreFeatureBitmask a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT",- pure VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT),- ("VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT",- pure VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT)]- +++- prec 10- (expectP (Ident "VkExternalSemaphoreFeatureBitmask") >>- (VkExternalSemaphoreFeatureBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT ::- VkExternalSemaphoreFeatureBitmask a--pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT =- VkExternalSemaphoreFeatureBitmask 1---- | bitpos = @1@-pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT ::- VkExternalSemaphoreFeatureBitmask a--pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT =- VkExternalSemaphoreFeatureBitmask 2
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlagBitsKHR- (VkExternalSemaphoreHandleTypeFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits, Storable,- Real, Data, Generic)--instance Show VkExternalSemaphoreHandleTypeFlagBitsKHR where- {-# INLINE show #-}- show (VkExternalSemaphoreHandleTypeFlagBitsKHR x) = show x--instance Read VkExternalSemaphoreHandleTypeFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,148 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkExternalSemaphoreHandleTypeFlags- (VkExternalSemaphoreHandleTypeBitmask(VkExternalSemaphoreHandleTypeBitmask,- VkExternalSemaphoreHandleTypeFlags,- VkExternalSemaphoreHandleTypeFlagBits,- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT),- VkExternalSemaphoreHandleTypeFlags,- VkExternalSemaphoreHandleTypeFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkExternalSemaphoreHandleTypeBitmask (a ::- FlagType) = VkExternalSemaphoreHandleTypeBitmask VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkExternalSemaphoreHandleTypeFlags =- VkExternalSemaphoreHandleTypeBitmask FlagMask--type VkExternalSemaphoreHandleTypeFlagBits =- VkExternalSemaphoreHandleTypeBitmask FlagBit--pattern VkExternalSemaphoreHandleTypeFlagBits ::- VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagBit--pattern VkExternalSemaphoreHandleTypeFlagBits n =- VkExternalSemaphoreHandleTypeBitmask n--pattern VkExternalSemaphoreHandleTypeFlags ::- VkFlags -> VkExternalSemaphoreHandleTypeBitmask FlagMask--pattern VkExternalSemaphoreHandleTypeFlags n =- VkExternalSemaphoreHandleTypeBitmask n--deriving instance- Bits (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance- FiniteBits (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance- Integral (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance- Num (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance- Bounded (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance- Enum (VkExternalSemaphoreHandleTypeBitmask FlagMask)--deriving instance- Real (VkExternalSemaphoreHandleTypeBitmask FlagMask)--instance Show (VkExternalSemaphoreHandleTypeBitmask a) where- showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT- = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"- showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT- = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"- showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT- = showString- "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"- showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT- = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"- showsPrec _ VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT- = showString "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"- showsPrec p (VkExternalSemaphoreHandleTypeBitmask x)- = showParen (p >= 11)- (showString "VkExternalSemaphoreHandleTypeBitmask " .- showsPrec 11 x)--instance Read (VkExternalSemaphoreHandleTypeBitmask a) where- readPrec- = parens- (choose- [("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT",- pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT),- ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT",- pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT),- ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT",- pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT),- ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT",- pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT),- ("VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT",- pure VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT)]- +++- prec 10- (expectP (Ident "VkExternalSemaphoreHandleTypeBitmask") >>- (VkExternalSemaphoreHandleTypeBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT ::- VkExternalSemaphoreHandleTypeBitmask a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT =- VkExternalSemaphoreHandleTypeBitmask 1---- | bitpos = @1@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT ::- VkExternalSemaphoreHandleTypeBitmask a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT =- VkExternalSemaphoreHandleTypeBitmask 2---- | bitpos = @2@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT ::- VkExternalSemaphoreHandleTypeBitmask a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT =- VkExternalSemaphoreHandleTypeBitmask 4---- | bitpos = @3@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT ::- VkExternalSemaphoreHandleTypeBitmask a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT =- VkExternalSemaphoreHandleTypeBitmask 8---- | bitpos = @4@-pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT ::- VkExternalSemaphoreHandleTypeBitmask a--pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT =- VkExternalSemaphoreHandleTypeBitmask 16
@@ -1,81 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkFenceCreateFlags- (VkFenceCreateBitmask(VkFenceCreateBitmask, VkFenceCreateFlags,- VkFenceCreateFlagBits, VK_FENCE_CREATE_SIGNALED_BIT),- VkFenceCreateFlags, VkFenceCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkFenceCreateBitmask (a ::- FlagType) = VkFenceCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask--type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit--pattern VkFenceCreateFlagBits ::- VkFlags -> VkFenceCreateBitmask FlagBit--pattern VkFenceCreateFlagBits n = VkFenceCreateBitmask n--pattern VkFenceCreateFlags ::- VkFlags -> VkFenceCreateBitmask FlagMask--pattern VkFenceCreateFlags n = VkFenceCreateBitmask n--deriving instance Bits (VkFenceCreateBitmask FlagMask)--deriving instance FiniteBits (VkFenceCreateBitmask FlagMask)--deriving instance Integral (VkFenceCreateBitmask FlagMask)--deriving instance Num (VkFenceCreateBitmask FlagMask)--deriving instance Bounded (VkFenceCreateBitmask FlagMask)--deriving instance Enum (VkFenceCreateBitmask FlagMask)--deriving instance Real (VkFenceCreateBitmask FlagMask)--instance Show (VkFenceCreateBitmask a) where- showsPrec _ VK_FENCE_CREATE_SIGNALED_BIT- = showString "VK_FENCE_CREATE_SIGNALED_BIT"- showsPrec p (VkFenceCreateBitmask x)- = showParen (p >= 11)- (showString "VkFenceCreateBitmask " . showsPrec 11 x)--instance Read (VkFenceCreateBitmask a) where- readPrec- = parens- (choose- [("VK_FENCE_CREATE_SIGNALED_BIT",- pure VK_FENCE_CREATE_SIGNALED_BIT)]- +++- prec 10- (expectP (Ident "VkFenceCreateBitmask") >>- (VkFenceCreateBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_FENCE_CREATE_SIGNALED_BIT :: VkFenceCreateBitmask a--pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateBitmask 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkFenceImportFlagBitsKHR- (VkFenceImportFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkFenceImportFlagBitsKHR = VkFenceImportFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkFenceImportFlagBitsKHR where- {-# INLINE show #-}- show (VkFenceImportFlagBitsKHR x) = show x--instance Read VkFenceImportFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,81 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkFenceImportFlags- (VkFenceImportBitmask(VkFenceImportBitmask, VkFenceImportFlags,- VkFenceImportFlagBits, VK_FENCE_IMPORT_TEMPORARY_BIT),- VkFenceImportFlags, VkFenceImportFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkFenceImportBitmask (a ::- FlagType) = VkFenceImportBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkFenceImportFlags = VkFenceImportBitmask FlagMask--type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit--pattern VkFenceImportFlagBits ::- VkFlags -> VkFenceImportBitmask FlagBit--pattern VkFenceImportFlagBits n = VkFenceImportBitmask n--pattern VkFenceImportFlags ::- VkFlags -> VkFenceImportBitmask FlagMask--pattern VkFenceImportFlags n = VkFenceImportBitmask n--deriving instance Bits (VkFenceImportBitmask FlagMask)--deriving instance FiniteBits (VkFenceImportBitmask FlagMask)--deriving instance Integral (VkFenceImportBitmask FlagMask)--deriving instance Num (VkFenceImportBitmask FlagMask)--deriving instance Bounded (VkFenceImportBitmask FlagMask)--deriving instance Enum (VkFenceImportBitmask FlagMask)--deriving instance Real (VkFenceImportBitmask FlagMask)--instance Show (VkFenceImportBitmask a) where- showsPrec _ VK_FENCE_IMPORT_TEMPORARY_BIT- = showString "VK_FENCE_IMPORT_TEMPORARY_BIT"- showsPrec p (VkFenceImportBitmask x)- = showParen (p >= 11)- (showString "VkFenceImportBitmask " . showsPrec 11 x)--instance Read (VkFenceImportBitmask a) where- readPrec- = parens- (choose- [("VK_FENCE_IMPORT_TEMPORARY_BIT",- pure VK_FENCE_IMPORT_TEMPORARY_BIT)]- +++- prec 10- (expectP (Ident "VkFenceImportBitmask") >>- (VkFenceImportBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_FENCE_IMPORT_TEMPORARY_BIT :: VkFenceImportBitmask a--pattern VK_FENCE_IMPORT_TEMPORARY_BIT = VkFenceImportBitmask 1
@@ -1,47 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkFilter- (VkFilter(VkFilter, VK_FILTER_NEAREST, VK_FILTER_LINEAR)) where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkFilter.html VkFilter registry at www.khronos.org>-newtype VkFilter = VkFilter Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkFilter where- showsPrec _ VK_FILTER_NEAREST = showString "VK_FILTER_NEAREST"- showsPrec _ VK_FILTER_LINEAR = showString "VK_FILTER_LINEAR"- showsPrec p (VkFilter x)- = showParen (p >= 11) (showString "VkFilter " . showsPrec 11 x)--instance Read VkFilter where- readPrec- = parens- (choose- [("VK_FILTER_NEAREST", pure VK_FILTER_NEAREST),- ("VK_FILTER_LINEAR", pure VK_FILTER_LINEAR)]- +++- prec 10- (expectP (Ident "VkFilter") >> (VkFilter <$> step readPrec)))--pattern VK_FILTER_NEAREST :: VkFilter--pattern VK_FILTER_NEAREST = VkFilter 0--pattern VK_FILTER_LINEAR :: VkFilter--pattern VK_FILTER_LINEAR = VkFilter 1
@@ -1,1491 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkFormat- (VkFormat(VkFormat, VK_FORMAT_UNDEFINED,- VK_FORMAT_R4G4_UNORM_PACK8, VK_FORMAT_R4G4B4A4_UNORM_PACK16,- VK_FORMAT_B4G4R4A4_UNORM_PACK16, VK_FORMAT_R5G6B5_UNORM_PACK16,- VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_R5G5B5A1_UNORM_PACK16,- VK_FORMAT_B5G5R5A1_UNORM_PACK16, VK_FORMAT_A1R5G5B5_UNORM_PACK16,- VK_FORMAT_R8_UNORM, VK_FORMAT_R8_SNORM, VK_FORMAT_R8_USCALED,- VK_FORMAT_R8_SSCALED, VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT,- VK_FORMAT_R8_SRGB, VK_FORMAT_R8G8_UNORM, VK_FORMAT_R8G8_SNORM,- VK_FORMAT_R8G8_USCALED, VK_FORMAT_R8G8_SSCALED,- VK_FORMAT_R8G8_UINT, VK_FORMAT_R8G8_SINT, VK_FORMAT_R8G8_SRGB,- VK_FORMAT_R8G8B8_UNORM, VK_FORMAT_R8G8B8_SNORM,- VK_FORMAT_R8G8B8_USCALED, VK_FORMAT_R8G8B8_SSCALED,- VK_FORMAT_R8G8B8_UINT, VK_FORMAT_R8G8B8_SINT,- VK_FORMAT_R8G8B8_SRGB, VK_FORMAT_B8G8R8_UNORM,- VK_FORMAT_B8G8R8_SNORM, VK_FORMAT_B8G8R8_USCALED,- VK_FORMAT_B8G8R8_SSCALED, VK_FORMAT_B8G8R8_UINT,- VK_FORMAT_B8G8R8_SINT, VK_FORMAT_B8G8R8_SRGB,- VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_R8G8B8A8_SNORM,- VK_FORMAT_R8G8B8A8_USCALED, VK_FORMAT_R8G8B8A8_SSCALED,- VK_FORMAT_R8G8B8A8_UINT, VK_FORMAT_R8G8B8A8_SINT,- VK_FORMAT_R8G8B8A8_SRGB, VK_FORMAT_B8G8R8A8_UNORM,- VK_FORMAT_B8G8R8A8_SNORM, VK_FORMAT_B8G8R8A8_USCALED,- VK_FORMAT_B8G8R8A8_SSCALED, VK_FORMAT_B8G8R8A8_UINT,- VK_FORMAT_B8G8R8A8_SINT, VK_FORMAT_B8G8R8A8_SRGB,- VK_FORMAT_A8B8G8R8_UNORM_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32,- VK_FORMAT_A8B8G8R8_USCALED_PACK32,- VK_FORMAT_A8B8G8R8_SSCALED_PACK32, VK_FORMAT_A8B8G8R8_UINT_PACK32,- VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32,- VK_FORMAT_A2R10G10B10_UNORM_PACK32,- VK_FORMAT_A2R10G10B10_SNORM_PACK32,- VK_FORMAT_A2R10G10B10_USCALED_PACK32,- VK_FORMAT_A2R10G10B10_SSCALED_PACK32,- VK_FORMAT_A2R10G10B10_UINT_PACK32,- VK_FORMAT_A2R10G10B10_SINT_PACK32,- VK_FORMAT_A2B10G10R10_UNORM_PACK32,- VK_FORMAT_A2B10G10R10_SNORM_PACK32,- VK_FORMAT_A2B10G10R10_USCALED_PACK32,- VK_FORMAT_A2B10G10R10_SSCALED_PACK32,- VK_FORMAT_A2B10G10R10_UINT_PACK32,- VK_FORMAT_A2B10G10R10_SINT_PACK32, VK_FORMAT_R16_UNORM,- VK_FORMAT_R16_SNORM, VK_FORMAT_R16_USCALED, VK_FORMAT_R16_SSCALED,- VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R16_SFLOAT,- VK_FORMAT_R16G16_UNORM, VK_FORMAT_R16G16_SNORM,- VK_FORMAT_R16G16_USCALED, VK_FORMAT_R16G16_SSCALED,- VK_FORMAT_R16G16_UINT, VK_FORMAT_R16G16_SINT,- VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16B16_UNORM,- VK_FORMAT_R16G16B16_SNORM, VK_FORMAT_R16G16B16_USCALED,- VK_FORMAT_R16G16B16_SSCALED, VK_FORMAT_R16G16B16_UINT,- VK_FORMAT_R16G16B16_SINT, VK_FORMAT_R16G16B16_SFLOAT,- VK_FORMAT_R16G16B16A16_UNORM, VK_FORMAT_R16G16B16A16_SNORM,- VK_FORMAT_R16G16B16A16_USCALED, VK_FORMAT_R16G16B16A16_SSCALED,- VK_FORMAT_R16G16B16A16_UINT, VK_FORMAT_R16G16B16A16_SINT,- VK_FORMAT_R16G16B16A16_SFLOAT, VK_FORMAT_R32_UINT,- VK_FORMAT_R32_SINT, VK_FORMAT_R32_SFLOAT, VK_FORMAT_R32G32_UINT,- VK_FORMAT_R32G32_SINT, VK_FORMAT_R32G32_SFLOAT,- VK_FORMAT_R32G32B32_UINT, VK_FORMAT_R32G32B32_SINT,- VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32B32A32_UINT,- VK_FORMAT_R32G32B32A32_SINT, VK_FORMAT_R32G32B32A32_SFLOAT,- VK_FORMAT_R64_UINT, VK_FORMAT_R64_SINT, VK_FORMAT_R64_SFLOAT,- VK_FORMAT_R64G64_UINT, VK_FORMAT_R64G64_SINT,- VK_FORMAT_R64G64_SFLOAT, VK_FORMAT_R64G64B64_UINT,- VK_FORMAT_R64G64B64_SINT, VK_FORMAT_R64G64B64_SFLOAT,- VK_FORMAT_R64G64B64A64_UINT, VK_FORMAT_R64G64B64A64_SINT,- VK_FORMAT_R64G64B64A64_SFLOAT, VK_FORMAT_B10G11R11_UFLOAT_PACK32,- VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, VK_FORMAT_D16_UNORM,- VK_FORMAT_X8_D24_UNORM_PACK32, VK_FORMAT_D32_SFLOAT,- VK_FORMAT_S8_UINT, VK_FORMAT_D16_UNORM_S8_UINT,- VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT,- VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC1_RGB_SRGB_BLOCK,- VK_FORMAT_BC1_RGBA_UNORM_BLOCK, VK_FORMAT_BC1_RGBA_SRGB_BLOCK,- VK_FORMAT_BC2_UNORM_BLOCK, VK_FORMAT_BC2_SRGB_BLOCK,- VK_FORMAT_BC3_UNORM_BLOCK, VK_FORMAT_BC3_SRGB_BLOCK,- VK_FORMAT_BC4_UNORM_BLOCK, VK_FORMAT_BC4_SNORM_BLOCK,- VK_FORMAT_BC5_UNORM_BLOCK, VK_FORMAT_BC5_SNORM_BLOCK,- VK_FORMAT_BC6H_UFLOAT_BLOCK, VK_FORMAT_BC6H_SFLOAT_BLOCK,- VK_FORMAT_BC7_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK,- VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK,- VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK,- VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,- VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,- VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,- VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, VK_FORMAT_EAC_R11_UNORM_BLOCK,- VK_FORMAT_EAC_R11_SNORM_BLOCK, VK_FORMAT_EAC_R11G11_UNORM_BLOCK,- VK_FORMAT_EAC_R11G11_SNORM_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK,- VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x4_UNORM_BLOCK,- VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_FORMAT_ASTC_5x5_UNORM_BLOCK,- VK_FORMAT_ASTC_5x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x5_UNORM_BLOCK,- VK_FORMAT_ASTC_6x5_SRGB_BLOCK, VK_FORMAT_ASTC_6x6_UNORM_BLOCK,- VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x5_UNORM_BLOCK,- VK_FORMAT_ASTC_8x5_SRGB_BLOCK, VK_FORMAT_ASTC_8x6_UNORM_BLOCK,- VK_FORMAT_ASTC_8x6_SRGB_BLOCK, VK_FORMAT_ASTC_8x8_UNORM_BLOCK,- VK_FORMAT_ASTC_8x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x5_UNORM_BLOCK,- VK_FORMAT_ASTC_10x5_SRGB_BLOCK, VK_FORMAT_ASTC_10x6_UNORM_BLOCK,- VK_FORMAT_ASTC_10x6_SRGB_BLOCK, VK_FORMAT_ASTC_10x8_UNORM_BLOCK,- VK_FORMAT_ASTC_10x8_SRGB_BLOCK, VK_FORMAT_ASTC_10x10_UNORM_BLOCK,- VK_FORMAT_ASTC_10x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x10_UNORM_BLOCK,- VK_FORMAT_ASTC_12x10_SRGB_BLOCK, VK_FORMAT_ASTC_12x12_UNORM_BLOCK,- VK_FORMAT_ASTC_12x12_SRGB_BLOCK))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | Vulkan format definitions------ type = @enum@--------- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkFormat.html VkFormat registry at www.khronos.org>-newtype VkFormat = VkFormat Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkFormat where- showsPrec _ VK_FORMAT_UNDEFINED = showString "VK_FORMAT_UNDEFINED"- showsPrec _ VK_FORMAT_R4G4_UNORM_PACK8- = showString "VK_FORMAT_R4G4_UNORM_PACK8"- showsPrec _ VK_FORMAT_R4G4B4A4_UNORM_PACK16- = showString "VK_FORMAT_R4G4B4A4_UNORM_PACK16"- showsPrec _ VK_FORMAT_B4G4R4A4_UNORM_PACK16- = showString "VK_FORMAT_B4G4R4A4_UNORM_PACK16"- showsPrec _ VK_FORMAT_R5G6B5_UNORM_PACK16- = showString "VK_FORMAT_R5G6B5_UNORM_PACK16"- showsPrec _ VK_FORMAT_B5G6R5_UNORM_PACK16- = showString "VK_FORMAT_B5G6R5_UNORM_PACK16"- showsPrec _ VK_FORMAT_R5G5B5A1_UNORM_PACK16- = showString "VK_FORMAT_R5G5B5A1_UNORM_PACK16"- showsPrec _ VK_FORMAT_B5G5R5A1_UNORM_PACK16- = showString "VK_FORMAT_B5G5R5A1_UNORM_PACK16"- showsPrec _ VK_FORMAT_A1R5G5B5_UNORM_PACK16- = showString "VK_FORMAT_A1R5G5B5_UNORM_PACK16"- showsPrec _ VK_FORMAT_R8_UNORM = showString "VK_FORMAT_R8_UNORM"- showsPrec _ VK_FORMAT_R8_SNORM = showString "VK_FORMAT_R8_SNORM"- showsPrec _ VK_FORMAT_R8_USCALED- = showString "VK_FORMAT_R8_USCALED"- showsPrec _ VK_FORMAT_R8_SSCALED- = showString "VK_FORMAT_R8_SSCALED"- showsPrec _ VK_FORMAT_R8_UINT = showString "VK_FORMAT_R8_UINT"- showsPrec _ VK_FORMAT_R8_SINT = showString "VK_FORMAT_R8_SINT"- showsPrec _ VK_FORMAT_R8_SRGB = showString "VK_FORMAT_R8_SRGB"- showsPrec _ VK_FORMAT_R8G8_UNORM- = showString "VK_FORMAT_R8G8_UNORM"- showsPrec _ VK_FORMAT_R8G8_SNORM- = showString "VK_FORMAT_R8G8_SNORM"- showsPrec _ VK_FORMAT_R8G8_USCALED- = showString "VK_FORMAT_R8G8_USCALED"- showsPrec _ VK_FORMAT_R8G8_SSCALED- = showString "VK_FORMAT_R8G8_SSCALED"- showsPrec _ VK_FORMAT_R8G8_UINT = showString "VK_FORMAT_R8G8_UINT"- showsPrec _ VK_FORMAT_R8G8_SINT = showString "VK_FORMAT_R8G8_SINT"- showsPrec _ VK_FORMAT_R8G8_SRGB = showString "VK_FORMAT_R8G8_SRGB"- showsPrec _ VK_FORMAT_R8G8B8_UNORM- = showString "VK_FORMAT_R8G8B8_UNORM"- showsPrec _ VK_FORMAT_R8G8B8_SNORM- = showString "VK_FORMAT_R8G8B8_SNORM"- showsPrec _ VK_FORMAT_R8G8B8_USCALED- = showString "VK_FORMAT_R8G8B8_USCALED"- showsPrec _ VK_FORMAT_R8G8B8_SSCALED- = showString "VK_FORMAT_R8G8B8_SSCALED"- showsPrec _ VK_FORMAT_R8G8B8_UINT- = showString "VK_FORMAT_R8G8B8_UINT"- showsPrec _ VK_FORMAT_R8G8B8_SINT- = showString "VK_FORMAT_R8G8B8_SINT"- showsPrec _ VK_FORMAT_R8G8B8_SRGB- = showString "VK_FORMAT_R8G8B8_SRGB"- showsPrec _ VK_FORMAT_B8G8R8_UNORM- = showString "VK_FORMAT_B8G8R8_UNORM"- showsPrec _ VK_FORMAT_B8G8R8_SNORM- = showString "VK_FORMAT_B8G8R8_SNORM"- showsPrec _ VK_FORMAT_B8G8R8_USCALED- = showString "VK_FORMAT_B8G8R8_USCALED"- showsPrec _ VK_FORMAT_B8G8R8_SSCALED- = showString "VK_FORMAT_B8G8R8_SSCALED"- showsPrec _ VK_FORMAT_B8G8R8_UINT- = showString "VK_FORMAT_B8G8R8_UINT"- showsPrec _ VK_FORMAT_B8G8R8_SINT- = showString "VK_FORMAT_B8G8R8_SINT"- showsPrec _ VK_FORMAT_B8G8R8_SRGB- = showString "VK_FORMAT_B8G8R8_SRGB"- showsPrec _ VK_FORMAT_R8G8B8A8_UNORM- = showString "VK_FORMAT_R8G8B8A8_UNORM"- showsPrec _ VK_FORMAT_R8G8B8A8_SNORM- = showString "VK_FORMAT_R8G8B8A8_SNORM"- showsPrec _ VK_FORMAT_R8G8B8A8_USCALED- = showString "VK_FORMAT_R8G8B8A8_USCALED"- showsPrec _ VK_FORMAT_R8G8B8A8_SSCALED- = showString "VK_FORMAT_R8G8B8A8_SSCALED"- showsPrec _ VK_FORMAT_R8G8B8A8_UINT- = showString "VK_FORMAT_R8G8B8A8_UINT"- showsPrec _ VK_FORMAT_R8G8B8A8_SINT- = showString "VK_FORMAT_R8G8B8A8_SINT"- showsPrec _ VK_FORMAT_R8G8B8A8_SRGB- = showString "VK_FORMAT_R8G8B8A8_SRGB"- showsPrec _ VK_FORMAT_B8G8R8A8_UNORM- = showString "VK_FORMAT_B8G8R8A8_UNORM"- showsPrec _ VK_FORMAT_B8G8R8A8_SNORM- = showString "VK_FORMAT_B8G8R8A8_SNORM"- showsPrec _ VK_FORMAT_B8G8R8A8_USCALED- = showString "VK_FORMAT_B8G8R8A8_USCALED"- showsPrec _ VK_FORMAT_B8G8R8A8_SSCALED- = showString "VK_FORMAT_B8G8R8A8_SSCALED"- showsPrec _ VK_FORMAT_B8G8R8A8_UINT- = showString "VK_FORMAT_B8G8R8A8_UINT"- showsPrec _ VK_FORMAT_B8G8R8A8_SINT- = showString "VK_FORMAT_B8G8R8A8_SINT"- showsPrec _ VK_FORMAT_B8G8R8A8_SRGB- = showString "VK_FORMAT_B8G8R8A8_SRGB"- showsPrec _ VK_FORMAT_A8B8G8R8_UNORM_PACK32- = showString "VK_FORMAT_A8B8G8R8_UNORM_PACK32"- showsPrec _ VK_FORMAT_A8B8G8R8_SNORM_PACK32- = showString "VK_FORMAT_A8B8G8R8_SNORM_PACK32"- showsPrec _ VK_FORMAT_A8B8G8R8_USCALED_PACK32- = showString "VK_FORMAT_A8B8G8R8_USCALED_PACK32"- showsPrec _ VK_FORMAT_A8B8G8R8_SSCALED_PACK32- = showString "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"- showsPrec _ VK_FORMAT_A8B8G8R8_UINT_PACK32- = showString "VK_FORMAT_A8B8G8R8_UINT_PACK32"- showsPrec _ VK_FORMAT_A8B8G8R8_SINT_PACK32- = showString "VK_FORMAT_A8B8G8R8_SINT_PACK32"- showsPrec _ VK_FORMAT_A8B8G8R8_SRGB_PACK32- = showString "VK_FORMAT_A8B8G8R8_SRGB_PACK32"- showsPrec _ VK_FORMAT_A2R10G10B10_UNORM_PACK32- = showString "VK_FORMAT_A2R10G10B10_UNORM_PACK32"- showsPrec _ VK_FORMAT_A2R10G10B10_SNORM_PACK32- = showString "VK_FORMAT_A2R10G10B10_SNORM_PACK32"- showsPrec _ VK_FORMAT_A2R10G10B10_USCALED_PACK32- = showString "VK_FORMAT_A2R10G10B10_USCALED_PACK32"- showsPrec _ VK_FORMAT_A2R10G10B10_SSCALED_PACK32- = showString "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"- showsPrec _ VK_FORMAT_A2R10G10B10_UINT_PACK32- = showString "VK_FORMAT_A2R10G10B10_UINT_PACK32"- showsPrec _ VK_FORMAT_A2R10G10B10_SINT_PACK32- = showString "VK_FORMAT_A2R10G10B10_SINT_PACK32"- showsPrec _ VK_FORMAT_A2B10G10R10_UNORM_PACK32- = showString "VK_FORMAT_A2B10G10R10_UNORM_PACK32"- showsPrec _ VK_FORMAT_A2B10G10R10_SNORM_PACK32- = showString "VK_FORMAT_A2B10G10R10_SNORM_PACK32"- showsPrec _ VK_FORMAT_A2B10G10R10_USCALED_PACK32- = showString "VK_FORMAT_A2B10G10R10_USCALED_PACK32"- showsPrec _ VK_FORMAT_A2B10G10R10_SSCALED_PACK32- = showString "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"- showsPrec _ VK_FORMAT_A2B10G10R10_UINT_PACK32- = showString "VK_FORMAT_A2B10G10R10_UINT_PACK32"- showsPrec _ VK_FORMAT_A2B10G10R10_SINT_PACK32- = showString "VK_FORMAT_A2B10G10R10_SINT_PACK32"- showsPrec _ VK_FORMAT_R16_UNORM = showString "VK_FORMAT_R16_UNORM"- showsPrec _ VK_FORMAT_R16_SNORM = showString "VK_FORMAT_R16_SNORM"- showsPrec _ VK_FORMAT_R16_USCALED- = showString "VK_FORMAT_R16_USCALED"- showsPrec _ VK_FORMAT_R16_SSCALED- = showString "VK_FORMAT_R16_SSCALED"- showsPrec _ VK_FORMAT_R16_UINT = showString "VK_FORMAT_R16_UINT"- showsPrec _ VK_FORMAT_R16_SINT = showString "VK_FORMAT_R16_SINT"- showsPrec _ VK_FORMAT_R16_SFLOAT- = showString "VK_FORMAT_R16_SFLOAT"- showsPrec _ VK_FORMAT_R16G16_UNORM- = showString "VK_FORMAT_R16G16_UNORM"- showsPrec _ VK_FORMAT_R16G16_SNORM- = showString "VK_FORMAT_R16G16_SNORM"- showsPrec _ VK_FORMAT_R16G16_USCALED- = showString "VK_FORMAT_R16G16_USCALED"- showsPrec _ VK_FORMAT_R16G16_SSCALED- = showString "VK_FORMAT_R16G16_SSCALED"- showsPrec _ VK_FORMAT_R16G16_UINT- = showString "VK_FORMAT_R16G16_UINT"- showsPrec _ VK_FORMAT_R16G16_SINT- = showString "VK_FORMAT_R16G16_SINT"- showsPrec _ VK_FORMAT_R16G16_SFLOAT- = showString "VK_FORMAT_R16G16_SFLOAT"- showsPrec _ VK_FORMAT_R16G16B16_UNORM- = showString "VK_FORMAT_R16G16B16_UNORM"- showsPrec _ VK_FORMAT_R16G16B16_SNORM- = showString "VK_FORMAT_R16G16B16_SNORM"- showsPrec _ VK_FORMAT_R16G16B16_USCALED- = showString "VK_FORMAT_R16G16B16_USCALED"- showsPrec _ VK_FORMAT_R16G16B16_SSCALED- = showString "VK_FORMAT_R16G16B16_SSCALED"- showsPrec _ VK_FORMAT_R16G16B16_UINT- = showString "VK_FORMAT_R16G16B16_UINT"- showsPrec _ VK_FORMAT_R16G16B16_SINT- = showString "VK_FORMAT_R16G16B16_SINT"- showsPrec _ VK_FORMAT_R16G16B16_SFLOAT- = showString "VK_FORMAT_R16G16B16_SFLOAT"- showsPrec _ VK_FORMAT_R16G16B16A16_UNORM- = showString "VK_FORMAT_R16G16B16A16_UNORM"- showsPrec _ VK_FORMAT_R16G16B16A16_SNORM- = showString "VK_FORMAT_R16G16B16A16_SNORM"- showsPrec _ VK_FORMAT_R16G16B16A16_USCALED- = showString "VK_FORMAT_R16G16B16A16_USCALED"- showsPrec _ VK_FORMAT_R16G16B16A16_SSCALED- = showString "VK_FORMAT_R16G16B16A16_SSCALED"- showsPrec _ VK_FORMAT_R16G16B16A16_UINT- = showString "VK_FORMAT_R16G16B16A16_UINT"- showsPrec _ VK_FORMAT_R16G16B16A16_SINT- = showString "VK_FORMAT_R16G16B16A16_SINT"- showsPrec _ VK_FORMAT_R16G16B16A16_SFLOAT- = showString "VK_FORMAT_R16G16B16A16_SFLOAT"- showsPrec _ VK_FORMAT_R32_UINT = showString "VK_FORMAT_R32_UINT"- showsPrec _ VK_FORMAT_R32_SINT = showString "VK_FORMAT_R32_SINT"- showsPrec _ VK_FORMAT_R32_SFLOAT- = showString "VK_FORMAT_R32_SFLOAT"- showsPrec _ VK_FORMAT_R32G32_UINT- = showString "VK_FORMAT_R32G32_UINT"- showsPrec _ VK_FORMAT_R32G32_SINT- = showString "VK_FORMAT_R32G32_SINT"- showsPrec _ VK_FORMAT_R32G32_SFLOAT- = showString "VK_FORMAT_R32G32_SFLOAT"- showsPrec _ VK_FORMAT_R32G32B32_UINT- = showString "VK_FORMAT_R32G32B32_UINT"- showsPrec _ VK_FORMAT_R32G32B32_SINT- = showString "VK_FORMAT_R32G32B32_SINT"- showsPrec _ VK_FORMAT_R32G32B32_SFLOAT- = showString "VK_FORMAT_R32G32B32_SFLOAT"- showsPrec _ VK_FORMAT_R32G32B32A32_UINT- = showString "VK_FORMAT_R32G32B32A32_UINT"- showsPrec _ VK_FORMAT_R32G32B32A32_SINT- = showString "VK_FORMAT_R32G32B32A32_SINT"- showsPrec _ VK_FORMAT_R32G32B32A32_SFLOAT- = showString "VK_FORMAT_R32G32B32A32_SFLOAT"- showsPrec _ VK_FORMAT_R64_UINT = showString "VK_FORMAT_R64_UINT"- showsPrec _ VK_FORMAT_R64_SINT = showString "VK_FORMAT_R64_SINT"- showsPrec _ VK_FORMAT_R64_SFLOAT- = showString "VK_FORMAT_R64_SFLOAT"- showsPrec _ VK_FORMAT_R64G64_UINT- = showString "VK_FORMAT_R64G64_UINT"- showsPrec _ VK_FORMAT_R64G64_SINT- = showString "VK_FORMAT_R64G64_SINT"- showsPrec _ VK_FORMAT_R64G64_SFLOAT- = showString "VK_FORMAT_R64G64_SFLOAT"- showsPrec _ VK_FORMAT_R64G64B64_UINT- = showString "VK_FORMAT_R64G64B64_UINT"- showsPrec _ VK_FORMAT_R64G64B64_SINT- = showString "VK_FORMAT_R64G64B64_SINT"- showsPrec _ VK_FORMAT_R64G64B64_SFLOAT- = showString "VK_FORMAT_R64G64B64_SFLOAT"- showsPrec _ VK_FORMAT_R64G64B64A64_UINT- = showString "VK_FORMAT_R64G64B64A64_UINT"- showsPrec _ VK_FORMAT_R64G64B64A64_SINT- = showString "VK_FORMAT_R64G64B64A64_SINT"- showsPrec _ VK_FORMAT_R64G64B64A64_SFLOAT- = showString "VK_FORMAT_R64G64B64A64_SFLOAT"- showsPrec _ VK_FORMAT_B10G11R11_UFLOAT_PACK32- = showString "VK_FORMAT_B10G11R11_UFLOAT_PACK32"- showsPrec _ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32- = showString "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"- showsPrec _ VK_FORMAT_D16_UNORM = showString "VK_FORMAT_D16_UNORM"- showsPrec _ VK_FORMAT_X8_D24_UNORM_PACK32- = showString "VK_FORMAT_X8_D24_UNORM_PACK32"- showsPrec _ VK_FORMAT_D32_SFLOAT- = showString "VK_FORMAT_D32_SFLOAT"- showsPrec _ VK_FORMAT_S8_UINT = showString "VK_FORMAT_S8_UINT"- showsPrec _ VK_FORMAT_D16_UNORM_S8_UINT- = showString "VK_FORMAT_D16_UNORM_S8_UINT"- showsPrec _ VK_FORMAT_D24_UNORM_S8_UINT- = showString "VK_FORMAT_D24_UNORM_S8_UINT"- showsPrec _ VK_FORMAT_D32_SFLOAT_S8_UINT- = showString "VK_FORMAT_D32_SFLOAT_S8_UINT"- showsPrec _ VK_FORMAT_BC1_RGB_UNORM_BLOCK- = showString "VK_FORMAT_BC1_RGB_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC1_RGB_SRGB_BLOCK- = showString "VK_FORMAT_BC1_RGB_SRGB_BLOCK"- showsPrec _ VK_FORMAT_BC1_RGBA_UNORM_BLOCK- = showString "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC1_RGBA_SRGB_BLOCK- = showString "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"- showsPrec _ VK_FORMAT_BC2_UNORM_BLOCK- = showString "VK_FORMAT_BC2_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC2_SRGB_BLOCK- = showString "VK_FORMAT_BC2_SRGB_BLOCK"- showsPrec _ VK_FORMAT_BC3_UNORM_BLOCK- = showString "VK_FORMAT_BC3_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC3_SRGB_BLOCK- = showString "VK_FORMAT_BC3_SRGB_BLOCK"- showsPrec _ VK_FORMAT_BC4_UNORM_BLOCK- = showString "VK_FORMAT_BC4_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC4_SNORM_BLOCK- = showString "VK_FORMAT_BC4_SNORM_BLOCK"- showsPrec _ VK_FORMAT_BC5_UNORM_BLOCK- = showString "VK_FORMAT_BC5_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC5_SNORM_BLOCK- = showString "VK_FORMAT_BC5_SNORM_BLOCK"- showsPrec _ VK_FORMAT_BC6H_UFLOAT_BLOCK- = showString "VK_FORMAT_BC6H_UFLOAT_BLOCK"- showsPrec _ VK_FORMAT_BC6H_SFLOAT_BLOCK- = showString "VK_FORMAT_BC6H_SFLOAT_BLOCK"- showsPrec _ VK_FORMAT_BC7_UNORM_BLOCK- = showString "VK_FORMAT_BC7_UNORM_BLOCK"- showsPrec _ VK_FORMAT_BC7_SRGB_BLOCK- = showString "VK_FORMAT_BC7_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK- = showString "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK- = showString "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK- = showString "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK- = showString "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK- = showString "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK- = showString "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"- showsPrec _ VK_FORMAT_EAC_R11_UNORM_BLOCK- = showString "VK_FORMAT_EAC_R11_UNORM_BLOCK"- showsPrec _ VK_FORMAT_EAC_R11_SNORM_BLOCK- = showString "VK_FORMAT_EAC_R11_SNORM_BLOCK"- showsPrec _ VK_FORMAT_EAC_R11G11_UNORM_BLOCK- = showString "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"- showsPrec _ VK_FORMAT_EAC_R11G11_SNORM_BLOCK- = showString "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_4x4_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_4x4_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_5x4_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_5x4_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_5x5_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_5x5_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_6x5_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_6x5_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_6x6_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_6x6_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_8x5_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_8x5_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_8x6_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_8x6_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_8x8_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_8x8_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x5_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x5_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x6_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x6_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x8_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x8_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x10_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_10x10_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_12x10_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_12x10_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"- showsPrec _ VK_FORMAT_ASTC_12x12_UNORM_BLOCK- = showString "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"- showsPrec _ VK_FORMAT_ASTC_12x12_SRGB_BLOCK- = showString "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"- showsPrec p (VkFormat x)- = showParen (p >= 11) (showString "VkFormat " . showsPrec 11 x)--instance Read VkFormat where- readPrec- = parens- (choose- [("VK_FORMAT_UNDEFINED", pure VK_FORMAT_UNDEFINED),- ("VK_FORMAT_R4G4_UNORM_PACK8", pure VK_FORMAT_R4G4_UNORM_PACK8),- ("VK_FORMAT_R4G4B4A4_UNORM_PACK16",- pure VK_FORMAT_R4G4B4A4_UNORM_PACK16),- ("VK_FORMAT_B4G4R4A4_UNORM_PACK16",- pure VK_FORMAT_B4G4R4A4_UNORM_PACK16),- ("VK_FORMAT_R5G6B5_UNORM_PACK16",- pure VK_FORMAT_R5G6B5_UNORM_PACK16),- ("VK_FORMAT_B5G6R5_UNORM_PACK16",- pure VK_FORMAT_B5G6R5_UNORM_PACK16),- ("VK_FORMAT_R5G5B5A1_UNORM_PACK16",- pure VK_FORMAT_R5G5B5A1_UNORM_PACK16),- ("VK_FORMAT_B5G5R5A1_UNORM_PACK16",- pure VK_FORMAT_B5G5R5A1_UNORM_PACK16),- ("VK_FORMAT_A1R5G5B5_UNORM_PACK16",- pure VK_FORMAT_A1R5G5B5_UNORM_PACK16),- ("VK_FORMAT_R8_UNORM", pure VK_FORMAT_R8_UNORM),- ("VK_FORMAT_R8_SNORM", pure VK_FORMAT_R8_SNORM),- ("VK_FORMAT_R8_USCALED", pure VK_FORMAT_R8_USCALED),- ("VK_FORMAT_R8_SSCALED", pure VK_FORMAT_R8_SSCALED),- ("VK_FORMAT_R8_UINT", pure VK_FORMAT_R8_UINT),- ("VK_FORMAT_R8_SINT", pure VK_FORMAT_R8_SINT),- ("VK_FORMAT_R8_SRGB", pure VK_FORMAT_R8_SRGB),- ("VK_FORMAT_R8G8_UNORM", pure VK_FORMAT_R8G8_UNORM),- ("VK_FORMAT_R8G8_SNORM", pure VK_FORMAT_R8G8_SNORM),- ("VK_FORMAT_R8G8_USCALED", pure VK_FORMAT_R8G8_USCALED),- ("VK_FORMAT_R8G8_SSCALED", pure VK_FORMAT_R8G8_SSCALED),- ("VK_FORMAT_R8G8_UINT", pure VK_FORMAT_R8G8_UINT),- ("VK_FORMAT_R8G8_SINT", pure VK_FORMAT_R8G8_SINT),- ("VK_FORMAT_R8G8_SRGB", pure VK_FORMAT_R8G8_SRGB),- ("VK_FORMAT_R8G8B8_UNORM", pure VK_FORMAT_R8G8B8_UNORM),- ("VK_FORMAT_R8G8B8_SNORM", pure VK_FORMAT_R8G8B8_SNORM),- ("VK_FORMAT_R8G8B8_USCALED", pure VK_FORMAT_R8G8B8_USCALED),- ("VK_FORMAT_R8G8B8_SSCALED", pure VK_FORMAT_R8G8B8_SSCALED),- ("VK_FORMAT_R8G8B8_UINT", pure VK_FORMAT_R8G8B8_UINT),- ("VK_FORMAT_R8G8B8_SINT", pure VK_FORMAT_R8G8B8_SINT),- ("VK_FORMAT_R8G8B8_SRGB", pure VK_FORMAT_R8G8B8_SRGB),- ("VK_FORMAT_B8G8R8_UNORM", pure VK_FORMAT_B8G8R8_UNORM),- ("VK_FORMAT_B8G8R8_SNORM", pure VK_FORMAT_B8G8R8_SNORM),- ("VK_FORMAT_B8G8R8_USCALED", pure VK_FORMAT_B8G8R8_USCALED),- ("VK_FORMAT_B8G8R8_SSCALED", pure VK_FORMAT_B8G8R8_SSCALED),- ("VK_FORMAT_B8G8R8_UINT", pure VK_FORMAT_B8G8R8_UINT),- ("VK_FORMAT_B8G8R8_SINT", pure VK_FORMAT_B8G8R8_SINT),- ("VK_FORMAT_B8G8R8_SRGB", pure VK_FORMAT_B8G8R8_SRGB),- ("VK_FORMAT_R8G8B8A8_UNORM", pure VK_FORMAT_R8G8B8A8_UNORM),- ("VK_FORMAT_R8G8B8A8_SNORM", pure VK_FORMAT_R8G8B8A8_SNORM),- ("VK_FORMAT_R8G8B8A8_USCALED", pure VK_FORMAT_R8G8B8A8_USCALED),- ("VK_FORMAT_R8G8B8A8_SSCALED", pure VK_FORMAT_R8G8B8A8_SSCALED),- ("VK_FORMAT_R8G8B8A8_UINT", pure VK_FORMAT_R8G8B8A8_UINT),- ("VK_FORMAT_R8G8B8A8_SINT", pure VK_FORMAT_R8G8B8A8_SINT),- ("VK_FORMAT_R8G8B8A8_SRGB", pure VK_FORMAT_R8G8B8A8_SRGB),- ("VK_FORMAT_B8G8R8A8_UNORM", pure VK_FORMAT_B8G8R8A8_UNORM),- ("VK_FORMAT_B8G8R8A8_SNORM", pure VK_FORMAT_B8G8R8A8_SNORM),- ("VK_FORMAT_B8G8R8A8_USCALED", pure VK_FORMAT_B8G8R8A8_USCALED),- ("VK_FORMAT_B8G8R8A8_SSCALED", pure VK_FORMAT_B8G8R8A8_SSCALED),- ("VK_FORMAT_B8G8R8A8_UINT", pure VK_FORMAT_B8G8R8A8_UINT),- ("VK_FORMAT_B8G8R8A8_SINT", pure VK_FORMAT_B8G8R8A8_SINT),- ("VK_FORMAT_B8G8R8A8_SRGB", pure VK_FORMAT_B8G8R8A8_SRGB),- ("VK_FORMAT_A8B8G8R8_UNORM_PACK32",- pure VK_FORMAT_A8B8G8R8_UNORM_PACK32),- ("VK_FORMAT_A8B8G8R8_SNORM_PACK32",- pure VK_FORMAT_A8B8G8R8_SNORM_PACK32),- ("VK_FORMAT_A8B8G8R8_USCALED_PACK32",- pure VK_FORMAT_A8B8G8R8_USCALED_PACK32),- ("VK_FORMAT_A8B8G8R8_SSCALED_PACK32",- pure VK_FORMAT_A8B8G8R8_SSCALED_PACK32),- ("VK_FORMAT_A8B8G8R8_UINT_PACK32",- pure VK_FORMAT_A8B8G8R8_UINT_PACK32),- ("VK_FORMAT_A8B8G8R8_SINT_PACK32",- pure VK_FORMAT_A8B8G8R8_SINT_PACK32),- ("VK_FORMAT_A8B8G8R8_SRGB_PACK32",- pure VK_FORMAT_A8B8G8R8_SRGB_PACK32),- ("VK_FORMAT_A2R10G10B10_UNORM_PACK32",- pure VK_FORMAT_A2R10G10B10_UNORM_PACK32),- ("VK_FORMAT_A2R10G10B10_SNORM_PACK32",- pure VK_FORMAT_A2R10G10B10_SNORM_PACK32),- ("VK_FORMAT_A2R10G10B10_USCALED_PACK32",- pure VK_FORMAT_A2R10G10B10_USCALED_PACK32),- ("VK_FORMAT_A2R10G10B10_SSCALED_PACK32",- pure VK_FORMAT_A2R10G10B10_SSCALED_PACK32),- ("VK_FORMAT_A2R10G10B10_UINT_PACK32",- pure VK_FORMAT_A2R10G10B10_UINT_PACK32),- ("VK_FORMAT_A2R10G10B10_SINT_PACK32",- pure VK_FORMAT_A2R10G10B10_SINT_PACK32),- ("VK_FORMAT_A2B10G10R10_UNORM_PACK32",- pure VK_FORMAT_A2B10G10R10_UNORM_PACK32),- ("VK_FORMAT_A2B10G10R10_SNORM_PACK32",- pure VK_FORMAT_A2B10G10R10_SNORM_PACK32),- ("VK_FORMAT_A2B10G10R10_USCALED_PACK32",- pure VK_FORMAT_A2B10G10R10_USCALED_PACK32),- ("VK_FORMAT_A2B10G10R10_SSCALED_PACK32",- pure VK_FORMAT_A2B10G10R10_SSCALED_PACK32),- ("VK_FORMAT_A2B10G10R10_UINT_PACK32",- pure VK_FORMAT_A2B10G10R10_UINT_PACK32),- ("VK_FORMAT_A2B10G10R10_SINT_PACK32",- pure VK_FORMAT_A2B10G10R10_SINT_PACK32),- ("VK_FORMAT_R16_UNORM", pure VK_FORMAT_R16_UNORM),- ("VK_FORMAT_R16_SNORM", pure VK_FORMAT_R16_SNORM),- ("VK_FORMAT_R16_USCALED", pure VK_FORMAT_R16_USCALED),- ("VK_FORMAT_R16_SSCALED", pure VK_FORMAT_R16_SSCALED),- ("VK_FORMAT_R16_UINT", pure VK_FORMAT_R16_UINT),- ("VK_FORMAT_R16_SINT", pure VK_FORMAT_R16_SINT),- ("VK_FORMAT_R16_SFLOAT", pure VK_FORMAT_R16_SFLOAT),- ("VK_FORMAT_R16G16_UNORM", pure VK_FORMAT_R16G16_UNORM),- ("VK_FORMAT_R16G16_SNORM", pure VK_FORMAT_R16G16_SNORM),- ("VK_FORMAT_R16G16_USCALED", pure VK_FORMAT_R16G16_USCALED),- ("VK_FORMAT_R16G16_SSCALED", pure VK_FORMAT_R16G16_SSCALED),- ("VK_FORMAT_R16G16_UINT", pure VK_FORMAT_R16G16_UINT),- ("VK_FORMAT_R16G16_SINT", pure VK_FORMAT_R16G16_SINT),- ("VK_FORMAT_R16G16_SFLOAT", pure VK_FORMAT_R16G16_SFLOAT),- ("VK_FORMAT_R16G16B16_UNORM", pure VK_FORMAT_R16G16B16_UNORM),- ("VK_FORMAT_R16G16B16_SNORM", pure VK_FORMAT_R16G16B16_SNORM),- ("VK_FORMAT_R16G16B16_USCALED", pure VK_FORMAT_R16G16B16_USCALED),- ("VK_FORMAT_R16G16B16_SSCALED", pure VK_FORMAT_R16G16B16_SSCALED),- ("VK_FORMAT_R16G16B16_UINT", pure VK_FORMAT_R16G16B16_UINT),- ("VK_FORMAT_R16G16B16_SINT", pure VK_FORMAT_R16G16B16_SINT),- ("VK_FORMAT_R16G16B16_SFLOAT", pure VK_FORMAT_R16G16B16_SFLOAT),- ("VK_FORMAT_R16G16B16A16_UNORM",- pure VK_FORMAT_R16G16B16A16_UNORM),- ("VK_FORMAT_R16G16B16A16_SNORM",- pure VK_FORMAT_R16G16B16A16_SNORM),- ("VK_FORMAT_R16G16B16A16_USCALED",- pure VK_FORMAT_R16G16B16A16_USCALED),- ("VK_FORMAT_R16G16B16A16_SSCALED",- pure VK_FORMAT_R16G16B16A16_SSCALED),- ("VK_FORMAT_R16G16B16A16_UINT", pure VK_FORMAT_R16G16B16A16_UINT),- ("VK_FORMAT_R16G16B16A16_SINT", pure VK_FORMAT_R16G16B16A16_SINT),- ("VK_FORMAT_R16G16B16A16_SFLOAT",- pure VK_FORMAT_R16G16B16A16_SFLOAT),- ("VK_FORMAT_R32_UINT", pure VK_FORMAT_R32_UINT),- ("VK_FORMAT_R32_SINT", pure VK_FORMAT_R32_SINT),- ("VK_FORMAT_R32_SFLOAT", pure VK_FORMAT_R32_SFLOAT),- ("VK_FORMAT_R32G32_UINT", pure VK_FORMAT_R32G32_UINT),- ("VK_FORMAT_R32G32_SINT", pure VK_FORMAT_R32G32_SINT),- ("VK_FORMAT_R32G32_SFLOAT", pure VK_FORMAT_R32G32_SFLOAT),- ("VK_FORMAT_R32G32B32_UINT", pure VK_FORMAT_R32G32B32_UINT),- ("VK_FORMAT_R32G32B32_SINT", pure VK_FORMAT_R32G32B32_SINT),- ("VK_FORMAT_R32G32B32_SFLOAT", pure VK_FORMAT_R32G32B32_SFLOAT),- ("VK_FORMAT_R32G32B32A32_UINT", pure VK_FORMAT_R32G32B32A32_UINT),- ("VK_FORMAT_R32G32B32A32_SINT", pure VK_FORMAT_R32G32B32A32_SINT),- ("VK_FORMAT_R32G32B32A32_SFLOAT",- pure VK_FORMAT_R32G32B32A32_SFLOAT),- ("VK_FORMAT_R64_UINT", pure VK_FORMAT_R64_UINT),- ("VK_FORMAT_R64_SINT", pure VK_FORMAT_R64_SINT),- ("VK_FORMAT_R64_SFLOAT", pure VK_FORMAT_R64_SFLOAT),- ("VK_FORMAT_R64G64_UINT", pure VK_FORMAT_R64G64_UINT),- ("VK_FORMAT_R64G64_SINT", pure VK_FORMAT_R64G64_SINT),- ("VK_FORMAT_R64G64_SFLOAT", pure VK_FORMAT_R64G64_SFLOAT),- ("VK_FORMAT_R64G64B64_UINT", pure VK_FORMAT_R64G64B64_UINT),- ("VK_FORMAT_R64G64B64_SINT", pure VK_FORMAT_R64G64B64_SINT),- ("VK_FORMAT_R64G64B64_SFLOAT", pure VK_FORMAT_R64G64B64_SFLOAT),- ("VK_FORMAT_R64G64B64A64_UINT", pure VK_FORMAT_R64G64B64A64_UINT),- ("VK_FORMAT_R64G64B64A64_SINT", pure VK_FORMAT_R64G64B64A64_SINT),- ("VK_FORMAT_R64G64B64A64_SFLOAT",- pure VK_FORMAT_R64G64B64A64_SFLOAT),- ("VK_FORMAT_B10G11R11_UFLOAT_PACK32",- pure VK_FORMAT_B10G11R11_UFLOAT_PACK32),- ("VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",- pure VK_FORMAT_E5B9G9R9_UFLOAT_PACK32),- ("VK_FORMAT_D16_UNORM", pure VK_FORMAT_D16_UNORM),- ("VK_FORMAT_X8_D24_UNORM_PACK32",- pure VK_FORMAT_X8_D24_UNORM_PACK32),- ("VK_FORMAT_D32_SFLOAT", pure VK_FORMAT_D32_SFLOAT),- ("VK_FORMAT_S8_UINT", pure VK_FORMAT_S8_UINT),- ("VK_FORMAT_D16_UNORM_S8_UINT", pure VK_FORMAT_D16_UNORM_S8_UINT),- ("VK_FORMAT_D24_UNORM_S8_UINT", pure VK_FORMAT_D24_UNORM_S8_UINT),- ("VK_FORMAT_D32_SFLOAT_S8_UINT",- pure VK_FORMAT_D32_SFLOAT_S8_UINT),- ("VK_FORMAT_BC1_RGB_UNORM_BLOCK",- pure VK_FORMAT_BC1_RGB_UNORM_BLOCK),- ("VK_FORMAT_BC1_RGB_SRGB_BLOCK",- pure VK_FORMAT_BC1_RGB_SRGB_BLOCK),- ("VK_FORMAT_BC1_RGBA_UNORM_BLOCK",- pure VK_FORMAT_BC1_RGBA_UNORM_BLOCK),- ("VK_FORMAT_BC1_RGBA_SRGB_BLOCK",- pure VK_FORMAT_BC1_RGBA_SRGB_BLOCK),- ("VK_FORMAT_BC2_UNORM_BLOCK", pure VK_FORMAT_BC2_UNORM_BLOCK),- ("VK_FORMAT_BC2_SRGB_BLOCK", pure VK_FORMAT_BC2_SRGB_BLOCK),- ("VK_FORMAT_BC3_UNORM_BLOCK", pure VK_FORMAT_BC3_UNORM_BLOCK),- ("VK_FORMAT_BC3_SRGB_BLOCK", pure VK_FORMAT_BC3_SRGB_BLOCK),- ("VK_FORMAT_BC4_UNORM_BLOCK", pure VK_FORMAT_BC4_UNORM_BLOCK),- ("VK_FORMAT_BC4_SNORM_BLOCK", pure VK_FORMAT_BC4_SNORM_BLOCK),- ("VK_FORMAT_BC5_UNORM_BLOCK", pure VK_FORMAT_BC5_UNORM_BLOCK),- ("VK_FORMAT_BC5_SNORM_BLOCK", pure VK_FORMAT_BC5_SNORM_BLOCK),- ("VK_FORMAT_BC6H_UFLOAT_BLOCK", pure VK_FORMAT_BC6H_UFLOAT_BLOCK),- ("VK_FORMAT_BC6H_SFLOAT_BLOCK", pure VK_FORMAT_BC6H_SFLOAT_BLOCK),- ("VK_FORMAT_BC7_UNORM_BLOCK", pure VK_FORMAT_BC7_UNORM_BLOCK),- ("VK_FORMAT_BC7_SRGB_BLOCK", pure VK_FORMAT_BC7_SRGB_BLOCK),- ("VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",- pure VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK),- ("VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",- pure VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK),- ("VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",- pure VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK),- ("VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",- pure VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK),- ("VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",- pure VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK),- ("VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",- pure VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK),- ("VK_FORMAT_EAC_R11_UNORM_BLOCK",- pure VK_FORMAT_EAC_R11_UNORM_BLOCK),- ("VK_FORMAT_EAC_R11_SNORM_BLOCK",- pure VK_FORMAT_EAC_R11_SNORM_BLOCK),- ("VK_FORMAT_EAC_R11G11_UNORM_BLOCK",- pure VK_FORMAT_EAC_R11G11_UNORM_BLOCK),- ("VK_FORMAT_EAC_R11G11_SNORM_BLOCK",- pure VK_FORMAT_EAC_R11G11_SNORM_BLOCK),- ("VK_FORMAT_ASTC_4x4_UNORM_BLOCK",- pure VK_FORMAT_ASTC_4x4_UNORM_BLOCK),- ("VK_FORMAT_ASTC_4x4_SRGB_BLOCK",- pure VK_FORMAT_ASTC_4x4_SRGB_BLOCK),- ("VK_FORMAT_ASTC_5x4_UNORM_BLOCK",- pure VK_FORMAT_ASTC_5x4_UNORM_BLOCK),- ("VK_FORMAT_ASTC_5x4_SRGB_BLOCK",- pure VK_FORMAT_ASTC_5x4_SRGB_BLOCK),- ("VK_FORMAT_ASTC_5x5_UNORM_BLOCK",- pure VK_FORMAT_ASTC_5x5_UNORM_BLOCK),- ("VK_FORMAT_ASTC_5x5_SRGB_BLOCK",- pure VK_FORMAT_ASTC_5x5_SRGB_BLOCK),- ("VK_FORMAT_ASTC_6x5_UNORM_BLOCK",- pure VK_FORMAT_ASTC_6x5_UNORM_BLOCK),- ("VK_FORMAT_ASTC_6x5_SRGB_BLOCK",- pure VK_FORMAT_ASTC_6x5_SRGB_BLOCK),- ("VK_FORMAT_ASTC_6x6_UNORM_BLOCK",- pure VK_FORMAT_ASTC_6x6_UNORM_BLOCK),- ("VK_FORMAT_ASTC_6x6_SRGB_BLOCK",- pure VK_FORMAT_ASTC_6x6_SRGB_BLOCK),- ("VK_FORMAT_ASTC_8x5_UNORM_BLOCK",- pure VK_FORMAT_ASTC_8x5_UNORM_BLOCK),- ("VK_FORMAT_ASTC_8x5_SRGB_BLOCK",- pure VK_FORMAT_ASTC_8x5_SRGB_BLOCK),- ("VK_FORMAT_ASTC_8x6_UNORM_BLOCK",- pure VK_FORMAT_ASTC_8x6_UNORM_BLOCK),- ("VK_FORMAT_ASTC_8x6_SRGB_BLOCK",- pure VK_FORMAT_ASTC_8x6_SRGB_BLOCK),- ("VK_FORMAT_ASTC_8x8_UNORM_BLOCK",- pure VK_FORMAT_ASTC_8x8_UNORM_BLOCK),- ("VK_FORMAT_ASTC_8x8_SRGB_BLOCK",- pure VK_FORMAT_ASTC_8x8_SRGB_BLOCK),- ("VK_FORMAT_ASTC_10x5_UNORM_BLOCK",- pure VK_FORMAT_ASTC_10x5_UNORM_BLOCK),- ("VK_FORMAT_ASTC_10x5_SRGB_BLOCK",- pure VK_FORMAT_ASTC_10x5_SRGB_BLOCK),- ("VK_FORMAT_ASTC_10x6_UNORM_BLOCK",- pure VK_FORMAT_ASTC_10x6_UNORM_BLOCK),- ("VK_FORMAT_ASTC_10x6_SRGB_BLOCK",- pure VK_FORMAT_ASTC_10x6_SRGB_BLOCK),- ("VK_FORMAT_ASTC_10x8_UNORM_BLOCK",- pure VK_FORMAT_ASTC_10x8_UNORM_BLOCK),- ("VK_FORMAT_ASTC_10x8_SRGB_BLOCK",- pure VK_FORMAT_ASTC_10x8_SRGB_BLOCK),- ("VK_FORMAT_ASTC_10x10_UNORM_BLOCK",- pure VK_FORMAT_ASTC_10x10_UNORM_BLOCK),- ("VK_FORMAT_ASTC_10x10_SRGB_BLOCK",- pure VK_FORMAT_ASTC_10x10_SRGB_BLOCK),- ("VK_FORMAT_ASTC_12x10_UNORM_BLOCK",- pure VK_FORMAT_ASTC_12x10_UNORM_BLOCK),- ("VK_FORMAT_ASTC_12x10_SRGB_BLOCK",- pure VK_FORMAT_ASTC_12x10_SRGB_BLOCK),- ("VK_FORMAT_ASTC_12x12_UNORM_BLOCK",- pure VK_FORMAT_ASTC_12x12_UNORM_BLOCK),- ("VK_FORMAT_ASTC_12x12_SRGB_BLOCK",- pure VK_FORMAT_ASTC_12x12_SRGB_BLOCK)]- +++- prec 10- (expectP (Ident "VkFormat") >> (VkFormat <$> step readPrec)))--pattern VK_FORMAT_UNDEFINED :: VkFormat--pattern VK_FORMAT_UNDEFINED = VkFormat 0--pattern VK_FORMAT_R4G4_UNORM_PACK8 :: VkFormat--pattern VK_FORMAT_R4G4_UNORM_PACK8 = VkFormat 1--pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R4G4B4A4_UNORM_PACK16 = VkFormat 2--pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_B4G4R4A4_UNORM_PACK16 = VkFormat 3--pattern VK_FORMAT_R5G6B5_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R5G6B5_UNORM_PACK16 = VkFormat 4--pattern VK_FORMAT_B5G6R5_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_B5G6R5_UNORM_PACK16 = VkFormat 5--pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_R5G5B5A1_UNORM_PACK16 = VkFormat 6--pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_B5G5R5A1_UNORM_PACK16 = VkFormat 7--pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 :: VkFormat--pattern VK_FORMAT_A1R5G5B5_UNORM_PACK16 = VkFormat 8--pattern VK_FORMAT_R8_UNORM :: VkFormat--pattern VK_FORMAT_R8_UNORM = VkFormat 9--pattern VK_FORMAT_R8_SNORM :: VkFormat--pattern VK_FORMAT_R8_SNORM = VkFormat 10--pattern VK_FORMAT_R8_USCALED :: VkFormat--pattern VK_FORMAT_R8_USCALED = VkFormat 11--pattern VK_FORMAT_R8_SSCALED :: VkFormat--pattern VK_FORMAT_R8_SSCALED = VkFormat 12--pattern VK_FORMAT_R8_UINT :: VkFormat--pattern VK_FORMAT_R8_UINT = VkFormat 13--pattern VK_FORMAT_R8_SINT :: VkFormat--pattern VK_FORMAT_R8_SINT = VkFormat 14--pattern VK_FORMAT_R8_SRGB :: VkFormat--pattern VK_FORMAT_R8_SRGB = VkFormat 15--pattern VK_FORMAT_R8G8_UNORM :: VkFormat--pattern VK_FORMAT_R8G8_UNORM = VkFormat 16--pattern VK_FORMAT_R8G8_SNORM :: VkFormat--pattern VK_FORMAT_R8G8_SNORM = VkFormat 17--pattern VK_FORMAT_R8G8_USCALED :: VkFormat--pattern VK_FORMAT_R8G8_USCALED = VkFormat 18--pattern VK_FORMAT_R8G8_SSCALED :: VkFormat--pattern VK_FORMAT_R8G8_SSCALED = VkFormat 19--pattern VK_FORMAT_R8G8_UINT :: VkFormat--pattern VK_FORMAT_R8G8_UINT = VkFormat 20--pattern VK_FORMAT_R8G8_SINT :: VkFormat--pattern VK_FORMAT_R8G8_SINT = VkFormat 21--pattern VK_FORMAT_R8G8_SRGB :: VkFormat--pattern VK_FORMAT_R8G8_SRGB = VkFormat 22--pattern VK_FORMAT_R8G8B8_UNORM :: VkFormat--pattern VK_FORMAT_R8G8B8_UNORM = VkFormat 23--pattern VK_FORMAT_R8G8B8_SNORM :: VkFormat--pattern VK_FORMAT_R8G8B8_SNORM = VkFormat 24--pattern VK_FORMAT_R8G8B8_USCALED :: VkFormat--pattern VK_FORMAT_R8G8B8_USCALED = VkFormat 25--pattern VK_FORMAT_R8G8B8_SSCALED :: VkFormat--pattern VK_FORMAT_R8G8B8_SSCALED = VkFormat 26--pattern VK_FORMAT_R8G8B8_UINT :: VkFormat--pattern VK_FORMAT_R8G8B8_UINT = VkFormat 27--pattern VK_FORMAT_R8G8B8_SINT :: VkFormat--pattern VK_FORMAT_R8G8B8_SINT = VkFormat 28--pattern VK_FORMAT_R8G8B8_SRGB :: VkFormat--pattern VK_FORMAT_R8G8B8_SRGB = VkFormat 29--pattern VK_FORMAT_B8G8R8_UNORM :: VkFormat--pattern VK_FORMAT_B8G8R8_UNORM = VkFormat 30--pattern VK_FORMAT_B8G8R8_SNORM :: VkFormat--pattern VK_FORMAT_B8G8R8_SNORM = VkFormat 31--pattern VK_FORMAT_B8G8R8_USCALED :: VkFormat--pattern VK_FORMAT_B8G8R8_USCALED = VkFormat 32--pattern VK_FORMAT_B8G8R8_SSCALED :: VkFormat--pattern VK_FORMAT_B8G8R8_SSCALED = VkFormat 33--pattern VK_FORMAT_B8G8R8_UINT :: VkFormat--pattern VK_FORMAT_B8G8R8_UINT = VkFormat 34--pattern VK_FORMAT_B8G8R8_SINT :: VkFormat--pattern VK_FORMAT_B8G8R8_SINT = VkFormat 35--pattern VK_FORMAT_B8G8R8_SRGB :: VkFormat--pattern VK_FORMAT_B8G8R8_SRGB = VkFormat 36--pattern VK_FORMAT_R8G8B8A8_UNORM :: VkFormat--pattern VK_FORMAT_R8G8B8A8_UNORM = VkFormat 37--pattern VK_FORMAT_R8G8B8A8_SNORM :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SNORM = VkFormat 38--pattern VK_FORMAT_R8G8B8A8_USCALED :: VkFormat--pattern VK_FORMAT_R8G8B8A8_USCALED = VkFormat 39--pattern VK_FORMAT_R8G8B8A8_SSCALED :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SSCALED = VkFormat 40--pattern VK_FORMAT_R8G8B8A8_UINT :: VkFormat--pattern VK_FORMAT_R8G8B8A8_UINT = VkFormat 41--pattern VK_FORMAT_R8G8B8A8_SINT :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SINT = VkFormat 42--pattern VK_FORMAT_R8G8B8A8_SRGB :: VkFormat--pattern VK_FORMAT_R8G8B8A8_SRGB = VkFormat 43--pattern VK_FORMAT_B8G8R8A8_UNORM :: VkFormat--pattern VK_FORMAT_B8G8R8A8_UNORM = VkFormat 44--pattern VK_FORMAT_B8G8R8A8_SNORM :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SNORM = VkFormat 45--pattern VK_FORMAT_B8G8R8A8_USCALED :: VkFormat--pattern VK_FORMAT_B8G8R8A8_USCALED = VkFormat 46--pattern VK_FORMAT_B8G8R8A8_SSCALED :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SSCALED = VkFormat 47--pattern VK_FORMAT_B8G8R8A8_UINT :: VkFormat--pattern VK_FORMAT_B8G8R8A8_UINT = VkFormat 48--pattern VK_FORMAT_B8G8R8A8_SINT :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SINT = VkFormat 49--pattern VK_FORMAT_B8G8R8A8_SRGB :: VkFormat--pattern VK_FORMAT_B8G8R8A8_SRGB = VkFormat 50--pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_UNORM_PACK32 = VkFormat 51--pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SNORM_PACK32 = VkFormat 52--pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_USCALED_PACK32 = VkFormat 53--pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = VkFormat 54--pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_UINT_PACK32 = VkFormat 55--pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SINT_PACK32 = VkFormat 56--pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 :: VkFormat--pattern VK_FORMAT_A8B8G8R8_SRGB_PACK32 = VkFormat 57--pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_UNORM_PACK32 = VkFormat 58--pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_SNORM_PACK32 = VkFormat 59--pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_USCALED_PACK32 = VkFormat 60--pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = VkFormat 61--pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_UINT_PACK32 = VkFormat 62--pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2R10G10B10_SINT_PACK32 = VkFormat 63--pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_UNORM_PACK32 = VkFormat 64--pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_SNORM_PACK32 = VkFormat 65--pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_USCALED_PACK32 = VkFormat 66--pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = VkFormat 67--pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_UINT_PACK32 = VkFormat 68--pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 :: VkFormat--pattern VK_FORMAT_A2B10G10R10_SINT_PACK32 = VkFormat 69--pattern VK_FORMAT_R16_UNORM :: VkFormat--pattern VK_FORMAT_R16_UNORM = VkFormat 70--pattern VK_FORMAT_R16_SNORM :: VkFormat--pattern VK_FORMAT_R16_SNORM = VkFormat 71--pattern VK_FORMAT_R16_USCALED :: VkFormat--pattern VK_FORMAT_R16_USCALED = VkFormat 72--pattern VK_FORMAT_R16_SSCALED :: VkFormat--pattern VK_FORMAT_R16_SSCALED = VkFormat 73--pattern VK_FORMAT_R16_UINT :: VkFormat--pattern VK_FORMAT_R16_UINT = VkFormat 74--pattern VK_FORMAT_R16_SINT :: VkFormat--pattern VK_FORMAT_R16_SINT = VkFormat 75--pattern VK_FORMAT_R16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16_SFLOAT = VkFormat 76--pattern VK_FORMAT_R16G16_UNORM :: VkFormat--pattern VK_FORMAT_R16G16_UNORM = VkFormat 77--pattern VK_FORMAT_R16G16_SNORM :: VkFormat--pattern VK_FORMAT_R16G16_SNORM = VkFormat 78--pattern VK_FORMAT_R16G16_USCALED :: VkFormat--pattern VK_FORMAT_R16G16_USCALED = VkFormat 79--pattern VK_FORMAT_R16G16_SSCALED :: VkFormat--pattern VK_FORMAT_R16G16_SSCALED = VkFormat 80--pattern VK_FORMAT_R16G16_UINT :: VkFormat--pattern VK_FORMAT_R16G16_UINT = VkFormat 81--pattern VK_FORMAT_R16G16_SINT :: VkFormat--pattern VK_FORMAT_R16G16_SINT = VkFormat 82--pattern VK_FORMAT_R16G16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16G16_SFLOAT = VkFormat 83--pattern VK_FORMAT_R16G16B16_UNORM :: VkFormat--pattern VK_FORMAT_R16G16B16_UNORM = VkFormat 84--pattern VK_FORMAT_R16G16B16_SNORM :: VkFormat--pattern VK_FORMAT_R16G16B16_SNORM = VkFormat 85--pattern VK_FORMAT_R16G16B16_USCALED :: VkFormat--pattern VK_FORMAT_R16G16B16_USCALED = VkFormat 86--pattern VK_FORMAT_R16G16B16_SSCALED :: VkFormat--pattern VK_FORMAT_R16G16B16_SSCALED = VkFormat 87--pattern VK_FORMAT_R16G16B16_UINT :: VkFormat--pattern VK_FORMAT_R16G16B16_UINT = VkFormat 88--pattern VK_FORMAT_R16G16B16_SINT :: VkFormat--pattern VK_FORMAT_R16G16B16_SINT = VkFormat 89--pattern VK_FORMAT_R16G16B16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16G16B16_SFLOAT = VkFormat 90--pattern VK_FORMAT_R16G16B16A16_UNORM :: VkFormat--pattern VK_FORMAT_R16G16B16A16_UNORM = VkFormat 91--pattern VK_FORMAT_R16G16B16A16_SNORM :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SNORM = VkFormat 92--pattern VK_FORMAT_R16G16B16A16_USCALED :: VkFormat--pattern VK_FORMAT_R16G16B16A16_USCALED = VkFormat 93--pattern VK_FORMAT_R16G16B16A16_SSCALED :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SSCALED = VkFormat 94--pattern VK_FORMAT_R16G16B16A16_UINT :: VkFormat--pattern VK_FORMAT_R16G16B16A16_UINT = VkFormat 95--pattern VK_FORMAT_R16G16B16A16_SINT :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SINT = VkFormat 96--pattern VK_FORMAT_R16G16B16A16_SFLOAT :: VkFormat--pattern VK_FORMAT_R16G16B16A16_SFLOAT = VkFormat 97--pattern VK_FORMAT_R32_UINT :: VkFormat--pattern VK_FORMAT_R32_UINT = VkFormat 98--pattern VK_FORMAT_R32_SINT :: VkFormat--pattern VK_FORMAT_R32_SINT = VkFormat 99--pattern VK_FORMAT_R32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32_SFLOAT = VkFormat 100--pattern VK_FORMAT_R32G32_UINT :: VkFormat--pattern VK_FORMAT_R32G32_UINT = VkFormat 101--pattern VK_FORMAT_R32G32_SINT :: VkFormat--pattern VK_FORMAT_R32G32_SINT = VkFormat 102--pattern VK_FORMAT_R32G32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32G32_SFLOAT = VkFormat 103--pattern VK_FORMAT_R32G32B32_UINT :: VkFormat--pattern VK_FORMAT_R32G32B32_UINT = VkFormat 104--pattern VK_FORMAT_R32G32B32_SINT :: VkFormat--pattern VK_FORMAT_R32G32B32_SINT = VkFormat 105--pattern VK_FORMAT_R32G32B32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32G32B32_SFLOAT = VkFormat 106--pattern VK_FORMAT_R32G32B32A32_UINT :: VkFormat--pattern VK_FORMAT_R32G32B32A32_UINT = VkFormat 107--pattern VK_FORMAT_R32G32B32A32_SINT :: VkFormat--pattern VK_FORMAT_R32G32B32A32_SINT = VkFormat 108--pattern VK_FORMAT_R32G32B32A32_SFLOAT :: VkFormat--pattern VK_FORMAT_R32G32B32A32_SFLOAT = VkFormat 109--pattern VK_FORMAT_R64_UINT :: VkFormat--pattern VK_FORMAT_R64_UINT = VkFormat 110--pattern VK_FORMAT_R64_SINT :: VkFormat--pattern VK_FORMAT_R64_SINT = VkFormat 111--pattern VK_FORMAT_R64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64_SFLOAT = VkFormat 112--pattern VK_FORMAT_R64G64_UINT :: VkFormat--pattern VK_FORMAT_R64G64_UINT = VkFormat 113--pattern VK_FORMAT_R64G64_SINT :: VkFormat--pattern VK_FORMAT_R64G64_SINT = VkFormat 114--pattern VK_FORMAT_R64G64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64G64_SFLOAT = VkFormat 115--pattern VK_FORMAT_R64G64B64_UINT :: VkFormat--pattern VK_FORMAT_R64G64B64_UINT = VkFormat 116--pattern VK_FORMAT_R64G64B64_SINT :: VkFormat--pattern VK_FORMAT_R64G64B64_SINT = VkFormat 117--pattern VK_FORMAT_R64G64B64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64G64B64_SFLOAT = VkFormat 118--pattern VK_FORMAT_R64G64B64A64_UINT :: VkFormat--pattern VK_FORMAT_R64G64B64A64_UINT = VkFormat 119--pattern VK_FORMAT_R64G64B64A64_SINT :: VkFormat--pattern VK_FORMAT_R64G64B64A64_SINT = VkFormat 120--pattern VK_FORMAT_R64G64B64A64_SFLOAT :: VkFormat--pattern VK_FORMAT_R64G64B64A64_SFLOAT = VkFormat 121--pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 :: VkFormat--pattern VK_FORMAT_B10G11R11_UFLOAT_PACK32 = VkFormat 122--pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 :: VkFormat--pattern VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = VkFormat 123--pattern VK_FORMAT_D16_UNORM :: VkFormat--pattern VK_FORMAT_D16_UNORM = VkFormat 124--pattern VK_FORMAT_X8_D24_UNORM_PACK32 :: VkFormat--pattern VK_FORMAT_X8_D24_UNORM_PACK32 = VkFormat 125--pattern VK_FORMAT_D32_SFLOAT :: VkFormat--pattern VK_FORMAT_D32_SFLOAT = VkFormat 126--pattern VK_FORMAT_S8_UINT :: VkFormat--pattern VK_FORMAT_S8_UINT = VkFormat 127--pattern VK_FORMAT_D16_UNORM_S8_UINT :: VkFormat--pattern VK_FORMAT_D16_UNORM_S8_UINT = VkFormat 128--pattern VK_FORMAT_D24_UNORM_S8_UINT :: VkFormat--pattern VK_FORMAT_D24_UNORM_S8_UINT = VkFormat 129--pattern VK_FORMAT_D32_SFLOAT_S8_UINT :: VkFormat--pattern VK_FORMAT_D32_SFLOAT_S8_UINT = VkFormat 130--pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGB_UNORM_BLOCK = VkFormat 131--pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGB_SRGB_BLOCK = VkFormat 132--pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGBA_UNORM_BLOCK = VkFormat 133--pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC1_RGBA_SRGB_BLOCK = VkFormat 134--pattern VK_FORMAT_BC2_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC2_UNORM_BLOCK = VkFormat 135--pattern VK_FORMAT_BC2_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC2_SRGB_BLOCK = VkFormat 136--pattern VK_FORMAT_BC3_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC3_UNORM_BLOCK = VkFormat 137--pattern VK_FORMAT_BC3_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC3_SRGB_BLOCK = VkFormat 138--pattern VK_FORMAT_BC4_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC4_UNORM_BLOCK = VkFormat 139--pattern VK_FORMAT_BC4_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC4_SNORM_BLOCK = VkFormat 140--pattern VK_FORMAT_BC5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC5_UNORM_BLOCK = VkFormat 141--pattern VK_FORMAT_BC5_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC5_SNORM_BLOCK = VkFormat 142--pattern VK_FORMAT_BC6H_UFLOAT_BLOCK :: VkFormat--pattern VK_FORMAT_BC6H_UFLOAT_BLOCK = VkFormat 143--pattern VK_FORMAT_BC6H_SFLOAT_BLOCK :: VkFormat--pattern VK_FORMAT_BC6H_SFLOAT_BLOCK = VkFormat 144--pattern VK_FORMAT_BC7_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_BC7_UNORM_BLOCK = VkFormat 145--pattern VK_FORMAT_BC7_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_BC7_SRGB_BLOCK = VkFormat 146--pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = VkFormat 147--pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = VkFormat 148--pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = VkFormat 149--pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = VkFormat 150--pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = VkFormat 151--pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = VkFormat 152--pattern VK_FORMAT_EAC_R11_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11_UNORM_BLOCK = VkFormat 153--pattern VK_FORMAT_EAC_R11_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11_SNORM_BLOCK = VkFormat 154--pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11G11_UNORM_BLOCK = VkFormat 155--pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK :: VkFormat--pattern VK_FORMAT_EAC_R11G11_SNORM_BLOCK = VkFormat 156--pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_4x4_UNORM_BLOCK = VkFormat 157--pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_4x4_SRGB_BLOCK = VkFormat 158--pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x4_UNORM_BLOCK = VkFormat 159--pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x4_SRGB_BLOCK = VkFormat 160--pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x5_UNORM_BLOCK = VkFormat 161--pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_5x5_SRGB_BLOCK = VkFormat 162--pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x5_UNORM_BLOCK = VkFormat 163--pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x5_SRGB_BLOCK = VkFormat 164--pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x6_UNORM_BLOCK = VkFormat 165--pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_6x6_SRGB_BLOCK = VkFormat 166--pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x5_UNORM_BLOCK = VkFormat 167--pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x5_SRGB_BLOCK = VkFormat 168--pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x6_UNORM_BLOCK = VkFormat 169--pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x6_SRGB_BLOCK = VkFormat 170--pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x8_UNORM_BLOCK = VkFormat 171--pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_8x8_SRGB_BLOCK = VkFormat 172--pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x5_UNORM_BLOCK = VkFormat 173--pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x5_SRGB_BLOCK = VkFormat 174--pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x6_UNORM_BLOCK = VkFormat 175--pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x6_SRGB_BLOCK = VkFormat 176--pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x8_UNORM_BLOCK = VkFormat 177--pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x8_SRGB_BLOCK = VkFormat 178--pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x10_UNORM_BLOCK = VkFormat 179--pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_10x10_SRGB_BLOCK = VkFormat 180--pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x10_UNORM_BLOCK = VkFormat 181--pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x10_SRGB_BLOCK = VkFormat 182--pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x12_UNORM_BLOCK = VkFormat 183--pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK :: VkFormat--pattern VK_FORMAT_ASTC_12x12_SRGB_BLOCK = VkFormat 184
@@ -1,251 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags- (VkFormatFeatureBitmask(VkFormatFeatureBitmask,- VkFormatFeatureFlags, VkFormatFeatureFlagBits,- VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT,- VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT,- VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT,- VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT,- VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT,- VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT,- VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT,- VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT,- VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT,- VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT,- VK_FORMAT_FEATURE_BLIT_SRC_BIT, VK_FORMAT_FEATURE_BLIT_DST_BIT,- VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT),- VkFormatFeatureFlags, VkFormatFeatureFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkFormatFeatureBitmask (a ::- FlagType) = VkFormatFeatureBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask--type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit--pattern VkFormatFeatureFlagBits ::- VkFlags -> VkFormatFeatureBitmask FlagBit--pattern VkFormatFeatureFlagBits n = VkFormatFeatureBitmask n--pattern VkFormatFeatureFlags ::- VkFlags -> VkFormatFeatureBitmask FlagMask--pattern VkFormatFeatureFlags n = VkFormatFeatureBitmask n--deriving instance Bits (VkFormatFeatureBitmask FlagMask)--deriving instance FiniteBits (VkFormatFeatureBitmask FlagMask)--deriving instance Integral (VkFormatFeatureBitmask FlagMask)--deriving instance Num (VkFormatFeatureBitmask FlagMask)--deriving instance Bounded (VkFormatFeatureBitmask FlagMask)--deriving instance Enum (VkFormatFeatureBitmask FlagMask)--deriving instance Real (VkFormatFeatureBitmask FlagMask)--instance Show (VkFormatFeatureBitmask a) where- showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT- = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"- showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT- = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"- showsPrec _ VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT- = showString "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"- showsPrec _ VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT- = showString "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"- showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT- = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"- showsPrec _ VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT- = showString "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"- showsPrec _ VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT- = showString "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"- showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT- = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"- showsPrec _ VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT- = showString "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"- showsPrec _ VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT- = showString "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"- showsPrec _ VK_FORMAT_FEATURE_BLIT_SRC_BIT- = showString "VK_FORMAT_FEATURE_BLIT_SRC_BIT"- showsPrec _ VK_FORMAT_FEATURE_BLIT_DST_BIT- = showString "VK_FORMAT_FEATURE_BLIT_DST_BIT"- showsPrec _ VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT- = showString "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"- showsPrec p (VkFormatFeatureBitmask x)- = showParen (p >= 11)- (showString "VkFormatFeatureBitmask " . showsPrec 11 x)--instance Read (VkFormatFeatureBitmask a) where- readPrec- = parens- (choose- [("VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",- pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT),- ("VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",- pure VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT),- ("VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",- pure VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT),- ("VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",- pure VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT),- ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",- pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT),- ("VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",- pure VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT),- ("VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",- pure VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT),- ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",- pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT),- ("VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT",- pure VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT),- ("VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",- pure VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT),- ("VK_FORMAT_FEATURE_BLIT_SRC_BIT",- pure VK_FORMAT_FEATURE_BLIT_SRC_BIT),- ("VK_FORMAT_FEATURE_BLIT_DST_BIT",- pure VK_FORMAT_FEATURE_BLIT_DST_BIT),- ("VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",- pure VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT)]- +++- prec 10- (expectP (Ident "VkFormatFeatureBitmask") >>- (VkFormatFeatureBitmask <$> step readPrec)))---- | Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)------ bitpos = @0@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT =- VkFormatFeatureBitmask 1---- | Format can be used for storage images (STORAGE_IMAGE descriptor type)------ bitpos = @1@-pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT =- VkFormatFeatureBitmask 2---- | Format supports atomic operations in case it is used for storage images------ bitpos = @2@-pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT =- VkFormatFeatureBitmask 4---- | Format can be used for uniform texel buffers (TBOs)------ bitpos = @3@-pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT =- VkFormatFeatureBitmask 8---- | Format can be used for storage texel buffers (IBOs)------ bitpos = @4@-pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT =- VkFormatFeatureBitmask 16---- | Format supports atomic operations in case it is used for storage texel buffers------ bitpos = @5@-pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT =- VkFormatFeatureBitmask 32---- | Format can be used for vertex buffers (VBOs)------ bitpos = @6@-pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT =- VkFormatFeatureBitmask 64---- | Format can be used for color attachment images------ bitpos = @7@-pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT =- VkFormatFeatureBitmask 128---- | Format supports blending in case it is used for color attachment images------ bitpos = @8@-pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT =- VkFormatFeatureBitmask 256---- | Format can be used for depth/stencil attachment images------ bitpos = @9@-pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT =- VkFormatFeatureBitmask 512---- | Format can be used as the source image of blits with vkCmdBlitImage------ bitpos = @10@-pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_BLIT_SRC_BIT =- VkFormatFeatureBitmask 1024---- | Format can be used as the destination image of blits with vkCmdBlitImage------ bitpos = @11@-pattern VK_FORMAT_FEATURE_BLIT_DST_BIT :: VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_BLIT_DST_BIT =- VkFormatFeatureBitmask 2048---- | Format can be filtered with VK_FILTER_LINEAR when being sampled------ bitpos = @12@-pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT ::- VkFormatFeatureBitmask a--pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT =- VkFormatFeatureBitmask 4096
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkFramebufferCreateFlagBits- (VkFramebufferCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkFramebufferCreateFlagBits = VkFramebufferCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkFramebufferCreateFlagBits where- {-# INLINE show #-}- show (VkFramebufferCreateFlagBits x) = show x--instance Read VkFramebufferCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,52 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkFrontFace- (VkFrontFace(VkFrontFace, VK_FRONT_FACE_COUNTER_CLOCKWISE,- VK_FRONT_FACE_CLOCKWISE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkFrontFace.html VkFrontFace registry at www.khronos.org>-newtype VkFrontFace = VkFrontFace Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkFrontFace where- showsPrec _ VK_FRONT_FACE_COUNTER_CLOCKWISE- = showString "VK_FRONT_FACE_COUNTER_CLOCKWISE"- showsPrec _ VK_FRONT_FACE_CLOCKWISE- = showString "VK_FRONT_FACE_CLOCKWISE"- showsPrec p (VkFrontFace x)- = showParen (p >= 11) (showString "VkFrontFace " . showsPrec 11 x)--instance Read VkFrontFace where- readPrec- = parens- (choose- [("VK_FRONT_FACE_COUNTER_CLOCKWISE",- pure VK_FRONT_FACE_COUNTER_CLOCKWISE),- ("VK_FRONT_FACE_CLOCKWISE", pure VK_FRONT_FACE_CLOCKWISE)]- +++- prec 10- (expectP (Ident "VkFrontFace") >> (VkFrontFace <$> step readPrec)))--pattern VK_FRONT_FACE_COUNTER_CLOCKWISE :: VkFrontFace--pattern VK_FRONT_FACE_COUNTER_CLOCKWISE = VkFrontFace 0--pattern VK_FRONT_FACE_CLOCKWISE :: VkFrontFace--pattern VK_FRONT_FACE_CLOCKWISE = VkFrontFace 1
@@ -1,107 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkImageAspectFlags- (VkImageAspectBitmask(VkImageAspectBitmask, VkImageAspectFlags,- VkImageAspectFlagBits, VK_IMAGE_ASPECT_COLOR_BIT,- VK_IMAGE_ASPECT_DEPTH_BIT, VK_IMAGE_ASPECT_STENCIL_BIT,- VK_IMAGE_ASPECT_METADATA_BIT),- VkImageAspectFlags, VkImageAspectFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkImageAspectBitmask (a ::- FlagType) = VkImageAspectBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkImageAspectFlags = VkImageAspectBitmask FlagMask--type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit--pattern VkImageAspectFlagBits ::- VkFlags -> VkImageAspectBitmask FlagBit--pattern VkImageAspectFlagBits n = VkImageAspectBitmask n--pattern VkImageAspectFlags ::- VkFlags -> VkImageAspectBitmask FlagMask--pattern VkImageAspectFlags n = VkImageAspectBitmask n--deriving instance Bits (VkImageAspectBitmask FlagMask)--deriving instance FiniteBits (VkImageAspectBitmask FlagMask)--deriving instance Integral (VkImageAspectBitmask FlagMask)--deriving instance Num (VkImageAspectBitmask FlagMask)--deriving instance Bounded (VkImageAspectBitmask FlagMask)--deriving instance Enum (VkImageAspectBitmask FlagMask)--deriving instance Real (VkImageAspectBitmask FlagMask)--instance Show (VkImageAspectBitmask a) where- showsPrec _ VK_IMAGE_ASPECT_COLOR_BIT- = showString "VK_IMAGE_ASPECT_COLOR_BIT"- showsPrec _ VK_IMAGE_ASPECT_DEPTH_BIT- = showString "VK_IMAGE_ASPECT_DEPTH_BIT"- showsPrec _ VK_IMAGE_ASPECT_STENCIL_BIT- = showString "VK_IMAGE_ASPECT_STENCIL_BIT"- showsPrec _ VK_IMAGE_ASPECT_METADATA_BIT- = showString "VK_IMAGE_ASPECT_METADATA_BIT"- showsPrec p (VkImageAspectBitmask x)- = showParen (p >= 11)- (showString "VkImageAspectBitmask " . showsPrec 11 x)--instance Read (VkImageAspectBitmask a) where- readPrec- = parens- (choose- [("VK_IMAGE_ASPECT_COLOR_BIT", pure VK_IMAGE_ASPECT_COLOR_BIT),- ("VK_IMAGE_ASPECT_DEPTH_BIT", pure VK_IMAGE_ASPECT_DEPTH_BIT),- ("VK_IMAGE_ASPECT_STENCIL_BIT", pure VK_IMAGE_ASPECT_STENCIL_BIT),- ("VK_IMAGE_ASPECT_METADATA_BIT",- pure VK_IMAGE_ASPECT_METADATA_BIT)]- +++- prec 10- (expectP (Ident "VkImageAspectBitmask") >>- (VkImageAspectBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_IMAGE_ASPECT_COLOR_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_COLOR_BIT = VkImageAspectBitmask 1---- | bitpos = @1@-pattern VK_IMAGE_ASPECT_DEPTH_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_DEPTH_BIT = VkImageAspectBitmask 2---- | bitpos = @2@-pattern VK_IMAGE_ASPECT_STENCIL_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_STENCIL_BIT = VkImageAspectBitmask 4---- | bitpos = @3@-pattern VK_IMAGE_ASPECT_METADATA_BIT :: VkImageAspectBitmask a--pattern VK_IMAGE_ASPECT_METADATA_BIT = VkImageAspectBitmask 8
@@ -1,138 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkImageCreateFlags- (VkImageCreateBitmask(VkImageCreateBitmask, VkImageCreateFlags,- VkImageCreateFlagBits, VK_IMAGE_CREATE_SPARSE_BINDING_BIT,- VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT,- VK_IMAGE_CREATE_SPARSE_ALIASED_BIT,- VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,- VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT),- VkImageCreateFlags, VkImageCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkImageCreateBitmask (a ::- FlagType) = VkImageCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkImageCreateFlags = VkImageCreateBitmask FlagMask--type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit--pattern VkImageCreateFlagBits ::- VkFlags -> VkImageCreateBitmask FlagBit--pattern VkImageCreateFlagBits n = VkImageCreateBitmask n--pattern VkImageCreateFlags ::- VkFlags -> VkImageCreateBitmask FlagMask--pattern VkImageCreateFlags n = VkImageCreateBitmask n--deriving instance Bits (VkImageCreateBitmask FlagMask)--deriving instance FiniteBits (VkImageCreateBitmask FlagMask)--deriving instance Integral (VkImageCreateBitmask FlagMask)--deriving instance Num (VkImageCreateBitmask FlagMask)--deriving instance Bounded (VkImageCreateBitmask FlagMask)--deriving instance Enum (VkImageCreateBitmask FlagMask)--deriving instance Real (VkImageCreateBitmask FlagMask)--instance Show (VkImageCreateBitmask a) where- showsPrec _ VK_IMAGE_CREATE_SPARSE_BINDING_BIT- = showString "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"- showsPrec _ VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT- = showString "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"- showsPrec _ VK_IMAGE_CREATE_SPARSE_ALIASED_BIT- = showString "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"- showsPrec _ VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT- = showString "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"- showsPrec _ VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT- = showString "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"- showsPrec p (VkImageCreateBitmask x)- = showParen (p >= 11)- (showString "VkImageCreateBitmask " . showsPrec 11 x)--instance Read (VkImageCreateBitmask a) where- readPrec- = parens- (choose- [("VK_IMAGE_CREATE_SPARSE_BINDING_BIT",- pure VK_IMAGE_CREATE_SPARSE_BINDING_BIT),- ("VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",- pure VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT),- ("VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",- pure VK_IMAGE_CREATE_SPARSE_ALIASED_BIT),- ("VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",- pure VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT),- ("VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",- pure VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT)]- +++- prec 10- (expectP (Ident "VkImageCreateBitmask") >>- (VkImageCreateBitmask <$> step readPrec)))---- | Image should support sparse backing------ bitpos = @0@-pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT ::- VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_SPARSE_BINDING_BIT = VkImageCreateBitmask 1---- | Image should support sparse backing with partial residency------ bitpos = @1@-pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT ::- VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT =- VkImageCreateBitmask 2---- | Image should support constent data access to physical memory ranges mapped into multiple locations of sparse images------ bitpos = @2@-pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT ::- VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = VkImageCreateBitmask 4---- | Allows image views to have different format than the base image------ bitpos = @3@-pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT ::- VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = VkImageCreateBitmask 8---- | Allows creating image views with cube type from the created image------ bitpos = @4@-pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT ::- VkImageCreateBitmask a--pattern VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT =- VkImageCreateBitmask 16
@@ -1,128 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkImageLayout- (VkImageLayout(VkImageLayout, VK_IMAGE_LAYOUT_UNDEFINED,- VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,- VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,- VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,- VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,- VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,- VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,- VK_IMAGE_LAYOUT_PREINITIALIZED))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageLayout.html VkImageLayout registry at www.khronos.org>-newtype VkImageLayout = VkImageLayout Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkImageLayout where- showsPrec _ VK_IMAGE_LAYOUT_UNDEFINED- = showString "VK_IMAGE_LAYOUT_UNDEFINED"- showsPrec _ VK_IMAGE_LAYOUT_GENERAL- = showString "VK_IMAGE_LAYOUT_GENERAL"- showsPrec _ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL- = showString "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"- showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL- = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"- showsPrec _ VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL- = showString "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"- showsPrec _ VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL- = showString "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"- showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL- = showString "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"- showsPrec _ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL- = showString "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"- showsPrec _ VK_IMAGE_LAYOUT_PREINITIALIZED- = showString "VK_IMAGE_LAYOUT_PREINITIALIZED"- showsPrec p (VkImageLayout x)- = showParen (p >= 11)- (showString "VkImageLayout " . showsPrec 11 x)--instance Read VkImageLayout where- readPrec- = parens- (choose- [("VK_IMAGE_LAYOUT_UNDEFINED", pure VK_IMAGE_LAYOUT_UNDEFINED),- ("VK_IMAGE_LAYOUT_GENERAL", pure VK_IMAGE_LAYOUT_GENERAL),- ("VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL",- pure VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL),- ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL",- pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL),- ("VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",- pure VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL),- ("VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",- pure VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL),- ("VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL",- pure VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL),- ("VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL",- pure VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL),- ("VK_IMAGE_LAYOUT_PREINITIALIZED",- pure VK_IMAGE_LAYOUT_PREINITIALIZED)]- +++- prec 10- (expectP (Ident "VkImageLayout") >>- (VkImageLayout <$> step readPrec)))---- | Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation)-pattern VK_IMAGE_LAYOUT_UNDEFINED :: VkImageLayout--pattern VK_IMAGE_LAYOUT_UNDEFINED = VkImageLayout 0---- | General layout when image can be used for any kind of access-pattern VK_IMAGE_LAYOUT_GENERAL :: VkImageLayout--pattern VK_IMAGE_LAYOUT_GENERAL = VkImageLayout 1---- | Optimal layout when image is only used for color attachment read/write-pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL :: VkImageLayout--pattern VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = VkImageLayout 2---- | Optimal layout when image is only used for depth/stencil attachment read/write-pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL ::- VkImageLayout--pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL =- VkImageLayout 3---- | Optimal layout when image is used for read only depth/stencil attachment and shader access-pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL ::- VkImageLayout--pattern VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL =- VkImageLayout 4---- | Optimal layout when image is used for read only shader access-pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL :: VkImageLayout--pattern VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = VkImageLayout 5---- | Optimal layout when image is used only as source of transfer operations-pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL :: VkImageLayout--pattern VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = VkImageLayout 6---- | Optimal layout when image is used only as destination of transfer operations-pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL :: VkImageLayout--pattern VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = VkImageLayout 7---- | Initial layout used when the data is populated by the CPU-pattern VK_IMAGE_LAYOUT_PREINITIALIZED :: VkImageLayout--pattern VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout 8
@@ -1,53 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkImageTiling- (VkImageTiling(VkImageTiling, VK_IMAGE_TILING_OPTIMAL,- VK_IMAGE_TILING_LINEAR))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageTiling.html VkImageTiling registry at www.khronos.org>-newtype VkImageTiling = VkImageTiling Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkImageTiling where- showsPrec _ VK_IMAGE_TILING_OPTIMAL- = showString "VK_IMAGE_TILING_OPTIMAL"- showsPrec _ VK_IMAGE_TILING_LINEAR- = showString "VK_IMAGE_TILING_LINEAR"- showsPrec p (VkImageTiling x)- = showParen (p >= 11)- (showString "VkImageTiling " . showsPrec 11 x)--instance Read VkImageTiling where- readPrec- = parens- (choose- [("VK_IMAGE_TILING_OPTIMAL", pure VK_IMAGE_TILING_OPTIMAL),- ("VK_IMAGE_TILING_LINEAR", pure VK_IMAGE_TILING_LINEAR)]- +++- prec 10- (expectP (Ident "VkImageTiling") >>- (VkImageTiling <$> step readPrec)))--pattern VK_IMAGE_TILING_OPTIMAL :: VkImageTiling--pattern VK_IMAGE_TILING_OPTIMAL = VkImageTiling 0--pattern VK_IMAGE_TILING_LINEAR :: VkImageTiling--pattern VK_IMAGE_TILING_LINEAR = VkImageTiling 1
@@ -1,55 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkImageType- (VkImageType(VkImageType, VK_IMAGE_TYPE_1D, VK_IMAGE_TYPE_2D,- VK_IMAGE_TYPE_3D))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageType.html VkImageType registry at www.khronos.org>-newtype VkImageType = VkImageType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkImageType where- showsPrec _ VK_IMAGE_TYPE_1D = showString "VK_IMAGE_TYPE_1D"- showsPrec _ VK_IMAGE_TYPE_2D = showString "VK_IMAGE_TYPE_2D"- showsPrec _ VK_IMAGE_TYPE_3D = showString "VK_IMAGE_TYPE_3D"- showsPrec p (VkImageType x)- = showParen (p >= 11) (showString "VkImageType " . showsPrec 11 x)--instance Read VkImageType where- readPrec- = parens- (choose- [("VK_IMAGE_TYPE_1D", pure VK_IMAGE_TYPE_1D),- ("VK_IMAGE_TYPE_2D", pure VK_IMAGE_TYPE_2D),- ("VK_IMAGE_TYPE_3D", pure VK_IMAGE_TYPE_3D)]- +++- prec 10- (expectP (Ident "VkImageType") >> (VkImageType <$> step readPrec)))--pattern VK_IMAGE_TYPE_1D :: VkImageType--pattern VK_IMAGE_TYPE_1D = VkImageType 0--pattern VK_IMAGE_TYPE_2D :: VkImageType--pattern VK_IMAGE_TYPE_2D = VkImageType 1--pattern VK_IMAGE_TYPE_3D :: VkImageType--pattern VK_IMAGE_TYPE_3D = VkImageType 2
@@ -1,171 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkImageUsageFlags- (VkImageUsageBitmask(VkImageUsageBitmask, VkImageUsageFlags,- VkImageUsageFlagBits, VK_IMAGE_USAGE_TRANSFER_SRC_BIT,- VK_IMAGE_USAGE_TRANSFER_DST_BIT, VK_IMAGE_USAGE_SAMPLED_BIT,- VK_IMAGE_USAGE_STORAGE_BIT, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,- VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,- VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,- VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT),- VkImageUsageFlags, VkImageUsageFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkImageUsageBitmask (a ::- FlagType) = VkImageUsageBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkImageUsageFlags = VkImageUsageBitmask FlagMask--type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit--pattern VkImageUsageFlagBits ::- VkFlags -> VkImageUsageBitmask FlagBit--pattern VkImageUsageFlagBits n = VkImageUsageBitmask n--pattern VkImageUsageFlags ::- VkFlags -> VkImageUsageBitmask FlagMask--pattern VkImageUsageFlags n = VkImageUsageBitmask n--deriving instance Bits (VkImageUsageBitmask FlagMask)--deriving instance FiniteBits (VkImageUsageBitmask FlagMask)--deriving instance Integral (VkImageUsageBitmask FlagMask)--deriving instance Num (VkImageUsageBitmask FlagMask)--deriving instance Bounded (VkImageUsageBitmask FlagMask)--deriving instance Enum (VkImageUsageBitmask FlagMask)--deriving instance Real (VkImageUsageBitmask FlagMask)--instance Show (VkImageUsageBitmask a) where- showsPrec _ VK_IMAGE_USAGE_TRANSFER_SRC_BIT- = showString "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"- showsPrec _ VK_IMAGE_USAGE_TRANSFER_DST_BIT- = showString "VK_IMAGE_USAGE_TRANSFER_DST_BIT"- showsPrec _ VK_IMAGE_USAGE_SAMPLED_BIT- = showString "VK_IMAGE_USAGE_SAMPLED_BIT"- showsPrec _ VK_IMAGE_USAGE_STORAGE_BIT- = showString "VK_IMAGE_USAGE_STORAGE_BIT"- showsPrec _ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT- = showString "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"- showsPrec _ VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT- = showString "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"- showsPrec _ VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT- = showString "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"- showsPrec _ VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT- = showString "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"- showsPrec p (VkImageUsageBitmask x)- = showParen (p >= 11)- (showString "VkImageUsageBitmask " . showsPrec 11 x)--instance Read (VkImageUsageBitmask a) where- readPrec- = parens- (choose- [("VK_IMAGE_USAGE_TRANSFER_SRC_BIT",- pure VK_IMAGE_USAGE_TRANSFER_SRC_BIT),- ("VK_IMAGE_USAGE_TRANSFER_DST_BIT",- pure VK_IMAGE_USAGE_TRANSFER_DST_BIT),- ("VK_IMAGE_USAGE_SAMPLED_BIT", pure VK_IMAGE_USAGE_SAMPLED_BIT),- ("VK_IMAGE_USAGE_STORAGE_BIT", pure VK_IMAGE_USAGE_STORAGE_BIT),- ("VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",- pure VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT),- ("VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",- pure VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT),- ("VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT",- pure VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT),- ("VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",- pure VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)]- +++- prec 10- (expectP (Ident "VkImageUsageBitmask") >>- (VkImageUsageBitmask <$> step readPrec)))---- | Can be used as a source of transfer operations------ bitpos = @0@-pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT :: VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_TRANSFER_SRC_BIT = VkImageUsageBitmask 1---- | Can be used as a destination of transfer operations------ bitpos = @1@-pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT :: VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_TRANSFER_DST_BIT = VkImageUsageBitmask 2---- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)------ bitpos = @2@-pattern VK_IMAGE_USAGE_SAMPLED_BIT :: VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_SAMPLED_BIT = VkImageUsageBitmask 4---- | Can be used as storage image (STORAGE_IMAGE descriptor type)------ bitpos = @3@-pattern VK_IMAGE_USAGE_STORAGE_BIT :: VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_STORAGE_BIT = VkImageUsageBitmask 8---- | Can be used as framebuffer color attachment------ bitpos = @4@-pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT ::- VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT =- VkImageUsageBitmask 16---- | Can be used as framebuffer depth/stencil attachment------ bitpos = @5@-pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT ::- VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT =- VkImageUsageBitmask 32---- | Image data not needed outside of rendering------ bitpos = @6@-pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT ::- VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT =- VkImageUsageBitmask 64---- | Can be used as framebuffer input attachment------ bitpos = @7@-pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT ::- VkImageUsageBitmask a--pattern VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT =- VkImageUsageBitmask 128
@@ -1,91 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkImageViewType- (VkImageViewType(VkImageViewType, VK_IMAGE_VIEW_TYPE_1D,- VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_VIEW_TYPE_3D,- VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY,- VK_IMAGE_VIEW_TYPE_2D_ARRAY, VK_IMAGE_VIEW_TYPE_CUBE_ARRAY))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkImageViewType.html VkImageViewType registry at www.khronos.org>-newtype VkImageViewType = VkImageViewType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkImageViewType where- showsPrec _ VK_IMAGE_VIEW_TYPE_1D- = showString "VK_IMAGE_VIEW_TYPE_1D"- showsPrec _ VK_IMAGE_VIEW_TYPE_2D- = showString "VK_IMAGE_VIEW_TYPE_2D"- showsPrec _ VK_IMAGE_VIEW_TYPE_3D- = showString "VK_IMAGE_VIEW_TYPE_3D"- showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE- = showString "VK_IMAGE_VIEW_TYPE_CUBE"- showsPrec _ VK_IMAGE_VIEW_TYPE_1D_ARRAY- = showString "VK_IMAGE_VIEW_TYPE_1D_ARRAY"- showsPrec _ VK_IMAGE_VIEW_TYPE_2D_ARRAY- = showString "VK_IMAGE_VIEW_TYPE_2D_ARRAY"- showsPrec _ VK_IMAGE_VIEW_TYPE_CUBE_ARRAY- = showString "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"- showsPrec p (VkImageViewType x)- = showParen (p >= 11)- (showString "VkImageViewType " . showsPrec 11 x)--instance Read VkImageViewType where- readPrec- = parens- (choose- [("VK_IMAGE_VIEW_TYPE_1D", pure VK_IMAGE_VIEW_TYPE_1D),- ("VK_IMAGE_VIEW_TYPE_2D", pure VK_IMAGE_VIEW_TYPE_2D),- ("VK_IMAGE_VIEW_TYPE_3D", pure VK_IMAGE_VIEW_TYPE_3D),- ("VK_IMAGE_VIEW_TYPE_CUBE", pure VK_IMAGE_VIEW_TYPE_CUBE),- ("VK_IMAGE_VIEW_TYPE_1D_ARRAY", pure VK_IMAGE_VIEW_TYPE_1D_ARRAY),- ("VK_IMAGE_VIEW_TYPE_2D_ARRAY", pure VK_IMAGE_VIEW_TYPE_2D_ARRAY),- ("VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",- pure VK_IMAGE_VIEW_TYPE_CUBE_ARRAY)]- +++- prec 10- (expectP (Ident "VkImageViewType") >>- (VkImageViewType <$> step readPrec)))--pattern VK_IMAGE_VIEW_TYPE_1D :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_1D = VkImageViewType 0--pattern VK_IMAGE_VIEW_TYPE_2D :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_2D = VkImageViewType 1--pattern VK_IMAGE_VIEW_TYPE_3D :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_3D = VkImageViewType 2--pattern VK_IMAGE_VIEW_TYPE_CUBE :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_CUBE = VkImageViewType 3--pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_1D_ARRAY = VkImageViewType 4--pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_2D_ARRAY = VkImageViewType 5--pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY :: VkImageViewType--pattern VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = VkImageViewType 6
@@ -1,51 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkIndexType- (VkIndexType(VkIndexType, VK_INDEX_TYPE_UINT16,- VK_INDEX_TYPE_UINT32))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkIndexType.html VkIndexType registry at www.khronos.org>-newtype VkIndexType = VkIndexType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkIndexType where- showsPrec _ VK_INDEX_TYPE_UINT16- = showString "VK_INDEX_TYPE_UINT16"- showsPrec _ VK_INDEX_TYPE_UINT32- = showString "VK_INDEX_TYPE_UINT32"- showsPrec p (VkIndexType x)- = showParen (p >= 11) (showString "VkIndexType " . showsPrec 11 x)--instance Read VkIndexType where- readPrec- = parens- (choose- [("VK_INDEX_TYPE_UINT16", pure VK_INDEX_TYPE_UINT16),- ("VK_INDEX_TYPE_UINT32", pure VK_INDEX_TYPE_UINT32)]- +++- prec 10- (expectP (Ident "VkIndexType") >> (VkIndexType <$> step readPrec)))--pattern VK_INDEX_TYPE_UINT16 :: VkIndexType--pattern VK_INDEX_TYPE_UINT16 = VkIndexType 0--pattern VK_INDEX_TYPE_UINT32 :: VkIndexType--pattern VK_INDEX_TYPE_UINT32 = VkIndexType 1
@@ -1,144 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkIndirectCommandsLayoutUsageFlagsNVX- (VkIndirectCommandsLayoutUsageBitmaskNVX(VkIndirectCommandsLayoutUsageBitmaskNVX,- VkIndirectCommandsLayoutUsageFlagsNVX,- VkIndirectCommandsLayoutUsageFlagBitsNVX,- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX,- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX,- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX,- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX),- VkIndirectCommandsLayoutUsageFlagsNVX,- VkIndirectCommandsLayoutUsageFlagBitsNVX)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkIndirectCommandsLayoutUsageBitmaskNVX (a ::- FlagType) = VkIndirectCommandsLayoutUsageBitmaskNVX VkFlags- deriving (Eq, Ord, Storable, Data,- Generic)--type VkIndirectCommandsLayoutUsageFlagsNVX =- VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask--type VkIndirectCommandsLayoutUsageFlagBitsNVX =- VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit--pattern VkIndirectCommandsLayoutUsageFlagBitsNVX ::- VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit--pattern VkIndirectCommandsLayoutUsageFlagBitsNVX n =- VkIndirectCommandsLayoutUsageBitmaskNVX n--pattern VkIndirectCommandsLayoutUsageFlagsNVX ::- VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask--pattern VkIndirectCommandsLayoutUsageFlagsNVX n =- VkIndirectCommandsLayoutUsageBitmaskNVX n--deriving instance- Bits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance- FiniteBits (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance- Integral (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance- Num (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance- Bounded (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance- Enum (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--deriving instance- Real (VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask)--instance Show (VkIndirectCommandsLayoutUsageBitmaskNVX a) where- showsPrec _- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX- = showString- "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX"- showsPrec _- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX- = showString- "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX"- showsPrec _- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX- = showString- "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX"- showsPrec _- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX- = showString- "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX"- showsPrec p (VkIndirectCommandsLayoutUsageBitmaskNVX x)- = showParen (p >= 11)- (showString "VkIndirectCommandsLayoutUsageBitmaskNVX " .- showsPrec 11 x)--instance Read (VkIndirectCommandsLayoutUsageBitmaskNVX a) where- readPrec- = parens- (choose- [("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX",- pure- VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX),- ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX",- pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX),- ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX",- pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX),- ("VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX",- pure VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX)]- +++- prec 10- (expectP (Ident "VkIndirectCommandsLayoutUsageBitmaskNVX") >>- (VkIndirectCommandsLayoutUsageBitmaskNVX <$> step readPrec)))---- | bitpos = @0@-pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX- :: VkIndirectCommandsLayoutUsageBitmaskNVX a--pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX- = VkIndirectCommandsLayoutUsageBitmaskNVX 1---- | bitpos = @1@-pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX- :: VkIndirectCommandsLayoutUsageBitmaskNVX a--pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX- = VkIndirectCommandsLayoutUsageBitmaskNVX 2---- | bitpos = @2@-pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX- :: VkIndirectCommandsLayoutUsageBitmaskNVX a--pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX- = VkIndirectCommandsLayoutUsageBitmaskNVX 4---- | bitpos = @3@-pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX- :: VkIndirectCommandsLayoutUsageBitmaskNVX a--pattern VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX- = VkIndirectCommandsLayoutUsageBitmaskNVX 8
@@ -1,127 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkIndirectCommandsTokenTypeNVX- (VkIndirectCommandsTokenTypeNVX(VkIndirectCommandsTokenTypeNVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX,- VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkIndirectCommandsTokenTypeNVX.html VkIndirectCommandsTokenTypeNVX registry at www.khronos.org>-newtype VkIndirectCommandsTokenTypeNVX = VkIndirectCommandsTokenTypeNVX Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkIndirectCommandsTokenTypeNVX where- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX"- showsPrec _ VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX- = showString "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX"- showsPrec p (VkIndirectCommandsTokenTypeNVX x)- = showParen (p >= 11)- (showString "VkIndirectCommandsTokenTypeNVX " . showsPrec 11 x)--instance Read VkIndirectCommandsTokenTypeNVX where- readPrec- = parens- (choose- [("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX),- ("VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX",- pure VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX)]- +++- prec 10- (expectP (Ident "VkIndirectCommandsTokenTypeNVX") >>- (VkIndirectCommandsTokenTypeNVX <$> step readPrec)))--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NVX =- VkIndirectCommandsTokenTypeNVX 0--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DESCRIPTOR_SET_NVX =- VkIndirectCommandsTokenTypeNVX 1--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NVX =- VkIndirectCommandsTokenTypeNVX 2--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NVX =- VkIndirectCommandsTokenTypeNVX 3--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NVX =- VkIndirectCommandsTokenTypeNVX 4--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NVX =- VkIndirectCommandsTokenTypeNVX 5--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NVX =- VkIndirectCommandsTokenTypeNVX 6--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX ::- VkIndirectCommandsTokenTypeNVX--pattern VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NVX =- VkIndirectCommandsTokenTypeNVX 7
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkInstanceCreateFlagBits- (VkInstanceCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkInstanceCreateFlagBits = VkInstanceCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkInstanceCreateFlagBits where- {-# INLINE show #-}- show (VkInstanceCreateFlagBits x) = show x--instance Read VkInstanceCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,49 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkInternalAllocationType- (VkInternalAllocationType(VkInternalAllocationType,- VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkInternalAllocationType.html VkInternalAllocationType registry at www.khronos.org>-newtype VkInternalAllocationType = VkInternalAllocationType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkInternalAllocationType where- showsPrec _ VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE- = showString "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"- showsPrec p (VkInternalAllocationType x)- = showParen (p >= 11)- (showString "VkInternalAllocationType " . showsPrec 11 x)--instance Read VkInternalAllocationType where- readPrec- = parens- (choose- [("VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE",- pure VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE)]- +++- prec 10- (expectP (Ident "VkInternalAllocationType") >>- (VkInternalAllocationType <$> step readPrec)))--pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE ::- VkInternalAllocationType--pattern VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE =- VkInternalAllocationType 0
@@ -1,144 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkLogicOp- (VkLogicOp(VkLogicOp, VK_LOGIC_OP_CLEAR, VK_LOGIC_OP_AND,- VK_LOGIC_OP_AND_REVERSE, VK_LOGIC_OP_COPY,- VK_LOGIC_OP_AND_INVERTED, VK_LOGIC_OP_NO_OP, VK_LOGIC_OP_XOR,- VK_LOGIC_OP_OR, VK_LOGIC_OP_NOR, VK_LOGIC_OP_EQUIVALENT,- VK_LOGIC_OP_INVERT, VK_LOGIC_OP_OR_REVERSE,- VK_LOGIC_OP_COPY_INVERTED, VK_LOGIC_OP_OR_INVERTED,- VK_LOGIC_OP_NAND, VK_LOGIC_OP_SET))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkLogicOp.html VkLogicOp registry at www.khronos.org>-newtype VkLogicOp = VkLogicOp Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkLogicOp where- showsPrec _ VK_LOGIC_OP_CLEAR = showString "VK_LOGIC_OP_CLEAR"- showsPrec _ VK_LOGIC_OP_AND = showString "VK_LOGIC_OP_AND"- showsPrec _ VK_LOGIC_OP_AND_REVERSE- = showString "VK_LOGIC_OP_AND_REVERSE"- showsPrec _ VK_LOGIC_OP_COPY = showString "VK_LOGIC_OP_COPY"- showsPrec _ VK_LOGIC_OP_AND_INVERTED- = showString "VK_LOGIC_OP_AND_INVERTED"- showsPrec _ VK_LOGIC_OP_NO_OP = showString "VK_LOGIC_OP_NO_OP"- showsPrec _ VK_LOGIC_OP_XOR = showString "VK_LOGIC_OP_XOR"- showsPrec _ VK_LOGIC_OP_OR = showString "VK_LOGIC_OP_OR"- showsPrec _ VK_LOGIC_OP_NOR = showString "VK_LOGIC_OP_NOR"- showsPrec _ VK_LOGIC_OP_EQUIVALENT- = showString "VK_LOGIC_OP_EQUIVALENT"- showsPrec _ VK_LOGIC_OP_INVERT = showString "VK_LOGIC_OP_INVERT"- showsPrec _ VK_LOGIC_OP_OR_REVERSE- = showString "VK_LOGIC_OP_OR_REVERSE"- showsPrec _ VK_LOGIC_OP_COPY_INVERTED- = showString "VK_LOGIC_OP_COPY_INVERTED"- showsPrec _ VK_LOGIC_OP_OR_INVERTED- = showString "VK_LOGIC_OP_OR_INVERTED"- showsPrec _ VK_LOGIC_OP_NAND = showString "VK_LOGIC_OP_NAND"- showsPrec _ VK_LOGIC_OP_SET = showString "VK_LOGIC_OP_SET"- showsPrec p (VkLogicOp x)- = showParen (p >= 11) (showString "VkLogicOp " . showsPrec 11 x)--instance Read VkLogicOp where- readPrec- = parens- (choose- [("VK_LOGIC_OP_CLEAR", pure VK_LOGIC_OP_CLEAR),- ("VK_LOGIC_OP_AND", pure VK_LOGIC_OP_AND),- ("VK_LOGIC_OP_AND_REVERSE", pure VK_LOGIC_OP_AND_REVERSE),- ("VK_LOGIC_OP_COPY", pure VK_LOGIC_OP_COPY),- ("VK_LOGIC_OP_AND_INVERTED", pure VK_LOGIC_OP_AND_INVERTED),- ("VK_LOGIC_OP_NO_OP", pure VK_LOGIC_OP_NO_OP),- ("VK_LOGIC_OP_XOR", pure VK_LOGIC_OP_XOR),- ("VK_LOGIC_OP_OR", pure VK_LOGIC_OP_OR),- ("VK_LOGIC_OP_NOR", pure VK_LOGIC_OP_NOR),- ("VK_LOGIC_OP_EQUIVALENT", pure VK_LOGIC_OP_EQUIVALENT),- ("VK_LOGIC_OP_INVERT", pure VK_LOGIC_OP_INVERT),- ("VK_LOGIC_OP_OR_REVERSE", pure VK_LOGIC_OP_OR_REVERSE),- ("VK_LOGIC_OP_COPY_INVERTED", pure VK_LOGIC_OP_COPY_INVERTED),- ("VK_LOGIC_OP_OR_INVERTED", pure VK_LOGIC_OP_OR_INVERTED),- ("VK_LOGIC_OP_NAND", pure VK_LOGIC_OP_NAND),- ("VK_LOGIC_OP_SET", pure VK_LOGIC_OP_SET)]- +++- prec 10- (expectP (Ident "VkLogicOp") >> (VkLogicOp <$> step readPrec)))--pattern VK_LOGIC_OP_CLEAR :: VkLogicOp--pattern VK_LOGIC_OP_CLEAR = VkLogicOp 0--pattern VK_LOGIC_OP_AND :: VkLogicOp--pattern VK_LOGIC_OP_AND = VkLogicOp 1--pattern VK_LOGIC_OP_AND_REVERSE :: VkLogicOp--pattern VK_LOGIC_OP_AND_REVERSE = VkLogicOp 2--pattern VK_LOGIC_OP_COPY :: VkLogicOp--pattern VK_LOGIC_OP_COPY = VkLogicOp 3--pattern VK_LOGIC_OP_AND_INVERTED :: VkLogicOp--pattern VK_LOGIC_OP_AND_INVERTED = VkLogicOp 4--pattern VK_LOGIC_OP_NO_OP :: VkLogicOp--pattern VK_LOGIC_OP_NO_OP = VkLogicOp 5--pattern VK_LOGIC_OP_XOR :: VkLogicOp--pattern VK_LOGIC_OP_XOR = VkLogicOp 6--pattern VK_LOGIC_OP_OR :: VkLogicOp--pattern VK_LOGIC_OP_OR = VkLogicOp 7--pattern VK_LOGIC_OP_NOR :: VkLogicOp--pattern VK_LOGIC_OP_NOR = VkLogicOp 8--pattern VK_LOGIC_OP_EQUIVALENT :: VkLogicOp--pattern VK_LOGIC_OP_EQUIVALENT = VkLogicOp 9--pattern VK_LOGIC_OP_INVERT :: VkLogicOp--pattern VK_LOGIC_OP_INVERT = VkLogicOp 10--pattern VK_LOGIC_OP_OR_REVERSE :: VkLogicOp--pattern VK_LOGIC_OP_OR_REVERSE = VkLogicOp 11--pattern VK_LOGIC_OP_COPY_INVERTED :: VkLogicOp--pattern VK_LOGIC_OP_COPY_INVERTED = VkLogicOp 12--pattern VK_LOGIC_OP_OR_INVERTED :: VkLogicOp--pattern VK_LOGIC_OP_OR_INVERTED = VkLogicOp 13--pattern VK_LOGIC_OP_NAND :: VkLogicOp--pattern VK_LOGIC_OP_NAND = VkLogicOp 14--pattern VK_LOGIC_OP_SET :: VkLogicOp--pattern VK_LOGIC_OP_SET = VkLogicOp 15
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlagBitsKHR- (VkMemoryAllocateFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkMemoryAllocateFlagBitsKHR where- {-# INLINE show #-}- show (VkMemoryAllocateFlagBitsKHR x) = show x--instance Read VkMemoryAllocateFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,86 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkMemoryAllocateFlags- (VkMemoryAllocateBitmask(VkMemoryAllocateBitmask,- VkMemoryAllocateFlags, VkMemoryAllocateFlagBits,- VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT),- VkMemoryAllocateFlags, VkMemoryAllocateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkMemoryAllocateBitmask (a ::- FlagType) = VkMemoryAllocateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask--type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit--pattern VkMemoryAllocateFlagBits ::- VkFlags -> VkMemoryAllocateBitmask FlagBit--pattern VkMemoryAllocateFlagBits n = VkMemoryAllocateBitmask n--pattern VkMemoryAllocateFlags ::- VkFlags -> VkMemoryAllocateBitmask FlagMask--pattern VkMemoryAllocateFlags n = VkMemoryAllocateBitmask n--deriving instance Bits (VkMemoryAllocateBitmask FlagMask)--deriving instance FiniteBits (VkMemoryAllocateBitmask FlagMask)--deriving instance Integral (VkMemoryAllocateBitmask FlagMask)--deriving instance Num (VkMemoryAllocateBitmask FlagMask)--deriving instance Bounded (VkMemoryAllocateBitmask FlagMask)--deriving instance Enum (VkMemoryAllocateBitmask FlagMask)--deriving instance Real (VkMemoryAllocateBitmask FlagMask)--instance Show (VkMemoryAllocateBitmask a) where- showsPrec _ VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT- = showString "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"- showsPrec p (VkMemoryAllocateBitmask x)- = showParen (p >= 11)- (showString "VkMemoryAllocateBitmask " . showsPrec 11 x)--instance Read (VkMemoryAllocateBitmask a) where- readPrec- = parens- (choose- [("VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT",- pure VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT)]- +++- prec 10- (expectP (Ident "VkMemoryAllocateBitmask") >>- (VkMemoryAllocateBitmask <$> step readPrec)))---- | Force allocation on specific devices------ bitpos = @0@-pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT ::- VkMemoryAllocateBitmask a--pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT =- VkMemoryAllocateBitmask 1
@@ -1,83 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags- (VkMemoryHeapBitmask(VkMemoryHeapBitmask, VkMemoryHeapFlags,- VkMemoryHeapFlagBits, VK_MEMORY_HEAP_DEVICE_LOCAL_BIT),- VkMemoryHeapFlags, VkMemoryHeapFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkMemoryHeapBitmask (a ::- FlagType) = VkMemoryHeapBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask--type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit--pattern VkMemoryHeapFlagBits ::- VkFlags -> VkMemoryHeapBitmask FlagBit--pattern VkMemoryHeapFlagBits n = VkMemoryHeapBitmask n--pattern VkMemoryHeapFlags ::- VkFlags -> VkMemoryHeapBitmask FlagMask--pattern VkMemoryHeapFlags n = VkMemoryHeapBitmask n--deriving instance Bits (VkMemoryHeapBitmask FlagMask)--deriving instance FiniteBits (VkMemoryHeapBitmask FlagMask)--deriving instance Integral (VkMemoryHeapBitmask FlagMask)--deriving instance Num (VkMemoryHeapBitmask FlagMask)--deriving instance Bounded (VkMemoryHeapBitmask FlagMask)--deriving instance Enum (VkMemoryHeapBitmask FlagMask)--deriving instance Real (VkMemoryHeapBitmask FlagMask)--instance Show (VkMemoryHeapBitmask a) where- showsPrec _ VK_MEMORY_HEAP_DEVICE_LOCAL_BIT- = showString "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"- showsPrec p (VkMemoryHeapBitmask x)- = showParen (p >= 11)- (showString "VkMemoryHeapBitmask " . showsPrec 11 x)--instance Read (VkMemoryHeapBitmask a) where- readPrec- = parens- (choose- [("VK_MEMORY_HEAP_DEVICE_LOCAL_BIT",- pure VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)]- +++- prec 10- (expectP (Ident "VkMemoryHeapBitmask") >>- (VkMemoryHeapBitmask <$> step readPrec)))---- | If set, heap represents device memory------ bitpos = @0@-pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT :: VkMemoryHeapBitmask a--pattern VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = VkMemoryHeapBitmask 1
@@ -1,142 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags- (VkMemoryPropertyBitmask(VkMemoryPropertyBitmask,- VkMemoryPropertyFlags, VkMemoryPropertyFlagBits,- VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,- VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,- VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,- VK_MEMORY_PROPERTY_HOST_CACHED_BIT,- VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT),- VkMemoryPropertyFlags, VkMemoryPropertyFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkMemoryPropertyBitmask (a ::- FlagType) = VkMemoryPropertyBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask--type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit--pattern VkMemoryPropertyFlagBits ::- VkFlags -> VkMemoryPropertyBitmask FlagBit--pattern VkMemoryPropertyFlagBits n = VkMemoryPropertyBitmask n--pattern VkMemoryPropertyFlags ::- VkFlags -> VkMemoryPropertyBitmask FlagMask--pattern VkMemoryPropertyFlags n = VkMemoryPropertyBitmask n--deriving instance Bits (VkMemoryPropertyBitmask FlagMask)--deriving instance FiniteBits (VkMemoryPropertyBitmask FlagMask)--deriving instance Integral (VkMemoryPropertyBitmask FlagMask)--deriving instance Num (VkMemoryPropertyBitmask FlagMask)--deriving instance Bounded (VkMemoryPropertyBitmask FlagMask)--deriving instance Enum (VkMemoryPropertyBitmask FlagMask)--deriving instance Real (VkMemoryPropertyBitmask FlagMask)--instance Show (VkMemoryPropertyBitmask a) where- showsPrec _ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT- = showString "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"- showsPrec _ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT- = showString "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"- showsPrec _ VK_MEMORY_PROPERTY_HOST_COHERENT_BIT- = showString "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"- showsPrec _ VK_MEMORY_PROPERTY_HOST_CACHED_BIT- = showString "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"- showsPrec _ VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT- = showString "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"- showsPrec p (VkMemoryPropertyBitmask x)- = showParen (p >= 11)- (showString "VkMemoryPropertyBitmask " . showsPrec 11 x)--instance Read (VkMemoryPropertyBitmask a) where- readPrec- = parens- (choose- [("VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT",- pure VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT),- ("VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT",- pure VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT),- ("VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",- pure VK_MEMORY_PROPERTY_HOST_COHERENT_BIT),- ("VK_MEMORY_PROPERTY_HOST_CACHED_BIT",- pure VK_MEMORY_PROPERTY_HOST_CACHED_BIT),- ("VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT",- pure VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT)]- +++- prec 10- (expectP (Ident "VkMemoryPropertyBitmask") >>- (VkMemoryPropertyBitmask <$> step readPrec)))---- | If otherwise stated, then allocate memory on device------ bitpos = @0@-pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT ::- VkMemoryPropertyBitmask a--pattern VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT =- VkMemoryPropertyBitmask 1---- | Memory is mappable by host------ bitpos = @1@-pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT ::- VkMemoryPropertyBitmask a--pattern VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT =- VkMemoryPropertyBitmask 2---- | Memory will have i/o coherency. If not set, application may need to use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to flush/invalidate host cache------ bitpos = @2@-pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT ::- VkMemoryPropertyBitmask a--pattern VK_MEMORY_PROPERTY_HOST_COHERENT_BIT =- VkMemoryPropertyBitmask 4---- | Memory will be cached by the host------ bitpos = @3@-pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT ::- VkMemoryPropertyBitmask a--pattern VK_MEMORY_PROPERTY_HOST_CACHED_BIT =- VkMemoryPropertyBitmask 8---- | Memory may be allocated by the driver when it is required------ bitpos = @4@-pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT ::- VkMemoryPropertyBitmask a--pattern VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT =- VkMemoryPropertyBitmask 16
@@ -1,91 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkObjectEntryTypeNVX- (VkObjectEntryTypeNVX(VkObjectEntryTypeNVX,- VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX,- VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX,- VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX,- VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX,- VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectEntryTypeNVX.html VkObjectEntryTypeNVX registry at www.khronos.org>-newtype VkObjectEntryTypeNVX = VkObjectEntryTypeNVX Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkObjectEntryTypeNVX where- showsPrec _ VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX- = showString "VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX"- showsPrec _ VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX- = showString "VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX"- showsPrec _ VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX- = showString "VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX"- showsPrec _ VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX- = showString "VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX"- showsPrec _ VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX- = showString "VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX"- showsPrec p (VkObjectEntryTypeNVX x)- = showParen (p >= 11)- (showString "VkObjectEntryTypeNVX " . showsPrec 11 x)--instance Read VkObjectEntryTypeNVX where- readPrec- = parens- (choose- [("VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX",- pure VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX),- ("VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX",- pure VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX),- ("VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX",- pure VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX),- ("VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX",- pure VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX),- ("VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX",- pure VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX)]- +++- prec 10- (expectP (Ident "VkObjectEntryTypeNVX") >>- (VkObjectEntryTypeNVX <$> step readPrec)))--pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX ::- VkObjectEntryTypeNVX--pattern VK_OBJECT_ENTRY_TYPE_DESCRIPTOR_SET_NVX =- VkObjectEntryTypeNVX 0--pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX :: VkObjectEntryTypeNVX--pattern VK_OBJECT_ENTRY_TYPE_PIPELINE_NVX = VkObjectEntryTypeNVX 1--pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX ::- VkObjectEntryTypeNVX--pattern VK_OBJECT_ENTRY_TYPE_INDEX_BUFFER_NVX =- VkObjectEntryTypeNVX 2--pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX ::- VkObjectEntryTypeNVX--pattern VK_OBJECT_ENTRY_TYPE_VERTEX_BUFFER_NVX =- VkObjectEntryTypeNVX 3--pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX ::- VkObjectEntryTypeNVX--pattern VK_OBJECT_ENTRY_TYPE_PUSH_CONSTANT_NVX =- VkObjectEntryTypeNVX 4
@@ -1,101 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkObjectEntryUsageFlagsNVX- (VkObjectEntryUsageBitmaskNVX(VkObjectEntryUsageBitmaskNVX,- VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX,- VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX,- VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX),- VkObjectEntryUsageFlagsNVX, VkObjectEntryUsageFlagBitsNVX)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkObjectEntryUsageBitmaskNVX (a ::- FlagType) = VkObjectEntryUsageBitmaskNVX VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkObjectEntryUsageFlagsNVX =- VkObjectEntryUsageBitmaskNVX FlagMask--type VkObjectEntryUsageFlagBitsNVX =- VkObjectEntryUsageBitmaskNVX FlagBit--pattern VkObjectEntryUsageFlagBitsNVX ::- VkFlags -> VkObjectEntryUsageBitmaskNVX FlagBit--pattern VkObjectEntryUsageFlagBitsNVX n =- VkObjectEntryUsageBitmaskNVX n--pattern VkObjectEntryUsageFlagsNVX ::- VkFlags -> VkObjectEntryUsageBitmaskNVX FlagMask--pattern VkObjectEntryUsageFlagsNVX n =- VkObjectEntryUsageBitmaskNVX n--deriving instance Bits (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance- FiniteBits (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Integral (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Num (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Bounded (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Enum (VkObjectEntryUsageBitmaskNVX FlagMask)--deriving instance Real (VkObjectEntryUsageBitmaskNVX FlagMask)--instance Show (VkObjectEntryUsageBitmaskNVX a) where- showsPrec _ VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX- = showString "VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX"- showsPrec _ VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX- = showString "VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX"- showsPrec p (VkObjectEntryUsageBitmaskNVX x)- = showParen (p >= 11)- (showString "VkObjectEntryUsageBitmaskNVX " . showsPrec 11 x)--instance Read (VkObjectEntryUsageBitmaskNVX a) where- readPrec- = parens- (choose- [("VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX",- pure VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX),- ("VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX",- pure VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX)]- +++- prec 10- (expectP (Ident "VkObjectEntryUsageBitmaskNVX") >>- (VkObjectEntryUsageBitmaskNVX <$> step readPrec)))---- | bitpos = @0@-pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX ::- VkObjectEntryUsageBitmaskNVX a--pattern VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX =- VkObjectEntryUsageBitmaskNVX 1---- | bitpos = @1@-pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX ::- VkObjectEntryUsageBitmaskNVX a--pattern VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX =- VkObjectEntryUsageBitmaskNVX 2
@@ -1,268 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkObjectType- (VkObjectType(VkObjectType, VK_OBJECT_TYPE_UNKNOWN,- VK_OBJECT_TYPE_INSTANCE, VK_OBJECT_TYPE_PHYSICAL_DEVICE,- VK_OBJECT_TYPE_DEVICE, VK_OBJECT_TYPE_QUEUE,- VK_OBJECT_TYPE_SEMAPHORE, VK_OBJECT_TYPE_COMMAND_BUFFER,- VK_OBJECT_TYPE_FENCE, VK_OBJECT_TYPE_DEVICE_MEMORY,- VK_OBJECT_TYPE_BUFFER, VK_OBJECT_TYPE_IMAGE, VK_OBJECT_TYPE_EVENT,- VK_OBJECT_TYPE_QUERY_POOL, VK_OBJECT_TYPE_BUFFER_VIEW,- VK_OBJECT_TYPE_IMAGE_VIEW, VK_OBJECT_TYPE_SHADER_MODULE,- VK_OBJECT_TYPE_PIPELINE_CACHE, VK_OBJECT_TYPE_PIPELINE_LAYOUT,- VK_OBJECT_TYPE_RENDER_PASS, VK_OBJECT_TYPE_PIPELINE,- VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, VK_OBJECT_TYPE_SAMPLER,- VK_OBJECT_TYPE_DESCRIPTOR_POOL, VK_OBJECT_TYPE_DESCRIPTOR_SET,- VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_COMMAND_POOL))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | Enums to track objects of various types------ type = @enum@--------- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkObjectType.html VkObjectType registry at www.khronos.org>-newtype VkObjectType = VkObjectType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkObjectType where- showsPrec _ VK_OBJECT_TYPE_UNKNOWN- = showString "VK_OBJECT_TYPE_UNKNOWN"- showsPrec _ VK_OBJECT_TYPE_INSTANCE- = showString "VK_OBJECT_TYPE_INSTANCE"- showsPrec _ VK_OBJECT_TYPE_PHYSICAL_DEVICE- = showString "VK_OBJECT_TYPE_PHYSICAL_DEVICE"- showsPrec _ VK_OBJECT_TYPE_DEVICE- = showString "VK_OBJECT_TYPE_DEVICE"- showsPrec _ VK_OBJECT_TYPE_QUEUE- = showString "VK_OBJECT_TYPE_QUEUE"- showsPrec _ VK_OBJECT_TYPE_SEMAPHORE- = showString "VK_OBJECT_TYPE_SEMAPHORE"- showsPrec _ VK_OBJECT_TYPE_COMMAND_BUFFER- = showString "VK_OBJECT_TYPE_COMMAND_BUFFER"- showsPrec _ VK_OBJECT_TYPE_FENCE- = showString "VK_OBJECT_TYPE_FENCE"- showsPrec _ VK_OBJECT_TYPE_DEVICE_MEMORY- = showString "VK_OBJECT_TYPE_DEVICE_MEMORY"- showsPrec _ VK_OBJECT_TYPE_BUFFER- = showString "VK_OBJECT_TYPE_BUFFER"- showsPrec _ VK_OBJECT_TYPE_IMAGE- = showString "VK_OBJECT_TYPE_IMAGE"- showsPrec _ VK_OBJECT_TYPE_EVENT- = showString "VK_OBJECT_TYPE_EVENT"- showsPrec _ VK_OBJECT_TYPE_QUERY_POOL- = showString "VK_OBJECT_TYPE_QUERY_POOL"- showsPrec _ VK_OBJECT_TYPE_BUFFER_VIEW- = showString "VK_OBJECT_TYPE_BUFFER_VIEW"- showsPrec _ VK_OBJECT_TYPE_IMAGE_VIEW- = showString "VK_OBJECT_TYPE_IMAGE_VIEW"- showsPrec _ VK_OBJECT_TYPE_SHADER_MODULE- = showString "VK_OBJECT_TYPE_SHADER_MODULE"- showsPrec _ VK_OBJECT_TYPE_PIPELINE_CACHE- = showString "VK_OBJECT_TYPE_PIPELINE_CACHE"- showsPrec _ VK_OBJECT_TYPE_PIPELINE_LAYOUT- = showString "VK_OBJECT_TYPE_PIPELINE_LAYOUT"- showsPrec _ VK_OBJECT_TYPE_RENDER_PASS- = showString "VK_OBJECT_TYPE_RENDER_PASS"- showsPrec _ VK_OBJECT_TYPE_PIPELINE- = showString "VK_OBJECT_TYPE_PIPELINE"- showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT- = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"- showsPrec _ VK_OBJECT_TYPE_SAMPLER- = showString "VK_OBJECT_TYPE_SAMPLER"- showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_POOL- = showString "VK_OBJECT_TYPE_DESCRIPTOR_POOL"- showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET- = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET"- showsPrec _ VK_OBJECT_TYPE_FRAMEBUFFER- = showString "VK_OBJECT_TYPE_FRAMEBUFFER"- showsPrec _ VK_OBJECT_TYPE_COMMAND_POOL- = showString "VK_OBJECT_TYPE_COMMAND_POOL"- showsPrec p (VkObjectType x)- = showParen (p >= 11) (showString "VkObjectType " . showsPrec 11 x)--instance Read VkObjectType where- readPrec- = parens- (choose- [("VK_OBJECT_TYPE_UNKNOWN", pure VK_OBJECT_TYPE_UNKNOWN),- ("VK_OBJECT_TYPE_INSTANCE", pure VK_OBJECT_TYPE_INSTANCE),- ("VK_OBJECT_TYPE_PHYSICAL_DEVICE",- pure VK_OBJECT_TYPE_PHYSICAL_DEVICE),- ("VK_OBJECT_TYPE_DEVICE", pure VK_OBJECT_TYPE_DEVICE),- ("VK_OBJECT_TYPE_QUEUE", pure VK_OBJECT_TYPE_QUEUE),- ("VK_OBJECT_TYPE_SEMAPHORE", pure VK_OBJECT_TYPE_SEMAPHORE),- ("VK_OBJECT_TYPE_COMMAND_BUFFER",- pure VK_OBJECT_TYPE_COMMAND_BUFFER),- ("VK_OBJECT_TYPE_FENCE", pure VK_OBJECT_TYPE_FENCE),- ("VK_OBJECT_TYPE_DEVICE_MEMORY",- pure VK_OBJECT_TYPE_DEVICE_MEMORY),- ("VK_OBJECT_TYPE_BUFFER", pure VK_OBJECT_TYPE_BUFFER),- ("VK_OBJECT_TYPE_IMAGE", pure VK_OBJECT_TYPE_IMAGE),- ("VK_OBJECT_TYPE_EVENT", pure VK_OBJECT_TYPE_EVENT),- ("VK_OBJECT_TYPE_QUERY_POOL", pure VK_OBJECT_TYPE_QUERY_POOL),- ("VK_OBJECT_TYPE_BUFFER_VIEW", pure VK_OBJECT_TYPE_BUFFER_VIEW),- ("VK_OBJECT_TYPE_IMAGE_VIEW", pure VK_OBJECT_TYPE_IMAGE_VIEW),- ("VK_OBJECT_TYPE_SHADER_MODULE",- pure VK_OBJECT_TYPE_SHADER_MODULE),- ("VK_OBJECT_TYPE_PIPELINE_CACHE",- pure VK_OBJECT_TYPE_PIPELINE_CACHE),- ("VK_OBJECT_TYPE_PIPELINE_LAYOUT",- pure VK_OBJECT_TYPE_PIPELINE_LAYOUT),- ("VK_OBJECT_TYPE_RENDER_PASS", pure VK_OBJECT_TYPE_RENDER_PASS),- ("VK_OBJECT_TYPE_PIPELINE", pure VK_OBJECT_TYPE_PIPELINE),- ("VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT",- pure VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT),- ("VK_OBJECT_TYPE_SAMPLER", pure VK_OBJECT_TYPE_SAMPLER),- ("VK_OBJECT_TYPE_DESCRIPTOR_POOL",- pure VK_OBJECT_TYPE_DESCRIPTOR_POOL),- ("VK_OBJECT_TYPE_DESCRIPTOR_SET",- pure VK_OBJECT_TYPE_DESCRIPTOR_SET),- ("VK_OBJECT_TYPE_FRAMEBUFFER", pure VK_OBJECT_TYPE_FRAMEBUFFER),- ("VK_OBJECT_TYPE_COMMAND_POOL", pure VK_OBJECT_TYPE_COMMAND_POOL)]- +++- prec 10- (expectP (Ident "VkObjectType") >>- (VkObjectType <$> step readPrec)))--pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType--pattern VK_OBJECT_TYPE_UNKNOWN = VkObjectType 0---- | VkInstance-pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType--pattern VK_OBJECT_TYPE_INSTANCE = VkObjectType 1---- | VkPhysicalDevice-pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType--pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE = VkObjectType 2---- | VkDevice-pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType--pattern VK_OBJECT_TYPE_DEVICE = VkObjectType 3---- | VkQueue-pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType--pattern VK_OBJECT_TYPE_QUEUE = VkObjectType 4---- | VkSemaphore-pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType--pattern VK_OBJECT_TYPE_SEMAPHORE = VkObjectType 5---- | VkCommandBuffer-pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType--pattern VK_OBJECT_TYPE_COMMAND_BUFFER = VkObjectType 6---- | VkFence-pattern VK_OBJECT_TYPE_FENCE :: VkObjectType--pattern VK_OBJECT_TYPE_FENCE = VkObjectType 7---- | VkDeviceMemory-pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType--pattern VK_OBJECT_TYPE_DEVICE_MEMORY = VkObjectType 8---- | VkBuffer-pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType--pattern VK_OBJECT_TYPE_BUFFER = VkObjectType 9---- | VkImage-pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType--pattern VK_OBJECT_TYPE_IMAGE = VkObjectType 10---- | VkEvent-pattern VK_OBJECT_TYPE_EVENT :: VkObjectType--pattern VK_OBJECT_TYPE_EVENT = VkObjectType 11---- | VkQueryPool-pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType--pattern VK_OBJECT_TYPE_QUERY_POOL = VkObjectType 12---- | VkBufferView-pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType--pattern VK_OBJECT_TYPE_BUFFER_VIEW = VkObjectType 13---- | VkImageView-pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType--pattern VK_OBJECT_TYPE_IMAGE_VIEW = VkObjectType 14---- | VkShaderModule-pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType--pattern VK_OBJECT_TYPE_SHADER_MODULE = VkObjectType 15---- | VkPipelineCache-pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType--pattern VK_OBJECT_TYPE_PIPELINE_CACHE = VkObjectType 16---- | VkPipelineLayout-pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType--pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT = VkObjectType 17---- | VkRenderPass-pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType--pattern VK_OBJECT_TYPE_RENDER_PASS = VkObjectType 18---- | VkPipeline-pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType--pattern VK_OBJECT_TYPE_PIPELINE = VkObjectType 19---- | VkDescriptorSetLayout-pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType--pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = VkObjectType 20---- | VkSampler-pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType--pattern VK_OBJECT_TYPE_SAMPLER = VkObjectType 21---- | VkDescriptorPool-pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType--pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL = VkObjectType 22---- | VkDescriptorSet-pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType--pattern VK_OBJECT_TYPE_DESCRIPTOR_SET = VkObjectType 23---- | VkFramebuffer-pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType--pattern VK_OBJECT_TYPE_FRAMEBUFFER = VkObjectType 24---- | VkCommandPool-pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType--pattern VK_OBJECT_TYPE_COMMAND_POOL = VkObjectType 25
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlagBitsKHR- (VkPeerMemoryFeatureFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkPeerMemoryFeatureFlagBitsKHR where- {-# INLINE show #-}- show (VkPeerMemoryFeatureFlagBitsKHR x) = show x--instance Read VkPeerMemoryFeatureFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,130 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkPeerMemoryFeatureFlags- (VkPeerMemoryFeatureBitmask(VkPeerMemoryFeatureBitmask,- VkPeerMemoryFeatureFlags, VkPeerMemoryFeatureFlagBits,- VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,- VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,- VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,- VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT),- VkPeerMemoryFeatureFlags, VkPeerMemoryFeatureFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkPeerMemoryFeatureBitmask (a ::- FlagType) = VkPeerMemoryFeatureBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask--type VkPeerMemoryFeatureFlagBits =- VkPeerMemoryFeatureBitmask FlagBit--pattern VkPeerMemoryFeatureFlagBits ::- VkFlags -> VkPeerMemoryFeatureBitmask FlagBit--pattern VkPeerMemoryFeatureFlagBits n =- VkPeerMemoryFeatureBitmask n--pattern VkPeerMemoryFeatureFlags ::- VkFlags -> VkPeerMemoryFeatureBitmask FlagMask--pattern VkPeerMemoryFeatureFlags n = VkPeerMemoryFeatureBitmask n--deriving instance Bits (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance FiniteBits (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Integral (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Num (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Bounded (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Enum (VkPeerMemoryFeatureBitmask FlagMask)--deriving instance Real (VkPeerMemoryFeatureBitmask FlagMask)--instance Show (VkPeerMemoryFeatureBitmask a) where- showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT- = showString "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"- showsPrec _ VK_PEER_MEMORY_FEATURE_COPY_DST_BIT- = showString "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"- showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT- = showString "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"- showsPrec _ VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT- = showString "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"- showsPrec p (VkPeerMemoryFeatureBitmask x)- = showParen (p >= 11)- (showString "VkPeerMemoryFeatureBitmask " . showsPrec 11 x)--instance Read (VkPeerMemoryFeatureBitmask a) where- readPrec- = parens- (choose- [("VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT",- pure VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT),- ("VK_PEER_MEMORY_FEATURE_COPY_DST_BIT",- pure VK_PEER_MEMORY_FEATURE_COPY_DST_BIT),- ("VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT",- pure VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT),- ("VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT",- pure VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT)]- +++- prec 10- (expectP (Ident "VkPeerMemoryFeatureBitmask") >>- (VkPeerMemoryFeatureBitmask <$> step readPrec)))---- | Can read with vkCmdCopy commands------ bitpos = @0@-pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT ::- VkPeerMemoryFeatureBitmask a--pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT =- VkPeerMemoryFeatureBitmask 1---- | Can write with vkCmdCopy commands------ bitpos = @1@-pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT ::- VkPeerMemoryFeatureBitmask a--pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT =- VkPeerMemoryFeatureBitmask 2---- | Can read with any access type/command------ bitpos = @2@-pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT ::- VkPeerMemoryFeatureBitmask a--pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT =- VkPeerMemoryFeatureBitmask 4---- | Can write with and access type/command------ bitpos = @3@-pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT ::- VkPeerMemoryFeatureBitmask a--pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT =- VkPeerMemoryFeatureBitmask 8
@@ -1,86 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType- (VkPhysicalDeviceType(VkPhysicalDeviceType,- VK_PHYSICAL_DEVICE_TYPE_OTHER,- VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,- VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,- VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, VK_PHYSICAL_DEVICE_TYPE_CPU))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPhysicalDeviceType.html VkPhysicalDeviceType registry at www.khronos.org>-newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkPhysicalDeviceType where- showsPrec _ VK_PHYSICAL_DEVICE_TYPE_OTHER- = showString "VK_PHYSICAL_DEVICE_TYPE_OTHER"- showsPrec _ VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU- = showString "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"- showsPrec _ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU- = showString "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"- showsPrec _ VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU- = showString "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"- showsPrec _ VK_PHYSICAL_DEVICE_TYPE_CPU- = showString "VK_PHYSICAL_DEVICE_TYPE_CPU"- showsPrec p (VkPhysicalDeviceType x)- = showParen (p >= 11)- (showString "VkPhysicalDeviceType " . showsPrec 11 x)--instance Read VkPhysicalDeviceType where- readPrec- = parens- (choose- [("VK_PHYSICAL_DEVICE_TYPE_OTHER",- pure VK_PHYSICAL_DEVICE_TYPE_OTHER),- ("VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU",- pure VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU),- ("VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU",- pure VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU),- ("VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU",- pure VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU),- ("VK_PHYSICAL_DEVICE_TYPE_CPU", pure VK_PHYSICAL_DEVICE_TYPE_CPU)]- +++- prec 10- (expectP (Ident "VkPhysicalDeviceType") >>- (VkPhysicalDeviceType <$> step readPrec)))--pattern VK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType--pattern VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType 0--pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU ::- VkPhysicalDeviceType--pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU =- VkPhysicalDeviceType 1--pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU ::- VkPhysicalDeviceType--pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU =- VkPhysicalDeviceType 2--pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType--pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU =- VkPhysicalDeviceType 3--pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType--pattern VK_PHYSICAL_DEVICE_TYPE_CPU = VkPhysicalDeviceType 4
@@ -1,55 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineBindPoint- (VkPipelineBindPoint(VkPipelineBindPoint,- VK_PIPELINE_BIND_POINT_GRAPHICS, VK_PIPELINE_BIND_POINT_COMPUTE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPipelineBindPoint.html VkPipelineBindPoint registry at www.khronos.org>-newtype VkPipelineBindPoint = VkPipelineBindPoint Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkPipelineBindPoint where- showsPrec _ VK_PIPELINE_BIND_POINT_GRAPHICS- = showString "VK_PIPELINE_BIND_POINT_GRAPHICS"- showsPrec _ VK_PIPELINE_BIND_POINT_COMPUTE- = showString "VK_PIPELINE_BIND_POINT_COMPUTE"- showsPrec p (VkPipelineBindPoint x)- = showParen (p >= 11)- (showString "VkPipelineBindPoint " . showsPrec 11 x)--instance Read VkPipelineBindPoint where- readPrec- = parens- (choose- [("VK_PIPELINE_BIND_POINT_GRAPHICS",- pure VK_PIPELINE_BIND_POINT_GRAPHICS),- ("VK_PIPELINE_BIND_POINT_COMPUTE",- pure VK_PIPELINE_BIND_POINT_COMPUTE)]- +++- prec 10- (expectP (Ident "VkPipelineBindPoint") >>- (VkPipelineBindPoint <$> step readPrec)))--pattern VK_PIPELINE_BIND_POINT_GRAPHICS :: VkPipelineBindPoint--pattern VK_PIPELINE_BIND_POINT_GRAPHICS = VkPipelineBindPoint 0--pattern VK_PIPELINE_BIND_POINT_COMPUTE :: VkPipelineBindPoint--pattern VK_PIPELINE_BIND_POINT_COMPUTE = VkPipelineBindPoint 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineCacheCreateFlagBits- (VkPipelineCacheCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineCacheCreateFlagBits = VkPipelineCacheCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkPipelineCacheCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineCacheCreateFlagBits x) = show x--instance Read VkPipelineCacheCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,50 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineCacheHeaderVersion- (VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion,- VK_PIPELINE_CACHE_HEADER_VERSION_ONE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPipelineCacheHeaderVersion.html VkPipelineCacheHeaderVersion registry at www.khronos.org>-newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkPipelineCacheHeaderVersion where- showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE- = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"- showsPrec p (VkPipelineCacheHeaderVersion x)- = showParen (p >= 11)- (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)--instance Read VkPipelineCacheHeaderVersion where- readPrec- = parens- (choose- [("VK_PIPELINE_CACHE_HEADER_VERSION_ONE",- pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)]- +++- prec 10- (expectP (Ident "VkPipelineCacheHeaderVersion") >>- (VkPipelineCacheHeaderVersion <$> step readPrec)))--pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE ::- VkPipelineCacheHeaderVersion--pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE =- VkPipelineCacheHeaderVersion 1
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineColorBlendStateCreateFlagBits- (VkPipelineColorBlendStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineColorBlendStateCreateFlagBits = VkPipelineColorBlendStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real,- Data, Generic)--instance Show VkPipelineColorBlendStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineColorBlendStateCreateFlagBits x) = show x--instance Read VkPipelineColorBlendStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,108 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkPipelineCreateFlags- (VkPipelineCreateBitmask(VkPipelineCreateBitmask,- VkPipelineCreateFlags, VkPipelineCreateFlagBits,- VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT,- VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT,- VK_PIPELINE_CREATE_DERIVATIVE_BIT),- VkPipelineCreateFlags, VkPipelineCreateFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkPipelineCreateBitmask (a ::- FlagType) = VkPipelineCreateBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask--type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit--pattern VkPipelineCreateFlagBits ::- VkFlags -> VkPipelineCreateBitmask FlagBit--pattern VkPipelineCreateFlagBits n = VkPipelineCreateBitmask n--pattern VkPipelineCreateFlags ::- VkFlags -> VkPipelineCreateBitmask FlagMask--pattern VkPipelineCreateFlags n = VkPipelineCreateBitmask n--deriving instance Bits (VkPipelineCreateBitmask FlagMask)--deriving instance FiniteBits (VkPipelineCreateBitmask FlagMask)--deriving instance Integral (VkPipelineCreateBitmask FlagMask)--deriving instance Num (VkPipelineCreateBitmask FlagMask)--deriving instance Bounded (VkPipelineCreateBitmask FlagMask)--deriving instance Enum (VkPipelineCreateBitmask FlagMask)--deriving instance Real (VkPipelineCreateBitmask FlagMask)--instance Show (VkPipelineCreateBitmask a) where- showsPrec _ VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT- = showString "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"- showsPrec _ VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT- = showString "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"- showsPrec _ VK_PIPELINE_CREATE_DERIVATIVE_BIT- = showString "VK_PIPELINE_CREATE_DERIVATIVE_BIT"- showsPrec p (VkPipelineCreateBitmask x)- = showParen (p >= 11)- (showString "VkPipelineCreateBitmask " . showsPrec 11 x)--instance Read (VkPipelineCreateBitmask a) where- readPrec- = parens- (choose- [("VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT",- pure VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT),- ("VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT",- pure VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT),- ("VK_PIPELINE_CREATE_DERIVATIVE_BIT",- pure VK_PIPELINE_CREATE_DERIVATIVE_BIT)]- +++- prec 10- (expectP (Ident "VkPipelineCreateBitmask") >>- (VkPipelineCreateBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT ::- VkPipelineCreateBitmask a--pattern VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT =- VkPipelineCreateBitmask 1---- | bitpos = @1@-pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT ::- VkPipelineCreateBitmask a--pattern VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT =- VkPipelineCreateBitmask 2---- | bitpos = @2@-pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT ::- VkPipelineCreateBitmask a--pattern VK_PIPELINE_CREATE_DERIVATIVE_BIT =- VkPipelineCreateBitmask 4
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineDepthStencilStateCreateFlagBits- (VkPipelineDepthStencilStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineDepthStencilStateCreateFlagBits = VkPipelineDepthStencilStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits,- Storable, Real, Data, Generic)--instance Show VkPipelineDepthStencilStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineDepthStencilStateCreateFlagBits x) = show x--instance Read VkPipelineDepthStencilStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineDynamicStateCreateFlagBits- (VkPipelineDynamicStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineDynamicStateCreateFlagBits = VkPipelineDynamicStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkPipelineDynamicStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineDynamicStateCreateFlagBits x) = show x--instance Read VkPipelineDynamicStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineInputAssemblyStateCreateFlagBits- (VkPipelineInputAssemblyStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineInputAssemblyStateCreateFlagBits = VkPipelineInputAssemblyStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits,- Storable, Real, Data, Generic)--instance Show VkPipelineInputAssemblyStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineInputAssemblyStateCreateFlagBits x) = show x--instance Read VkPipelineInputAssemblyStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineLayoutCreateFlagBits- (VkPipelineLayoutCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineLayoutCreateFlagBits = VkPipelineLayoutCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkPipelineLayoutCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineLayoutCreateFlagBits x) = show x--instance Read VkPipelineLayoutCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineMultisampleStateCreateFlagBits- (VkPipelineMultisampleStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineMultisampleStateCreateFlagBits = VkPipelineMultisampleStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits, Storable,- Real, Data, Generic)--instance Show VkPipelineMultisampleStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineMultisampleStateCreateFlagBits x) = show x--instance Read VkPipelineMultisampleStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineRasterizationStateCreateFlagBits- (VkPipelineRasterizationStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineRasterizationStateCreateFlagBits = VkPipelineRasterizationStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits,- Storable, Real, Data, Generic)--instance Show VkPipelineRasterizationStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineRasterizationStateCreateFlagBits x) = show x--instance Read VkPipelineRasterizationStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineShaderStageCreateFlagBits- (VkPipelineShaderStageCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineShaderStageCreateFlagBits = VkPipelineShaderStageCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkPipelineShaderStageCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineShaderStageCreateFlagBits x) = show x--instance Read VkPipelineShaderStageCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,305 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkPipelineStageFlags- (VkPipelineStageBitmask(VkPipelineStageBitmask,- VkPipelineStageFlags, VkPipelineStageFlagBits,- VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,- VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT,- VK_PIPELINE_STAGE_VERTEX_INPUT_BIT,- VK_PIPELINE_STAGE_VERTEX_SHADER_BIT,- VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT,- VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT,- VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT,- VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,- VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT,- VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,- VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,- VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,- VK_PIPELINE_STAGE_TRANSFER_BIT,- VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_HOST_BIT,- VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,- VK_PIPELINE_STAGE_ALL_COMMANDS_BIT),- VkPipelineStageFlags, VkPipelineStageFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkPipelineStageBitmask (a ::- FlagType) = VkPipelineStageBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask--type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit--pattern VkPipelineStageFlagBits ::- VkFlags -> VkPipelineStageBitmask FlagBit--pattern VkPipelineStageFlagBits n = VkPipelineStageBitmask n--pattern VkPipelineStageFlags ::- VkFlags -> VkPipelineStageBitmask FlagMask--pattern VkPipelineStageFlags n = VkPipelineStageBitmask n--deriving instance Bits (VkPipelineStageBitmask FlagMask)--deriving instance FiniteBits (VkPipelineStageBitmask FlagMask)--deriving instance Integral (VkPipelineStageBitmask FlagMask)--deriving instance Num (VkPipelineStageBitmask FlagMask)--deriving instance Bounded (VkPipelineStageBitmask FlagMask)--deriving instance Enum (VkPipelineStageBitmask FlagMask)--deriving instance Real (VkPipelineStageBitmask FlagMask)--instance Show (VkPipelineStageBitmask a) where- showsPrec _ VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT- = showString "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"- showsPrec _ VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT- = showString "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"- showsPrec _ VK_PIPELINE_STAGE_VERTEX_INPUT_BIT- = showString "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"- showsPrec _ VK_PIPELINE_STAGE_VERTEX_SHADER_BIT- = showString "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"- showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT- = showString "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"- showsPrec _ VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT- = showString "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"- showsPrec _ VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT- = showString "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"- showsPrec _ VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT- = showString "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"- showsPrec _ VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT- = showString "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"- showsPrec _ VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT- = showString "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"- showsPrec _ VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT- = showString "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"- showsPrec _ VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT- = showString "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"- showsPrec _ VK_PIPELINE_STAGE_TRANSFER_BIT- = showString "VK_PIPELINE_STAGE_TRANSFER_BIT"- showsPrec _ VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT- = showString "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"- showsPrec _ VK_PIPELINE_STAGE_HOST_BIT- = showString "VK_PIPELINE_STAGE_HOST_BIT"- showsPrec _ VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT- = showString "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"- showsPrec _ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT- = showString "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"- showsPrec p (VkPipelineStageBitmask x)- = showParen (p >= 11)- (showString "VkPipelineStageBitmask " . showsPrec 11 x)--instance Read (VkPipelineStageBitmask a) where- readPrec- = parens- (choose- [("VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT",- pure VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT),- ("VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT",- pure VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT),- ("VK_PIPELINE_STAGE_VERTEX_INPUT_BIT",- pure VK_PIPELINE_STAGE_VERTEX_INPUT_BIT),- ("VK_PIPELINE_STAGE_VERTEX_SHADER_BIT",- pure VK_PIPELINE_STAGE_VERTEX_SHADER_BIT),- ("VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",- pure VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT),- ("VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",- pure VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT),- ("VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",- pure VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT),- ("VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT",- pure VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT),- ("VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT",- pure VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT),- ("VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT",- pure VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT),- ("VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT",- pure VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT),- ("VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT",- pure VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT),- ("VK_PIPELINE_STAGE_TRANSFER_BIT",- pure VK_PIPELINE_STAGE_TRANSFER_BIT),- ("VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT",- pure VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT),- ("VK_PIPELINE_STAGE_HOST_BIT", pure VK_PIPELINE_STAGE_HOST_BIT),- ("VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT",- pure VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT),- ("VK_PIPELINE_STAGE_ALL_COMMANDS_BIT",- pure VK_PIPELINE_STAGE_ALL_COMMANDS_BIT)]- +++- prec 10- (expectP (Ident "VkPipelineStageBitmask") >>- (VkPipelineStageBitmask <$> step readPrec)))---- | Before subsequent commands are processed------ bitpos = @0@-pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT =- VkPipelineStageBitmask 1---- | Draw/DispatchIndirect command fetch------ bitpos = @1@-pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT =- VkPipelineStageBitmask 2---- | Vertex/index fetch------ bitpos = @2@-pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_VERTEX_INPUT_BIT =- VkPipelineStageBitmask 4---- | Vertex shading------ bitpos = @3@-pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_VERTEX_SHADER_BIT =- VkPipelineStageBitmask 8---- | Tessellation control shading------ bitpos = @4@-pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT =- VkPipelineStageBitmask 16---- | Tessellation evaluation shading------ bitpos = @5@-pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT =- VkPipelineStageBitmask 32---- | Geometry shading------ bitpos = @6@-pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT =- VkPipelineStageBitmask 64---- | Fragment shading------ bitpos = @7@-pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT =- VkPipelineStageBitmask 128---- | Early fragment (depth and stencil) tests------ bitpos = @8@-pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT =- VkPipelineStageBitmask 256---- | Late fragment (depth and stencil) tests------ bitpos = @9@-pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT =- VkPipelineStageBitmask 512---- | Color attachment writes------ bitpos = @10@-pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT =- VkPipelineStageBitmask 1024---- | Compute shading------ bitpos = @11@-pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT =- VkPipelineStageBitmask 2048---- | Transfer/copy operations------ bitpos = @12@-pattern VK_PIPELINE_STAGE_TRANSFER_BIT :: VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_TRANSFER_BIT =- VkPipelineStageBitmask 4096---- | After previous commands have completed------ bitpos = @13@-pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT =- VkPipelineStageBitmask 8192---- | Indicates host (CPU) is a source/sink of the dependency------ bitpos = @14@-pattern VK_PIPELINE_STAGE_HOST_BIT :: VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_HOST_BIT = VkPipelineStageBitmask 16384---- | All stages of the graphics pipeline------ bitpos = @15@-pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT =- VkPipelineStageBitmask 32768---- | All stages supported on the queue------ bitpos = @16@-pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT ::- VkPipelineStageBitmask a--pattern VK_PIPELINE_STAGE_ALL_COMMANDS_BIT =- VkPipelineStageBitmask 65536
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineTessellationStateCreateFlagBits- (VkPipelineTessellationStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineTessellationStateCreateFlagBits = VkPipelineTessellationStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits,- Storable, Real, Data, Generic)--instance Show VkPipelineTessellationStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineTessellationStateCreateFlagBits x) = show x--instance Read VkPipelineTessellationStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineVertexInputStateCreateFlagBits- (VkPipelineVertexInputStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineVertexInputStateCreateFlagBits = VkPipelineVertexInputStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum,- Integral, Bits, FiniteBits, Storable,- Real, Data, Generic)--instance Show VkPipelineVertexInputStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineVertexInputStateCreateFlagBits x) = show x--instance Read VkPipelineVertexInputStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,26 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPipelineViewportStateCreateFlagBits- (VkPipelineViewportStateCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPipelineViewportStateCreateFlagBits = VkPipelineViewportStateCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral,- Bits, FiniteBits, Storable, Real, Data,- Generic)--instance Show VkPipelineViewportStateCreateFlagBits where- {-# INLINE show #-}- show (VkPipelineViewportStateCreateFlagBits x) = show x--instance Read VkPipelineViewportStateCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,60 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPointClippingBehavior- (VkPointClippingBehavior(VkPointClippingBehavior,- VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,- VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPointClippingBehavior.html VkPointClippingBehavior registry at www.khronos.org>-newtype VkPointClippingBehavior = VkPointClippingBehavior Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkPointClippingBehavior where- showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES- = showString "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"- showsPrec _ VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY- = showString "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"- showsPrec p (VkPointClippingBehavior x)- = showParen (p >= 11)- (showString "VkPointClippingBehavior " . showsPrec 11 x)--instance Read VkPointClippingBehavior where- readPrec- = parens- (choose- [("VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES",- pure VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES),- ("VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY",- pure VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY)]- +++- prec 10- (expectP (Ident "VkPointClippingBehavior") >>- (VkPointClippingBehavior <$> step readPrec)))--pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES ::- VkPointClippingBehavior--pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES =- VkPointClippingBehavior 0--pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY ::- VkPointClippingBehavior--pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY =- VkPointClippingBehavior 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPointClippingBehaviorKHR- (VkPointClippingBehaviorKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkPointClippingBehaviorKHR = VkPointClippingBehaviorKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkPointClippingBehaviorKHR where- {-# INLINE show #-}- show (VkPointClippingBehaviorKHR x) = show x--instance Read VkPointClippingBehaviorKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,60 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPolygonMode- (VkPolygonMode(VkPolygonMode, VK_POLYGON_MODE_FILL,- VK_POLYGON_MODE_LINE, VK_POLYGON_MODE_POINT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPolygonMode.html VkPolygonMode registry at www.khronos.org>-newtype VkPolygonMode = VkPolygonMode Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkPolygonMode where- showsPrec _ VK_POLYGON_MODE_FILL- = showString "VK_POLYGON_MODE_FILL"- showsPrec _ VK_POLYGON_MODE_LINE- = showString "VK_POLYGON_MODE_LINE"- showsPrec _ VK_POLYGON_MODE_POINT- = showString "VK_POLYGON_MODE_POINT"- showsPrec p (VkPolygonMode x)- = showParen (p >= 11)- (showString "VkPolygonMode " . showsPrec 11 x)--instance Read VkPolygonMode where- readPrec- = parens- (choose- [("VK_POLYGON_MODE_FILL", pure VK_POLYGON_MODE_FILL),- ("VK_POLYGON_MODE_LINE", pure VK_POLYGON_MODE_LINE),- ("VK_POLYGON_MODE_POINT", pure VK_POLYGON_MODE_POINT)]- +++- prec 10- (expectP (Ident "VkPolygonMode") >>- (VkPolygonMode <$> step readPrec)))--pattern VK_POLYGON_MODE_FILL :: VkPolygonMode--pattern VK_POLYGON_MODE_FILL = VkPolygonMode 0--pattern VK_POLYGON_MODE_LINE :: VkPolygonMode--pattern VK_POLYGON_MODE_LINE = VkPolygonMode 1--pattern VK_POLYGON_MODE_POINT :: VkPolygonMode--pattern VK_POLYGON_MODE_POINT = VkPolygonMode 2
@@ -1,70 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPresentModeKHR- (VkPresentModeKHR(VkPresentModeKHR, VK_PRESENT_MODE_IMMEDIATE_KHR,- VK_PRESENT_MODE_MAILBOX_KHR, VK_PRESENT_MODE_FIFO_KHR,- VK_PRESENT_MODE_FIFO_RELAXED_KHR))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPresentModeKHR.html VkPresentModeKHR registry at www.khronos.org>-newtype VkPresentModeKHR = VkPresentModeKHR Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkPresentModeKHR where- showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR- = showString "VK_PRESENT_MODE_IMMEDIATE_KHR"- showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR- = showString "VK_PRESENT_MODE_MAILBOX_KHR"- showsPrec _ VK_PRESENT_MODE_FIFO_KHR- = showString "VK_PRESENT_MODE_FIFO_KHR"- showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR- = showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"- showsPrec p (VkPresentModeKHR x)- = showParen (p >= 11)- (showString "VkPresentModeKHR " . showsPrec 11 x)--instance Read VkPresentModeKHR where- readPrec- = parens- (choose- [("VK_PRESENT_MODE_IMMEDIATE_KHR",- pure VK_PRESENT_MODE_IMMEDIATE_KHR),- ("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR),- ("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR),- ("VK_PRESENT_MODE_FIFO_RELAXED_KHR",- pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)]- +++- prec 10- (expectP (Ident "VkPresentModeKHR") >>- (VkPresentModeKHR <$> step readPrec)))--pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR--pattern VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR 0--pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR--pattern VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR 1--pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR--pattern VK_PRESENT_MODE_FIFO_KHR = VkPresentModeKHR 2--pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR--pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR = VkPresentModeKHR 3
@@ -1,145 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkPrimitiveTopology- (VkPrimitiveTopology(VkPrimitiveTopology,- VK_PRIMITIVE_TOPOLOGY_POINT_LIST, VK_PRIMITIVE_TOPOLOGY_LINE_LIST,- VK_PRIMITIVE_TOPOLOGY_LINE_STRIP,- VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,- VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP,- VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN,- VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY,- VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY,- VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY,- VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY,- VK_PRIMITIVE_TOPOLOGY_PATCH_LIST))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkPrimitiveTopology.html VkPrimitiveTopology registry at www.khronos.org>-newtype VkPrimitiveTopology = VkPrimitiveTopology Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkPrimitiveTopology where- showsPrec _ VK_PRIMITIVE_TOPOLOGY_POINT_LIST- = showString "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST- = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP- = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST- = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP- = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN- = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY- = showString "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY- = showString "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY- = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY- = showString "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"- showsPrec _ VK_PRIMITIVE_TOPOLOGY_PATCH_LIST- = showString "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"- showsPrec p (VkPrimitiveTopology x)- = showParen (p >= 11)- (showString "VkPrimitiveTopology " . showsPrec 11 x)--instance Read VkPrimitiveTopology where- readPrec- = parens- (choose- [("VK_PRIMITIVE_TOPOLOGY_POINT_LIST",- pure VK_PRIMITIVE_TOPOLOGY_POINT_LIST),- ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST",- pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST),- ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP",- pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP),- ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST",- pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST),- ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP",- pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP),- ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN",- pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN),- ("VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY",- pure VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY),- ("VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY",- pure VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY),- ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY",- pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY),- ("VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY",- pure VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY),- ("VK_PRIMITIVE_TOPOLOGY_PATCH_LIST",- pure VK_PRIMITIVE_TOPOLOGY_PATCH_LIST)]- +++- prec 10- (expectP (Ident "VkPrimitiveTopology") >>- (VkPrimitiveTopology <$> step readPrec)))--pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_POINT_LIST = VkPrimitiveTopology 0--pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST = VkPrimitiveTopology 1--pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = VkPrimitiveTopology 2--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = VkPrimitiveTopology 3--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP =- VkPrimitiveTopology 4--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = VkPrimitiveTopology 5--pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY ::- VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY =- VkPrimitiveTopology 6--pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY ::- VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY =- VkPrimitiveTopology 7--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY ::- VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY =- VkPrimitiveTopology 8--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY ::- VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY =- VkPrimitiveTopology 9--pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST :: VkPrimitiveTopology--pattern VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = VkPrimitiveTopology 10
@@ -1,83 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkQueryControlFlags- (VkQueryControlBitmask(VkQueryControlBitmask, VkQueryControlFlags,- VkQueryControlFlagBits, VK_QUERY_CONTROL_PRECISE_BIT),- VkQueryControlFlags, VkQueryControlFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkQueryControlBitmask (a ::- FlagType) = VkQueryControlBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkQueryControlFlags = VkQueryControlBitmask FlagMask--type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit--pattern VkQueryControlFlagBits ::- VkFlags -> VkQueryControlBitmask FlagBit--pattern VkQueryControlFlagBits n = VkQueryControlBitmask n--pattern VkQueryControlFlags ::- VkFlags -> VkQueryControlBitmask FlagMask--pattern VkQueryControlFlags n = VkQueryControlBitmask n--deriving instance Bits (VkQueryControlBitmask FlagMask)--deriving instance FiniteBits (VkQueryControlBitmask FlagMask)--deriving instance Integral (VkQueryControlBitmask FlagMask)--deriving instance Num (VkQueryControlBitmask FlagMask)--deriving instance Bounded (VkQueryControlBitmask FlagMask)--deriving instance Enum (VkQueryControlBitmask FlagMask)--deriving instance Real (VkQueryControlBitmask FlagMask)--instance Show (VkQueryControlBitmask a) where- showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT- = showString "VK_QUERY_CONTROL_PRECISE_BIT"- showsPrec p (VkQueryControlBitmask x)- = showParen (p >= 11)- (showString "VkQueryControlBitmask " . showsPrec 11 x)--instance Read (VkQueryControlBitmask a) where- readPrec- = parens- (choose- [("VK_QUERY_CONTROL_PRECISE_BIT",- pure VK_QUERY_CONTROL_PRECISE_BIT)]- +++- prec 10- (expectP (Ident "VkQueryControlBitmask") >>- (VkQueryControlBitmask <$> step readPrec)))---- | Require precise results to be collected by the query------ bitpos = @0@-pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a--pattern VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlBitmask 1
@@ -1,253 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkQueryPipelineStatisticFlags- (VkQueryPipelineStatisticBitmask(VkQueryPipelineStatisticBitmask,- VkQueryPipelineStatisticFlags,- VkQueryPipelineStatisticFlagBits,- VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,- VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,- VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,- VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,- VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,- VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,- VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,- VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,- VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,- VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,- VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT),- VkQueryPipelineStatisticFlags, VkQueryPipelineStatisticFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkQueryPipelineStatisticBitmask (a ::- FlagType) = VkQueryPipelineStatisticBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkQueryPipelineStatisticFlags =- VkQueryPipelineStatisticBitmask FlagMask--type VkQueryPipelineStatisticFlagBits =- VkQueryPipelineStatisticBitmask FlagBit--pattern VkQueryPipelineStatisticFlagBits ::- VkFlags -> VkQueryPipelineStatisticBitmask FlagBit--pattern VkQueryPipelineStatisticFlagBits n =- VkQueryPipelineStatisticBitmask n--pattern VkQueryPipelineStatisticFlags ::- VkFlags -> VkQueryPipelineStatisticBitmask FlagMask--pattern VkQueryPipelineStatisticFlags n =- VkQueryPipelineStatisticBitmask n--deriving instance Bits (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance- FiniteBits (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance- Integral (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance Num (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance- Bounded (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance Enum (VkQueryPipelineStatisticBitmask FlagMask)--deriving instance Real (VkQueryPipelineStatisticBitmask FlagMask)--instance Show (VkQueryPipelineStatisticBitmask a) where- showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"- showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT- = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"- showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT- = showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"- showsPrec _- VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT- = showString- "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"- showsPrec p (VkQueryPipelineStatisticBitmask x)- = showParen (p >= 11)- (showString "VkQueryPipelineStatisticBitmask " . showsPrec 11 x)--instance Read (VkQueryPipelineStatisticBitmask a) where- readPrec- = parens- (choose- [("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT",- pure- VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT",- pure- VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT),- ("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT",- pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)]- +++- prec 10- (expectP (Ident "VkQueryPipelineStatisticBitmask") >>- (VkQueryPipelineStatisticBitmask <$> step readPrec)))---- | Optional------ bitpos = @0@-pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT ::- VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT =- VkQueryPipelineStatisticBitmask 1---- | Optional------ bitpos = @1@-pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT =- VkQueryPipelineStatisticBitmask 2---- | Optional------ bitpos = @2@-pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT =- VkQueryPipelineStatisticBitmask 4---- | Optional------ bitpos = @3@-pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT- = VkQueryPipelineStatisticBitmask 8---- | Optional------ bitpos = @4@-pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT- = VkQueryPipelineStatisticBitmask 16---- | Optional------ bitpos = @5@-pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT ::- VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT =- VkQueryPipelineStatisticBitmask 32---- | Optional------ bitpos = @6@-pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT ::- VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT =- VkQueryPipelineStatisticBitmask 64---- | Optional------ bitpos = @7@-pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT- = VkQueryPipelineStatisticBitmask 128---- | Optional------ bitpos = @8@-pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT- = VkQueryPipelineStatisticBitmask 256---- | Optional------ bitpos = @9@-pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT- = VkQueryPipelineStatisticBitmask 512---- | Optional------ bitpos = @10@-pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT- :: VkQueryPipelineStatisticBitmask a--pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT- = VkQueryPipelineStatisticBitmask 1024
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkQueryPoolCreateFlagBits- (VkQueryPoolCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkQueryPoolCreateFlagBits = VkQueryPoolCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkQueryPoolCreateFlagBits where- {-# INLINE show #-}- show (VkQueryPoolCreateFlagBits x) = show x--instance Read VkQueryPoolCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,117 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkQueryResultFlags- (VkQueryResultBitmask(VkQueryResultBitmask, VkQueryResultFlags,- VkQueryResultFlagBits, VK_QUERY_RESULT_64_BIT,- VK_QUERY_RESULT_WAIT_BIT, VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,- VK_QUERY_RESULT_PARTIAL_BIT),- VkQueryResultFlags, VkQueryResultFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkQueryResultBitmask (a ::- FlagType) = VkQueryResultBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkQueryResultFlags = VkQueryResultBitmask FlagMask--type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit--pattern VkQueryResultFlagBits ::- VkFlags -> VkQueryResultBitmask FlagBit--pattern VkQueryResultFlagBits n = VkQueryResultBitmask n--pattern VkQueryResultFlags ::- VkFlags -> VkQueryResultBitmask FlagMask--pattern VkQueryResultFlags n = VkQueryResultBitmask n--deriving instance Bits (VkQueryResultBitmask FlagMask)--deriving instance FiniteBits (VkQueryResultBitmask FlagMask)--deriving instance Integral (VkQueryResultBitmask FlagMask)--deriving instance Num (VkQueryResultBitmask FlagMask)--deriving instance Bounded (VkQueryResultBitmask FlagMask)--deriving instance Enum (VkQueryResultBitmask FlagMask)--deriving instance Real (VkQueryResultBitmask FlagMask)--instance Show (VkQueryResultBitmask a) where- showsPrec _ VK_QUERY_RESULT_64_BIT- = showString "VK_QUERY_RESULT_64_BIT"- showsPrec _ VK_QUERY_RESULT_WAIT_BIT- = showString "VK_QUERY_RESULT_WAIT_BIT"- showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT- = showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"- showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT- = showString "VK_QUERY_RESULT_PARTIAL_BIT"- showsPrec p (VkQueryResultBitmask x)- = showParen (p >= 11)- (showString "VkQueryResultBitmask " . showsPrec 11 x)--instance Read (VkQueryResultBitmask a) where- readPrec- = parens- (choose- [("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT),- ("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT),- ("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT",- pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT),- ("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)]- +++- prec 10- (expectP (Ident "VkQueryResultBitmask") >>- (VkQueryResultBitmask <$> step readPrec)))---- | Results of the queries are written to the destination buffer as 64-bit values------ bitpos = @0@-pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a--pattern VK_QUERY_RESULT_64_BIT = VkQueryResultBitmask 1---- | Results of the queries are waited on before proceeding with the result copy------ bitpos = @1@-pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a--pattern VK_QUERY_RESULT_WAIT_BIT = VkQueryResultBitmask 2---- | Besides the results of the query, the availability of the results is also written------ bitpos = @2@-pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT ::- VkQueryResultBitmask a--pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT =- VkQueryResultBitmask 4---- | Copy the partial results of the query even if the final results are not available------ bitpos = @3@-pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a--pattern VK_QUERY_RESULT_PARTIAL_BIT = VkQueryResultBitmask 8
@@ -1,60 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkQueryType- (VkQueryType(VkQueryType, VK_QUERY_TYPE_OCCLUSION,- VK_QUERY_TYPE_PIPELINE_STATISTICS, VK_QUERY_TYPE_TIMESTAMP))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkQueryType.html VkQueryType registry at www.khronos.org>-newtype VkQueryType = VkQueryType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkQueryType where- showsPrec _ VK_QUERY_TYPE_OCCLUSION- = showString "VK_QUERY_TYPE_OCCLUSION"- showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS- = showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"- showsPrec _ VK_QUERY_TYPE_TIMESTAMP- = showString "VK_QUERY_TYPE_TIMESTAMP"- showsPrec p (VkQueryType x)- = showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)--instance Read VkQueryType where- readPrec- = parens- (choose- [("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION),- ("VK_QUERY_TYPE_PIPELINE_STATISTICS",- pure VK_QUERY_TYPE_PIPELINE_STATISTICS),- ("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)]- +++- prec 10- (expectP (Ident "VkQueryType") >> (VkQueryType <$> step readPrec)))--pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType--pattern VK_QUERY_TYPE_OCCLUSION = VkQueryType 0---- | Optional-pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType--pattern VK_QUERY_TYPE_PIPELINE_STATISTICS = VkQueryType 1--pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType--pattern VK_QUERY_TYPE_TIMESTAMP = VkQueryType 2
@@ -1,110 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkQueueFlags- (VkQueueBitmask(VkQueueBitmask, VkQueueFlags, VkQueueFlagBits,- VK_QUEUE_GRAPHICS_BIT, VK_QUEUE_COMPUTE_BIT, VK_QUEUE_TRANSFER_BIT,- VK_QUEUE_SPARSE_BINDING_BIT),- VkQueueFlags, VkQueueFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkQueueBitmask (a :: FlagType) = VkQueueBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkQueueFlags = VkQueueBitmask FlagMask--type VkQueueFlagBits = VkQueueBitmask FlagBit--pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit--pattern VkQueueFlagBits n = VkQueueBitmask n--pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask--pattern VkQueueFlags n = VkQueueBitmask n--deriving instance Bits (VkQueueBitmask FlagMask)--deriving instance FiniteBits (VkQueueBitmask FlagMask)--deriving instance Integral (VkQueueBitmask FlagMask)--deriving instance Num (VkQueueBitmask FlagMask)--deriving instance Bounded (VkQueueBitmask FlagMask)--deriving instance Enum (VkQueueBitmask FlagMask)--deriving instance Real (VkQueueBitmask FlagMask)--instance Show (VkQueueBitmask a) where- showsPrec _ VK_QUEUE_GRAPHICS_BIT- = showString "VK_QUEUE_GRAPHICS_BIT"- showsPrec _ VK_QUEUE_COMPUTE_BIT- = showString "VK_QUEUE_COMPUTE_BIT"- showsPrec _ VK_QUEUE_TRANSFER_BIT- = showString "VK_QUEUE_TRANSFER_BIT"- showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT- = showString "VK_QUEUE_SPARSE_BINDING_BIT"- showsPrec p (VkQueueBitmask x)- = showParen (p >= 11)- (showString "VkQueueBitmask " . showsPrec 11 x)--instance Read (VkQueueBitmask a) where- readPrec- = parens- (choose- [("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT),- ("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT),- ("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT),- ("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)]- +++- prec 10- (expectP (Ident "VkQueueBitmask") >>- (VkQueueBitmask <$> step readPrec)))---- | Queue supports graphics operations------ bitpos = @0@-pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a--pattern VK_QUEUE_GRAPHICS_BIT = VkQueueBitmask 1---- | Queue supports compute operations------ bitpos = @1@-pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a--pattern VK_QUEUE_COMPUTE_BIT = VkQueueBitmask 2---- | Queue supports transfer operations------ bitpos = @2@-pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a--pattern VK_QUEUE_TRANSFER_BIT = VkQueueBitmask 4---- | Queue supports sparse resource memory management operations------ bitpos = @3@-pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a--pattern VK_QUEUE_SPARSE_BINDING_BIT = VkQueueBitmask 8
@@ -1,82 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkQueueGlobalPriorityEXT- (VkQueueGlobalPriorityEXT(VkQueueGlobalPriorityEXT,- VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,- VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,- VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,- VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkQueueGlobalPriorityEXT.html VkQueueGlobalPriorityEXT registry at www.khronos.org>-newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkQueueGlobalPriorityEXT where- showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT- = showString "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"- showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT- = showString "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"- showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT- = showString "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"- showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT- = showString "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"- showsPrec p (VkQueueGlobalPriorityEXT x)- = showParen (p >= 11)- (showString "VkQueueGlobalPriorityEXT " . showsPrec 11 x)--instance Read VkQueueGlobalPriorityEXT where- readPrec- = parens- (choose- [("VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT",- pure VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT),- ("VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT",- pure VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT),- ("VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT",- pure VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT),- ("VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT",- pure VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT)]- +++- prec 10- (expectP (Ident "VkQueueGlobalPriorityEXT") >>- (VkQueueGlobalPriorityEXT <$> step readPrec)))--pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT ::- VkQueueGlobalPriorityEXT--pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT =- VkQueueGlobalPriorityEXT 128--pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT ::- VkQueueGlobalPriorityEXT--pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT =- VkQueueGlobalPriorityEXT 256--pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT ::- VkQueueGlobalPriorityEXT--pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT =- VkQueueGlobalPriorityEXT 512--pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT ::- VkQueueGlobalPriorityEXT--pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT =- VkQueueGlobalPriorityEXT 1024
@@ -1,60 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkRasterizationOrderAMD- (VkRasterizationOrderAMD(VkRasterizationOrderAMD,- VK_RASTERIZATION_ORDER_STRICT_AMD,- VK_RASTERIZATION_ORDER_RELAXED_AMD))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkRasterizationOrderAMD.html VkRasterizationOrderAMD registry at www.khronos.org>-newtype VkRasterizationOrderAMD = VkRasterizationOrderAMD Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkRasterizationOrderAMD where- showsPrec _ VK_RASTERIZATION_ORDER_STRICT_AMD- = showString "VK_RASTERIZATION_ORDER_STRICT_AMD"- showsPrec _ VK_RASTERIZATION_ORDER_RELAXED_AMD- = showString "VK_RASTERIZATION_ORDER_RELAXED_AMD"- showsPrec p (VkRasterizationOrderAMD x)- = showParen (p >= 11)- (showString "VkRasterizationOrderAMD " . showsPrec 11 x)--instance Read VkRasterizationOrderAMD where- readPrec- = parens- (choose- [("VK_RASTERIZATION_ORDER_STRICT_AMD",- pure VK_RASTERIZATION_ORDER_STRICT_AMD),- ("VK_RASTERIZATION_ORDER_RELAXED_AMD",- pure VK_RASTERIZATION_ORDER_RELAXED_AMD)]- +++- prec 10- (expectP (Ident "VkRasterizationOrderAMD") >>- (VkRasterizationOrderAMD <$> step readPrec)))--pattern VK_RASTERIZATION_ORDER_STRICT_AMD ::- VkRasterizationOrderAMD--pattern VK_RASTERIZATION_ORDER_STRICT_AMD =- VkRasterizationOrderAMD 0--pattern VK_RASTERIZATION_ORDER_RELAXED_AMD ::- VkRasterizationOrderAMD--pattern VK_RASTERIZATION_ORDER_RELAXED_AMD =- VkRasterizationOrderAMD 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkRenderPassCreateFlagBits- (VkRenderPassCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkRenderPassCreateFlagBits = VkRenderPassCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkRenderPassCreateFlagBits where- {-# INLINE show #-}- show (VkRenderPassCreateFlagBits x) = show x--instance Read VkRenderPassCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,190 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkResult- (VkResult(VkResult, VK_SUCCESS, VK_NOT_READY, VK_TIMEOUT,- VK_EVENT_SET, VK_EVENT_RESET, VK_INCOMPLETE,- VK_ERROR_OUT_OF_HOST_MEMORY, VK_ERROR_OUT_OF_DEVICE_MEMORY,- VK_ERROR_INITIALIZATION_FAILED, VK_ERROR_DEVICE_LOST,- VK_ERROR_MEMORY_MAP_FAILED, VK_ERROR_LAYER_NOT_PRESENT,- VK_ERROR_EXTENSION_NOT_PRESENT, VK_ERROR_FEATURE_NOT_PRESENT,- VK_ERROR_INCOMPATIBLE_DRIVER, VK_ERROR_TOO_MANY_OBJECTS,- VK_ERROR_FORMAT_NOT_SUPPORTED, VK_ERROR_FRAGMENTED_POOL))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | API result codes------ type = @enum@--------- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkResult.html VkResult registry at www.khronos.org>-newtype VkResult = VkResult Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkResult where- showsPrec _ VK_SUCCESS = showString "VK_SUCCESS"- showsPrec _ VK_NOT_READY = showString "VK_NOT_READY"- showsPrec _ VK_TIMEOUT = showString "VK_TIMEOUT"- showsPrec _ VK_EVENT_SET = showString "VK_EVENT_SET"- showsPrec _ VK_EVENT_RESET = showString "VK_EVENT_RESET"- showsPrec _ VK_INCOMPLETE = showString "VK_INCOMPLETE"- showsPrec _ VK_ERROR_OUT_OF_HOST_MEMORY- = showString "VK_ERROR_OUT_OF_HOST_MEMORY"- showsPrec _ VK_ERROR_OUT_OF_DEVICE_MEMORY- = showString "VK_ERROR_OUT_OF_DEVICE_MEMORY"- showsPrec _ VK_ERROR_INITIALIZATION_FAILED- = showString "VK_ERROR_INITIALIZATION_FAILED"- showsPrec _ VK_ERROR_DEVICE_LOST- = showString "VK_ERROR_DEVICE_LOST"- showsPrec _ VK_ERROR_MEMORY_MAP_FAILED- = showString "VK_ERROR_MEMORY_MAP_FAILED"- showsPrec _ VK_ERROR_LAYER_NOT_PRESENT- = showString "VK_ERROR_LAYER_NOT_PRESENT"- showsPrec _ VK_ERROR_EXTENSION_NOT_PRESENT- = showString "VK_ERROR_EXTENSION_NOT_PRESENT"- showsPrec _ VK_ERROR_FEATURE_NOT_PRESENT- = showString "VK_ERROR_FEATURE_NOT_PRESENT"- showsPrec _ VK_ERROR_INCOMPATIBLE_DRIVER- = showString "VK_ERROR_INCOMPATIBLE_DRIVER"- showsPrec _ VK_ERROR_TOO_MANY_OBJECTS- = showString "VK_ERROR_TOO_MANY_OBJECTS"- showsPrec _ VK_ERROR_FORMAT_NOT_SUPPORTED- = showString "VK_ERROR_FORMAT_NOT_SUPPORTED"- showsPrec _ VK_ERROR_FRAGMENTED_POOL- = showString "VK_ERROR_FRAGMENTED_POOL"- showsPrec p (VkResult x)- = showParen (p >= 11) (showString "VkResult " . showsPrec 11 x)--instance Read VkResult where- readPrec- = parens- (choose- [("VK_SUCCESS", pure VK_SUCCESS),- ("VK_NOT_READY", pure VK_NOT_READY),- ("VK_TIMEOUT", pure VK_TIMEOUT),- ("VK_EVENT_SET", pure VK_EVENT_SET),- ("VK_EVENT_RESET", pure VK_EVENT_RESET),- ("VK_INCOMPLETE", pure VK_INCOMPLETE),- ("VK_ERROR_OUT_OF_HOST_MEMORY", pure VK_ERROR_OUT_OF_HOST_MEMORY),- ("VK_ERROR_OUT_OF_DEVICE_MEMORY",- pure VK_ERROR_OUT_OF_DEVICE_MEMORY),- ("VK_ERROR_INITIALIZATION_FAILED",- pure VK_ERROR_INITIALIZATION_FAILED),- ("VK_ERROR_DEVICE_LOST", pure VK_ERROR_DEVICE_LOST),- ("VK_ERROR_MEMORY_MAP_FAILED", pure VK_ERROR_MEMORY_MAP_FAILED),- ("VK_ERROR_LAYER_NOT_PRESENT", pure VK_ERROR_LAYER_NOT_PRESENT),- ("VK_ERROR_EXTENSION_NOT_PRESENT",- pure VK_ERROR_EXTENSION_NOT_PRESENT),- ("VK_ERROR_FEATURE_NOT_PRESENT",- pure VK_ERROR_FEATURE_NOT_PRESENT),- ("VK_ERROR_INCOMPATIBLE_DRIVER",- pure VK_ERROR_INCOMPATIBLE_DRIVER),- ("VK_ERROR_TOO_MANY_OBJECTS", pure VK_ERROR_TOO_MANY_OBJECTS),- ("VK_ERROR_FORMAT_NOT_SUPPORTED",- pure VK_ERROR_FORMAT_NOT_SUPPORTED),- ("VK_ERROR_FRAGMENTED_POOL", pure VK_ERROR_FRAGMENTED_POOL)]- +++- prec 10- (expectP (Ident "VkResult") >> (VkResult <$> step readPrec)))---- | Command completed successfully-pattern VK_SUCCESS :: VkResult--pattern VK_SUCCESS = VkResult 0---- | A fence or query has not yet completed-pattern VK_NOT_READY :: VkResult--pattern VK_NOT_READY = VkResult 1---- | A wait operation has not completed in the specified time-pattern VK_TIMEOUT :: VkResult--pattern VK_TIMEOUT = VkResult 2---- | An event is signaled-pattern VK_EVENT_SET :: VkResult--pattern VK_EVENT_SET = VkResult 3---- | An event is unsignaled-pattern VK_EVENT_RESET :: VkResult--pattern VK_EVENT_RESET = VkResult 4---- | A return array was too small for the result-pattern VK_INCOMPLETE :: VkResult--pattern VK_INCOMPLETE = VkResult 5---- | A host memory allocation has failed-pattern VK_ERROR_OUT_OF_HOST_MEMORY :: VkResult--pattern VK_ERROR_OUT_OF_HOST_MEMORY = VkResult (-1)---- | A device memory allocation has failed-pattern VK_ERROR_OUT_OF_DEVICE_MEMORY :: VkResult--pattern VK_ERROR_OUT_OF_DEVICE_MEMORY = VkResult (-2)---- | Initialization of a object has failed-pattern VK_ERROR_INITIALIZATION_FAILED :: VkResult--pattern VK_ERROR_INITIALIZATION_FAILED = VkResult (-3)---- | The logical device has been lost. See <<devsandqueues-lost-device>>-pattern VK_ERROR_DEVICE_LOST :: VkResult--pattern VK_ERROR_DEVICE_LOST = VkResult (-4)---- | Mapping of a memory object has failed-pattern VK_ERROR_MEMORY_MAP_FAILED :: VkResult--pattern VK_ERROR_MEMORY_MAP_FAILED = VkResult (-5)---- | Layer specified does not exist-pattern VK_ERROR_LAYER_NOT_PRESENT :: VkResult--pattern VK_ERROR_LAYER_NOT_PRESENT = VkResult (-6)---- | Extension specified does not exist-pattern VK_ERROR_EXTENSION_NOT_PRESENT :: VkResult--pattern VK_ERROR_EXTENSION_NOT_PRESENT = VkResult (-7)---- | Requested feature is not available on this device-pattern VK_ERROR_FEATURE_NOT_PRESENT :: VkResult--pattern VK_ERROR_FEATURE_NOT_PRESENT = VkResult (-8)---- | Unable to find a Vulkan driver-pattern VK_ERROR_INCOMPATIBLE_DRIVER :: VkResult--pattern VK_ERROR_INCOMPATIBLE_DRIVER = VkResult (-9)---- | Too many objects of the type have already been created-pattern VK_ERROR_TOO_MANY_OBJECTS :: VkResult--pattern VK_ERROR_TOO_MANY_OBJECTS = VkResult (-10)---- | Requested format is not supported on this device-pattern VK_ERROR_FORMAT_NOT_SUPPORTED :: VkResult--pattern VK_ERROR_FORMAT_NOT_SUPPORTED = VkResult (-11)---- | A requested pool allocation has failed due to fragmentation of the pool's memory-pattern VK_ERROR_FRAGMENTED_POOL :: VkResult--pattern VK_ERROR_FRAGMENTED_POOL = VkResult (-12)
@@ -1,145 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSampleCountFlags- (VkSampleCountBitmask(VkSampleCountBitmask, VkSampleCountFlags,- VkSampleCountFlagBits, VK_SAMPLE_COUNT_1_BIT,- VK_SAMPLE_COUNT_2_BIT, VK_SAMPLE_COUNT_4_BIT,- VK_SAMPLE_COUNT_8_BIT, VK_SAMPLE_COUNT_16_BIT,- VK_SAMPLE_COUNT_32_BIT, VK_SAMPLE_COUNT_64_BIT),- VkSampleCountFlags, VkSampleCountFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSampleCountBitmask (a ::- FlagType) = VkSampleCountBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSampleCountFlags = VkSampleCountBitmask FlagMask--type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit--pattern VkSampleCountFlagBits ::- VkFlags -> VkSampleCountBitmask FlagBit--pattern VkSampleCountFlagBits n = VkSampleCountBitmask n--pattern VkSampleCountFlags ::- VkFlags -> VkSampleCountBitmask FlagMask--pattern VkSampleCountFlags n = VkSampleCountBitmask n--deriving instance Bits (VkSampleCountBitmask FlagMask)--deriving instance FiniteBits (VkSampleCountBitmask FlagMask)--deriving instance Integral (VkSampleCountBitmask FlagMask)--deriving instance Num (VkSampleCountBitmask FlagMask)--deriving instance Bounded (VkSampleCountBitmask FlagMask)--deriving instance Enum (VkSampleCountBitmask FlagMask)--deriving instance Real (VkSampleCountBitmask FlagMask)--instance Show (VkSampleCountBitmask a) where- showsPrec _ VK_SAMPLE_COUNT_1_BIT- = showString "VK_SAMPLE_COUNT_1_BIT"- showsPrec _ VK_SAMPLE_COUNT_2_BIT- = showString "VK_SAMPLE_COUNT_2_BIT"- showsPrec _ VK_SAMPLE_COUNT_4_BIT- = showString "VK_SAMPLE_COUNT_4_BIT"- showsPrec _ VK_SAMPLE_COUNT_8_BIT- = showString "VK_SAMPLE_COUNT_8_BIT"- showsPrec _ VK_SAMPLE_COUNT_16_BIT- = showString "VK_SAMPLE_COUNT_16_BIT"- showsPrec _ VK_SAMPLE_COUNT_32_BIT- = showString "VK_SAMPLE_COUNT_32_BIT"- showsPrec _ VK_SAMPLE_COUNT_64_BIT- = showString "VK_SAMPLE_COUNT_64_BIT"- showsPrec p (VkSampleCountBitmask x)- = showParen (p >= 11)- (showString "VkSampleCountBitmask " . showsPrec 11 x)--instance Read (VkSampleCountBitmask a) where- readPrec- = parens- (choose- [("VK_SAMPLE_COUNT_1_BIT", pure VK_SAMPLE_COUNT_1_BIT),- ("VK_SAMPLE_COUNT_2_BIT", pure VK_SAMPLE_COUNT_2_BIT),- ("VK_SAMPLE_COUNT_4_BIT", pure VK_SAMPLE_COUNT_4_BIT),- ("VK_SAMPLE_COUNT_8_BIT", pure VK_SAMPLE_COUNT_8_BIT),- ("VK_SAMPLE_COUNT_16_BIT", pure VK_SAMPLE_COUNT_16_BIT),- ("VK_SAMPLE_COUNT_32_BIT", pure VK_SAMPLE_COUNT_32_BIT),- ("VK_SAMPLE_COUNT_64_BIT", pure VK_SAMPLE_COUNT_64_BIT)]- +++- prec 10- (expectP (Ident "VkSampleCountBitmask") >>- (VkSampleCountBitmask <$> step readPrec)))---- | Sample count 1 supported------ bitpos = @0@-pattern VK_SAMPLE_COUNT_1_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_1_BIT = VkSampleCountBitmask 1---- | Sample count 2 supported------ bitpos = @1@-pattern VK_SAMPLE_COUNT_2_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_2_BIT = VkSampleCountBitmask 2---- | Sample count 4 supported------ bitpos = @2@-pattern VK_SAMPLE_COUNT_4_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_4_BIT = VkSampleCountBitmask 4---- | Sample count 8 supported------ bitpos = @3@-pattern VK_SAMPLE_COUNT_8_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_8_BIT = VkSampleCountBitmask 8---- | Sample count 16 supported------ bitpos = @4@-pattern VK_SAMPLE_COUNT_16_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_16_BIT = VkSampleCountBitmask 16---- | Sample count 32 supported------ bitpos = @5@-pattern VK_SAMPLE_COUNT_32_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_32_BIT = VkSampleCountBitmask 32---- | Sample count 64 supported------ bitpos = @6@-pattern VK_SAMPLE_COUNT_64_BIT :: VkSampleCountBitmask a--pattern VK_SAMPLE_COUNT_64_BIT = VkSampleCountBitmask 64
@@ -1,80 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerAddressMode- (VkSamplerAddressMode(VkSamplerAddressMode,- VK_SAMPLER_ADDRESS_MODE_REPEAT,- VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,- VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,- VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerAddressMode.html VkSamplerAddressMode registry at www.khronos.org>-newtype VkSamplerAddressMode = VkSamplerAddressMode Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkSamplerAddressMode where- showsPrec _ VK_SAMPLER_ADDRESS_MODE_REPEAT- = showString "VK_SAMPLER_ADDRESS_MODE_REPEAT"- showsPrec _ VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT- = showString "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"- showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE- = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"- showsPrec _ VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER- = showString "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"- showsPrec p (VkSamplerAddressMode x)- = showParen (p >= 11)- (showString "VkSamplerAddressMode " . showsPrec 11 x)--instance Read VkSamplerAddressMode where- readPrec- = parens- (choose- [("VK_SAMPLER_ADDRESS_MODE_REPEAT",- pure VK_SAMPLER_ADDRESS_MODE_REPEAT),- ("VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT",- pure VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT),- ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE",- pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE),- ("VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER",- pure VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER)]- +++- prec 10- (expectP (Ident "VkSamplerAddressMode") >>- (VkSamplerAddressMode <$> step readPrec)))--pattern VK_SAMPLER_ADDRESS_MODE_REPEAT :: VkSamplerAddressMode--pattern VK_SAMPLER_ADDRESS_MODE_REPEAT = VkSamplerAddressMode 0--pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT ::- VkSamplerAddressMode--pattern VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT =- VkSamplerAddressMode 1--pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE ::- VkSamplerAddressMode--pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE =- VkSamplerAddressMode 2--pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER ::- VkSamplerAddressMode--pattern VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER =- VkSamplerAddressMode 3
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerCreateFlagBits- (VkSamplerCreateFlagBits(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkSamplerCreateFlagBits = VkSamplerCreateFlagBits VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkSamplerCreateFlagBits where- {-# INLINE show #-}- show (VkSamplerCreateFlagBits x) = show x--instance Read VkSamplerCreateFlagBits where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,57 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerMipmapMode- (VkSamplerMipmapMode(VkSamplerMipmapMode,- VK_SAMPLER_MIPMAP_MODE_NEAREST, VK_SAMPLER_MIPMAP_MODE_LINEAR))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerMipmapMode.html VkSamplerMipmapMode registry at www.khronos.org>-newtype VkSamplerMipmapMode = VkSamplerMipmapMode Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkSamplerMipmapMode where- showsPrec _ VK_SAMPLER_MIPMAP_MODE_NEAREST- = showString "VK_SAMPLER_MIPMAP_MODE_NEAREST"- showsPrec _ VK_SAMPLER_MIPMAP_MODE_LINEAR- = showString "VK_SAMPLER_MIPMAP_MODE_LINEAR"- showsPrec p (VkSamplerMipmapMode x)- = showParen (p >= 11)- (showString "VkSamplerMipmapMode " . showsPrec 11 x)--instance Read VkSamplerMipmapMode where- readPrec- = parens- (choose- [("VK_SAMPLER_MIPMAP_MODE_NEAREST",- pure VK_SAMPLER_MIPMAP_MODE_NEAREST),- ("VK_SAMPLER_MIPMAP_MODE_LINEAR",- pure VK_SAMPLER_MIPMAP_MODE_LINEAR)]- +++- prec 10- (expectP (Ident "VkSamplerMipmapMode") >>- (VkSamplerMipmapMode <$> step readPrec)))---- | Choose nearest mip level-pattern VK_SAMPLER_MIPMAP_MODE_NEAREST :: VkSamplerMipmapMode--pattern VK_SAMPLER_MIPMAP_MODE_NEAREST = VkSamplerMipmapMode 0---- | Linear filter between mip levels-pattern VK_SAMPLER_MIPMAP_MODE_LINEAR :: VkSamplerMipmapMode--pattern VK_SAMPLER_MIPMAP_MODE_LINEAR = VkSamplerMipmapMode 1
@@ -1,72 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerReductionModeEXT- (VkSamplerReductionModeEXT(VkSamplerReductionModeEXT,- VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT,- VK_SAMPLER_REDUCTION_MODE_MIN_EXT,- VK_SAMPLER_REDUCTION_MODE_MAX_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerReductionModeEXT.html VkSamplerReductionModeEXT registry at www.khronos.org>-newtype VkSamplerReductionModeEXT = VkSamplerReductionModeEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkSamplerReductionModeEXT where- showsPrec _ VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT- = showString "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT"- showsPrec _ VK_SAMPLER_REDUCTION_MODE_MIN_EXT- = showString "VK_SAMPLER_REDUCTION_MODE_MIN_EXT"- showsPrec _ VK_SAMPLER_REDUCTION_MODE_MAX_EXT- = showString "VK_SAMPLER_REDUCTION_MODE_MAX_EXT"- showsPrec p (VkSamplerReductionModeEXT x)- = showParen (p >= 11)- (showString "VkSamplerReductionModeEXT " . showsPrec 11 x)--instance Read VkSamplerReductionModeEXT where- readPrec- = parens- (choose- [("VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT",- pure VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT),- ("VK_SAMPLER_REDUCTION_MODE_MIN_EXT",- pure VK_SAMPLER_REDUCTION_MODE_MIN_EXT),- ("VK_SAMPLER_REDUCTION_MODE_MAX_EXT",- pure VK_SAMPLER_REDUCTION_MODE_MAX_EXT)]- +++- prec 10- (expectP (Ident "VkSamplerReductionModeEXT") >>- (VkSamplerReductionModeEXT <$> step readPrec)))--pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT ::- VkSamplerReductionModeEXT--pattern VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT =- VkSamplerReductionModeEXT 0--pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT ::- VkSamplerReductionModeEXT--pattern VK_SAMPLER_REDUCTION_MODE_MIN_EXT =- VkSamplerReductionModeEXT 1--pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT ::- VkSamplerReductionModeEXT--pattern VK_SAMPLER_REDUCTION_MODE_MAX_EXT =- VkSamplerReductionModeEXT 2
@@ -1,98 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion- (VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion,- VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,- VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,- VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,- VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,- VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerYcbcrModelConversion.html VkSamplerYcbcrModelConversion registry at www.khronos.org>-newtype VkSamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkSamplerYcbcrModelConversion where- showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY- = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"- showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY- = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"- showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709- = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"- showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601- = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"- showsPrec _ VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020- = showString "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"- showsPrec p (VkSamplerYcbcrModelConversion x)- = showParen (p >= 11)- (showString "VkSamplerYcbcrModelConversion " . showsPrec 11 x)--instance Read VkSamplerYcbcrModelConversion where- readPrec- = parens- (choose- [("VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY",- pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY),- ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY",- pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY),- ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709",- pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709),- ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601",- pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601),- ("VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020",- pure VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020)]- +++- prec 10- (expectP (Ident "VkSamplerYcbcrModelConversion") >>- (VkSamplerYcbcrModelConversion <$> step readPrec)))--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY ::- VkSamplerYcbcrModelConversion--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY =- VkSamplerYcbcrModelConversion 0---- | just range expansion-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY ::- VkSamplerYcbcrModelConversion--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY =- VkSamplerYcbcrModelConversion 1---- | aka HD YUV-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 ::- VkSamplerYcbcrModelConversion--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 =- VkSamplerYcbcrModelConversion 2---- | aka SD YUV-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 ::- VkSamplerYcbcrModelConversion--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 =- VkSamplerYcbcrModelConversion 3---- | aka UHD YUV-pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 ::- VkSamplerYcbcrModelConversion--pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 =- VkSamplerYcbcrModelConversion 4
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversionKHR- (VkSamplerYcbcrModelConversionKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversionKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkSamplerYcbcrModelConversionKHR where- {-# INLINE show #-}- show (VkSamplerYcbcrModelConversionKHR x) = show x--instance Read VkSamplerYcbcrModelConversionKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,58 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange- (VkSamplerYcbcrRange(VkSamplerYcbcrRange,- VK_SAMPLER_YCBCR_RANGE_ITU_FULL,- VK_SAMPLER_YCBCR_RANGE_ITU_NARROW))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSamplerYcbcrRange.html VkSamplerYcbcrRange registry at www.khronos.org>-newtype VkSamplerYcbcrRange = VkSamplerYcbcrRange Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkSamplerYcbcrRange where- showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_FULL- = showString "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"- showsPrec _ VK_SAMPLER_YCBCR_RANGE_ITU_NARROW- = showString "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"- showsPrec p (VkSamplerYcbcrRange x)- = showParen (p >= 11)- (showString "VkSamplerYcbcrRange " . showsPrec 11 x)--instance Read VkSamplerYcbcrRange where- readPrec- = parens- (choose- [("VK_SAMPLER_YCBCR_RANGE_ITU_FULL",- pure VK_SAMPLER_YCBCR_RANGE_ITU_FULL),- ("VK_SAMPLER_YCBCR_RANGE_ITU_NARROW",- pure VK_SAMPLER_YCBCR_RANGE_ITU_NARROW)]- +++- prec 10- (expectP (Ident "VkSamplerYcbcrRange") >>- (VkSamplerYcbcrRange <$> step readPrec)))---- | Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped)-pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL :: VkSamplerYcbcrRange--pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL = VkSamplerYcbcrRange 0---- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240-pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW :: VkSamplerYcbcrRange--pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = VkSamplerYcbcrRange 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRangeKHR- (VkSamplerYcbcrRangeKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRangeKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkSamplerYcbcrRangeKHR where- {-# INLINE show #-}- show (VkSamplerYcbcrRangeKHR x) = show x--instance Read VkSamplerYcbcrRangeKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlagBitsKHR- (VkSemaphoreImportFlagBitsKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBitsKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkSemaphoreImportFlagBitsKHR where- {-# INLINE show #-}- show (VkSemaphoreImportFlagBitsKHR x) = show x--instance Read VkSemaphoreImportFlagBitsKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,84 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSemaphoreImportFlags- (VkSemaphoreImportBitmask(VkSemaphoreImportBitmask,- VkSemaphoreImportFlags, VkSemaphoreImportFlagBits,- VK_SEMAPHORE_IMPORT_TEMPORARY_BIT),- VkSemaphoreImportFlags, VkSemaphoreImportFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSemaphoreImportBitmask (a ::- FlagType) = VkSemaphoreImportBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask--type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit--pattern VkSemaphoreImportFlagBits ::- VkFlags -> VkSemaphoreImportBitmask FlagBit--pattern VkSemaphoreImportFlagBits n = VkSemaphoreImportBitmask n--pattern VkSemaphoreImportFlags ::- VkFlags -> VkSemaphoreImportBitmask FlagMask--pattern VkSemaphoreImportFlags n = VkSemaphoreImportBitmask n--deriving instance Bits (VkSemaphoreImportBitmask FlagMask)--deriving instance FiniteBits (VkSemaphoreImportBitmask FlagMask)--deriving instance Integral (VkSemaphoreImportBitmask FlagMask)--deriving instance Num (VkSemaphoreImportBitmask FlagMask)--deriving instance Bounded (VkSemaphoreImportBitmask FlagMask)--deriving instance Enum (VkSemaphoreImportBitmask FlagMask)--deriving instance Real (VkSemaphoreImportBitmask FlagMask)--instance Show (VkSemaphoreImportBitmask a) where- showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT- = showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"- showsPrec p (VkSemaphoreImportBitmask x)- = showParen (p >= 11)- (showString "VkSemaphoreImportBitmask " . showsPrec 11 x)--instance Read (VkSemaphoreImportBitmask a) where- readPrec- = parens- (choose- [("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT",- pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)]- +++- prec 10- (expectP (Ident "VkSemaphoreImportBitmask") >>- (VkSemaphoreImportBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT ::- VkSemaphoreImportBitmask a--pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT =- VkSemaphoreImportBitmask 1
@@ -1,64 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkShaderInfoTypeAMD- (VkShaderInfoTypeAMD(VkShaderInfoTypeAMD,- VK_SHADER_INFO_TYPE_STATISTICS_AMD, VK_SHADER_INFO_TYPE_BINARY_AMD,- VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkShaderInfoTypeAMD.html VkShaderInfoTypeAMD registry at www.khronos.org>-newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkShaderInfoTypeAMD where- showsPrec _ VK_SHADER_INFO_TYPE_STATISTICS_AMD- = showString "VK_SHADER_INFO_TYPE_STATISTICS_AMD"- showsPrec _ VK_SHADER_INFO_TYPE_BINARY_AMD- = showString "VK_SHADER_INFO_TYPE_BINARY_AMD"- showsPrec _ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD- = showString "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"- showsPrec p (VkShaderInfoTypeAMD x)- = showParen (p >= 11)- (showString "VkShaderInfoTypeAMD " . showsPrec 11 x)--instance Read VkShaderInfoTypeAMD where- readPrec- = parens- (choose- [("VK_SHADER_INFO_TYPE_STATISTICS_AMD",- pure VK_SHADER_INFO_TYPE_STATISTICS_AMD),- ("VK_SHADER_INFO_TYPE_BINARY_AMD",- pure VK_SHADER_INFO_TYPE_BINARY_AMD),- ("VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD",- pure VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD)]- +++- prec 10- (expectP (Ident "VkShaderInfoTypeAMD") >>- (VkShaderInfoTypeAMD <$> step readPrec)))--pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD--pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD = VkShaderInfoTypeAMD 0--pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD--pattern VK_SHADER_INFO_TYPE_BINARY_AMD = VkShaderInfoTypeAMD 1--pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD--pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD 2
@@ -1,147 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkShaderStageFlags- (VkShaderStageBitmask(VkShaderStageBitmask, VkShaderStageFlags,- VkShaderStageFlagBits, VK_SHADER_STAGE_VERTEX_BIT,- VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,- VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,- VK_SHADER_STAGE_GEOMETRY_BIT, VK_SHADER_STAGE_FRAGMENT_BIT,- VK_SHADER_STAGE_COMPUTE_BIT, VK_SHADER_STAGE_ALL_GRAPHICS,- VK_SHADER_STAGE_ALL),- VkShaderStageFlags, VkShaderStageFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkShaderStageBitmask (a ::- FlagType) = VkShaderStageBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkShaderStageFlags = VkShaderStageBitmask FlagMask--type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit--pattern VkShaderStageFlagBits ::- VkFlags -> VkShaderStageBitmask FlagBit--pattern VkShaderStageFlagBits n = VkShaderStageBitmask n--pattern VkShaderStageFlags ::- VkFlags -> VkShaderStageBitmask FlagMask--pattern VkShaderStageFlags n = VkShaderStageBitmask n--deriving instance Bits (VkShaderStageBitmask FlagMask)--deriving instance FiniteBits (VkShaderStageBitmask FlagMask)--deriving instance Integral (VkShaderStageBitmask FlagMask)--deriving instance Num (VkShaderStageBitmask FlagMask)--deriving instance Bounded (VkShaderStageBitmask FlagMask)--deriving instance Enum (VkShaderStageBitmask FlagMask)--deriving instance Real (VkShaderStageBitmask FlagMask)--instance Show (VkShaderStageBitmask a) where- showsPrec _ VK_SHADER_STAGE_VERTEX_BIT- = showString "VK_SHADER_STAGE_VERTEX_BIT"- showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT- = showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"- showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT- = showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"- showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT- = showString "VK_SHADER_STAGE_GEOMETRY_BIT"- showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT- = showString "VK_SHADER_STAGE_FRAGMENT_BIT"- showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT- = showString "VK_SHADER_STAGE_COMPUTE_BIT"- showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS- = showString "VK_SHADER_STAGE_ALL_GRAPHICS"- showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"- showsPrec p (VkShaderStageBitmask x)- = showParen (p >= 11)- (showString "VkShaderStageBitmask " . showsPrec 11 x)--instance Read (VkShaderStageBitmask a) where- readPrec- = parens- (choose- [("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT),- ("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",- pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),- ("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",- pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),- ("VK_SHADER_STAGE_GEOMETRY_BIT",- pure VK_SHADER_STAGE_GEOMETRY_BIT),- ("VK_SHADER_STAGE_FRAGMENT_BIT",- pure VK_SHADER_STAGE_FRAGMENT_BIT),- ("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT),- ("VK_SHADER_STAGE_ALL_GRAPHICS",- pure VK_SHADER_STAGE_ALL_GRAPHICS),- ("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)]- +++- prec 10- (expectP (Ident "VkShaderStageBitmask") >>- (VkShaderStageBitmask <$> step readPrec)))---- | bitpos = @0@-pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a--pattern VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageBitmask 1---- | bitpos = @1@-pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT ::- VkShaderStageBitmask a--pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT =- VkShaderStageBitmask 2---- | bitpos = @2@-pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT ::- VkShaderStageBitmask a--pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT =- VkShaderStageBitmask 4---- | bitpos = @3@-pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a--pattern VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageBitmask 8---- | bitpos = @4@-pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a--pattern VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageBitmask 16---- | bitpos = @5@-pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a--pattern VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageBitmask 32--pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a--pattern VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageBitmask 31--pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a--pattern VK_SHADER_STAGE_ALL = VkShaderStageBitmask 2147483647
@@ -1,53 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSharingMode- (VkSharingMode(VkSharingMode, VK_SHARING_MODE_EXCLUSIVE,- VK_SHARING_MODE_CONCURRENT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSharingMode.html VkSharingMode registry at www.khronos.org>-newtype VkSharingMode = VkSharingMode Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkSharingMode where- showsPrec _ VK_SHARING_MODE_EXCLUSIVE- = showString "VK_SHARING_MODE_EXCLUSIVE"- showsPrec _ VK_SHARING_MODE_CONCURRENT- = showString "VK_SHARING_MODE_CONCURRENT"- showsPrec p (VkSharingMode x)- = showParen (p >= 11)- (showString "VkSharingMode " . showsPrec 11 x)--instance Read VkSharingMode where- readPrec- = parens- (choose- [("VK_SHARING_MODE_EXCLUSIVE", pure VK_SHARING_MODE_EXCLUSIVE),- ("VK_SHARING_MODE_CONCURRENT", pure VK_SHARING_MODE_CONCURRENT)]- +++- prec 10- (expectP (Ident "VkSharingMode") >>- (VkSharingMode <$> step readPrec)))--pattern VK_SHARING_MODE_EXCLUSIVE :: VkSharingMode--pattern VK_SHARING_MODE_EXCLUSIVE = VkSharingMode 0--pattern VK_SHARING_MODE_CONCURRENT :: VkSharingMode--pattern VK_SHARING_MODE_CONCURRENT = VkSharingMode 1
@@ -1,116 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags- (VkSparseImageFormatBitmask(VkSparseImageFormatBitmask,- VkSparseImageFormatFlags, VkSparseImageFormatFlagBits,- VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,- VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,- VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT),- VkSparseImageFormatFlags, VkSparseImageFormatFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSparseImageFormatBitmask (a ::- FlagType) = VkSparseImageFormatBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask--type VkSparseImageFormatFlagBits =- VkSparseImageFormatBitmask FlagBit--pattern VkSparseImageFormatFlagBits ::- VkFlags -> VkSparseImageFormatBitmask FlagBit--pattern VkSparseImageFormatFlagBits n =- VkSparseImageFormatBitmask n--pattern VkSparseImageFormatFlags ::- VkFlags -> VkSparseImageFormatBitmask FlagMask--pattern VkSparseImageFormatFlags n = VkSparseImageFormatBitmask n--deriving instance Bits (VkSparseImageFormatBitmask FlagMask)--deriving instance FiniteBits (VkSparseImageFormatBitmask FlagMask)--deriving instance Integral (VkSparseImageFormatBitmask FlagMask)--deriving instance Num (VkSparseImageFormatBitmask FlagMask)--deriving instance Bounded (VkSparseImageFormatBitmask FlagMask)--deriving instance Enum (VkSparseImageFormatBitmask FlagMask)--deriving instance Real (VkSparseImageFormatBitmask FlagMask)--instance Show (VkSparseImageFormatBitmask a) where- showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT- = showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"- showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT- = showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"- showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT- = showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"- showsPrec p (VkSparseImageFormatBitmask x)- = showParen (p >= 11)- (showString "VkSparseImageFormatBitmask " . showsPrec 11 x)--instance Read (VkSparseImageFormatBitmask a) where- readPrec- = parens- (choose- [("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT",- pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT),- ("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT",- pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT),- ("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT",- pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)]- +++- prec 10- (expectP (Ident "VkSparseImageFormatBitmask") >>- (VkSparseImageFormatBitmask <$> step readPrec)))---- | Image uses a single mip tail region for all array layers------ bitpos = @0@-pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT ::- VkSparseImageFormatBitmask a--pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT =- VkSparseImageFormatBitmask 1---- | Image requires mip level dimensions to be an integer multiple of the sparse image block dimensions for non-tail mip levels.------ bitpos = @1@-pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT ::- VkSparseImageFormatBitmask a--pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT =- VkSparseImageFormatBitmask 2---- | Image uses a non-standard sparse image block dimensions------ bitpos = @2@-pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT ::- VkSparseImageFormatBitmask a--pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT =- VkSparseImageFormatBitmask 4
@@ -1,86 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSparseMemoryBindFlags- (VkSparseMemoryBindBitmask(VkSparseMemoryBindBitmask,- VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits,- VK_SPARSE_MEMORY_BIND_METADATA_BIT),- VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSparseMemoryBindBitmask (a ::- FlagType) = VkSparseMemoryBindBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask--type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit--pattern VkSparseMemoryBindFlagBits ::- VkFlags -> VkSparseMemoryBindBitmask FlagBit--pattern VkSparseMemoryBindFlagBits n = VkSparseMemoryBindBitmask n--pattern VkSparseMemoryBindFlags ::- VkFlags -> VkSparseMemoryBindBitmask FlagMask--pattern VkSparseMemoryBindFlags n = VkSparseMemoryBindBitmask n--deriving instance Bits (VkSparseMemoryBindBitmask FlagMask)--deriving instance FiniteBits (VkSparseMemoryBindBitmask FlagMask)--deriving instance Integral (VkSparseMemoryBindBitmask FlagMask)--deriving instance Num (VkSparseMemoryBindBitmask FlagMask)--deriving instance Bounded (VkSparseMemoryBindBitmask FlagMask)--deriving instance Enum (VkSparseMemoryBindBitmask FlagMask)--deriving instance Real (VkSparseMemoryBindBitmask FlagMask)--instance Show (VkSparseMemoryBindBitmask a) where- showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT- = showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"- showsPrec p (VkSparseMemoryBindBitmask x)- = showParen (p >= 11)- (showString "VkSparseMemoryBindBitmask " . showsPrec 11 x)--instance Read (VkSparseMemoryBindBitmask a) where- readPrec- = parens- (choose- [("VK_SPARSE_MEMORY_BIND_METADATA_BIT",- pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)]- +++- prec 10- (expectP (Ident "VkSparseMemoryBindBitmask") >>- (VkSparseMemoryBindBitmask <$> step readPrec)))---- | Operation binds resource metadata to memory------ bitpos = @0@-pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT ::- VkSparseMemoryBindBitmask a--pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT =- VkSparseMemoryBindBitmask 1
@@ -1,101 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkStencilFaceFlags- (VkStencilFaceBitmask(VkStencilFaceBitmask, VkStencilFaceFlags,- VkStencilFaceFlagBits, VK_STENCIL_FACE_FRONT_BIT,- VK_STENCIL_FACE_BACK_BIT, VK_STENCIL_FRONT_AND_BACK),- VkStencilFaceFlags, VkStencilFaceFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkStencilFaceBitmask (a ::- FlagType) = VkStencilFaceBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask--type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit--pattern VkStencilFaceFlagBits ::- VkFlags -> VkStencilFaceBitmask FlagBit--pattern VkStencilFaceFlagBits n = VkStencilFaceBitmask n--pattern VkStencilFaceFlags ::- VkFlags -> VkStencilFaceBitmask FlagMask--pattern VkStencilFaceFlags n = VkStencilFaceBitmask n--deriving instance Bits (VkStencilFaceBitmask FlagMask)--deriving instance FiniteBits (VkStencilFaceBitmask FlagMask)--deriving instance Integral (VkStencilFaceBitmask FlagMask)--deriving instance Num (VkStencilFaceBitmask FlagMask)--deriving instance Bounded (VkStencilFaceBitmask FlagMask)--deriving instance Enum (VkStencilFaceBitmask FlagMask)--deriving instance Real (VkStencilFaceBitmask FlagMask)--instance Show (VkStencilFaceBitmask a) where- showsPrec _ VK_STENCIL_FACE_FRONT_BIT- = showString "VK_STENCIL_FACE_FRONT_BIT"- showsPrec _ VK_STENCIL_FACE_BACK_BIT- = showString "VK_STENCIL_FACE_BACK_BIT"- showsPrec _ VK_STENCIL_FRONT_AND_BACK- = showString "VK_STENCIL_FRONT_AND_BACK"- showsPrec p (VkStencilFaceBitmask x)- = showParen (p >= 11)- (showString "VkStencilFaceBitmask " . showsPrec 11 x)--instance Read (VkStencilFaceBitmask a) where- readPrec- = parens- (choose- [("VK_STENCIL_FACE_FRONT_BIT", pure VK_STENCIL_FACE_FRONT_BIT),- ("VK_STENCIL_FACE_BACK_BIT", pure VK_STENCIL_FACE_BACK_BIT),- ("VK_STENCIL_FRONT_AND_BACK", pure VK_STENCIL_FRONT_AND_BACK)]- +++- prec 10- (expectP (Ident "VkStencilFaceBitmask") >>- (VkStencilFaceBitmask <$> step readPrec)))---- | Front face------ bitpos = @0@-pattern VK_STENCIL_FACE_FRONT_BIT :: VkStencilFaceBitmask a--pattern VK_STENCIL_FACE_FRONT_BIT = VkStencilFaceBitmask 1---- | Back face------ bitpos = @1@-pattern VK_STENCIL_FACE_BACK_BIT :: VkStencilFaceBitmask a--pattern VK_STENCIL_FACE_BACK_BIT = VkStencilFaceBitmask 2---- | Front and back faces-pattern VK_STENCIL_FRONT_AND_BACK :: VkStencilFaceBitmask a--pattern VK_STENCIL_FRONT_AND_BACK = VkStencilFaceBitmask 3
@@ -1,98 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkStencilOp- (VkStencilOp(VkStencilOp, VK_STENCIL_OP_KEEP, VK_STENCIL_OP_ZERO,- VK_STENCIL_OP_REPLACE, VK_STENCIL_OP_INCREMENT_AND_CLAMP,- VK_STENCIL_OP_DECREMENT_AND_CLAMP, VK_STENCIL_OP_INVERT,- VK_STENCIL_OP_INCREMENT_AND_WRAP,- VK_STENCIL_OP_DECREMENT_AND_WRAP))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkStencilOp.html VkStencilOp registry at www.khronos.org>-newtype VkStencilOp = VkStencilOp Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkStencilOp where- showsPrec _ VK_STENCIL_OP_KEEP = showString "VK_STENCIL_OP_KEEP"- showsPrec _ VK_STENCIL_OP_ZERO = showString "VK_STENCIL_OP_ZERO"- showsPrec _ VK_STENCIL_OP_REPLACE- = showString "VK_STENCIL_OP_REPLACE"- showsPrec _ VK_STENCIL_OP_INCREMENT_AND_CLAMP- = showString "VK_STENCIL_OP_INCREMENT_AND_CLAMP"- showsPrec _ VK_STENCIL_OP_DECREMENT_AND_CLAMP- = showString "VK_STENCIL_OP_DECREMENT_AND_CLAMP"- showsPrec _ VK_STENCIL_OP_INVERT- = showString "VK_STENCIL_OP_INVERT"- showsPrec _ VK_STENCIL_OP_INCREMENT_AND_WRAP- = showString "VK_STENCIL_OP_INCREMENT_AND_WRAP"- showsPrec _ VK_STENCIL_OP_DECREMENT_AND_WRAP- = showString "VK_STENCIL_OP_DECREMENT_AND_WRAP"- showsPrec p (VkStencilOp x)- = showParen (p >= 11) (showString "VkStencilOp " . showsPrec 11 x)--instance Read VkStencilOp where- readPrec- = parens- (choose- [("VK_STENCIL_OP_KEEP", pure VK_STENCIL_OP_KEEP),- ("VK_STENCIL_OP_ZERO", pure VK_STENCIL_OP_ZERO),- ("VK_STENCIL_OP_REPLACE", pure VK_STENCIL_OP_REPLACE),- ("VK_STENCIL_OP_INCREMENT_AND_CLAMP",- pure VK_STENCIL_OP_INCREMENT_AND_CLAMP),- ("VK_STENCIL_OP_DECREMENT_AND_CLAMP",- pure VK_STENCIL_OP_DECREMENT_AND_CLAMP),- ("VK_STENCIL_OP_INVERT", pure VK_STENCIL_OP_INVERT),- ("VK_STENCIL_OP_INCREMENT_AND_WRAP",- pure VK_STENCIL_OP_INCREMENT_AND_WRAP),- ("VK_STENCIL_OP_DECREMENT_AND_WRAP",- pure VK_STENCIL_OP_DECREMENT_AND_WRAP)]- +++- prec 10- (expectP (Ident "VkStencilOp") >> (VkStencilOp <$> step readPrec)))--pattern VK_STENCIL_OP_KEEP :: VkStencilOp--pattern VK_STENCIL_OP_KEEP = VkStencilOp 0--pattern VK_STENCIL_OP_ZERO :: VkStencilOp--pattern VK_STENCIL_OP_ZERO = VkStencilOp 1--pattern VK_STENCIL_OP_REPLACE :: VkStencilOp--pattern VK_STENCIL_OP_REPLACE = VkStencilOp 2--pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP :: VkStencilOp--pattern VK_STENCIL_OP_INCREMENT_AND_CLAMP = VkStencilOp 3--pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP :: VkStencilOp--pattern VK_STENCIL_OP_DECREMENT_AND_CLAMP = VkStencilOp 4--pattern VK_STENCIL_OP_INVERT :: VkStencilOp--pattern VK_STENCIL_OP_INVERT = VkStencilOp 5--pattern VK_STENCIL_OP_INCREMENT_AND_WRAP :: VkStencilOp--pattern VK_STENCIL_OP_INCREMENT_AND_WRAP = VkStencilOp 6--pattern VK_STENCIL_OP_DECREMENT_AND_WRAP :: VkStencilOp--pattern VK_STENCIL_OP_DECREMENT_AND_WRAP = VkStencilOp 7
@@ -1,559 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkStructureType- (VkStructureType(VkStructureType,- VK_STRUCTURE_TYPE_APPLICATION_INFO,- VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,- VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,- VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,- VK_STRUCTURE_TYPE_SUBMIT_INFO,- VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,- VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,- VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,- VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,- VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,- VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,- VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,- VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,- VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,- VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,- VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,- VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,- VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,- VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,- VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,- VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,- VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,- VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,- VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,- VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,- VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,- VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,- VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,- VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,- VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,- VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,- VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,- VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,- VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,- VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,- VK_STRUCTURE_TYPE_MEMORY_BARRIER,- VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,- VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | Structure type enumerant------ type = @enum@--------- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkStructureType.html VkStructureType registry at www.khronos.org>-newtype VkStructureType = VkStructureType Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkStructureType where- showsPrec _ VK_STRUCTURE_TYPE_APPLICATION_INFO- = showString "VK_STRUCTURE_TYPE_APPLICATION_INFO"- showsPrec _ VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_SUBMIT_INFO- = showString "VK_STRUCTURE_TYPE_SUBMIT_INFO"- showsPrec _ VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO- = showString "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE- = showString "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"- showsPrec _ VK_STRUCTURE_TYPE_BIND_SPARSE_INFO- = showString "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_FENCE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_EVENT_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"- showsPrec _- VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO- = showString- "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO- = showString "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET- = showString "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"- showsPrec _ VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET- = showString "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"- showsPrec _ VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO- = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO- = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO- = showString "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"- showsPrec _ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO- = showString "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"- showsPrec _ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER- = showString "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"- showsPrec _ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER- = showString "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"- showsPrec _ VK_STRUCTURE_TYPE_MEMORY_BARRIER- = showString "VK_STRUCTURE_TYPE_MEMORY_BARRIER"- showsPrec _ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"- showsPrec _ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO- = showString "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"- showsPrec p (VkStructureType x)- = showParen (p >= 11)- (showString "VkStructureType " . showsPrec 11 x)--instance Read VkStructureType where- readPrec- = parens- (choose- [("VK_STRUCTURE_TYPE_APPLICATION_INFO",- pure VK_STRUCTURE_TYPE_APPLICATION_INFO),- ("VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_SUBMIT_INFO",- pure VK_STRUCTURE_TYPE_SUBMIT_INFO),- ("VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO",- pure VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO),- ("VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE",- pure VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE),- ("VK_STRUCTURE_TYPE_BIND_SPARSE_INFO",- pure VK_STRUCTURE_TYPE_BIND_SPARSE_INFO),- ("VK_STRUCTURE_TYPE_FENCE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_FENCE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_EVENT_CREATE_INFO",- pure VK_STRUCTURE_TYPE_EVENT_CREATE_INFO),- ("VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO",- pure VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO),- ("VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO",- pure VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO),- ("VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO",- pure VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO),- ("VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO",- pure VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO),- ("VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO",- pure VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO),- ("VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO",- pure VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO),- ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO",- pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO),- ("VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO",- pure VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO),- ("VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO",- pure VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO),- ("VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET",- pure VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET),- ("VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET",- pure VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET),- ("VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO",- pure VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO),- ("VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO",- pure VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO),- ("VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO",- pure VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO),- ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO",- pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO),- ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO",- pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO),- ("VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO",- pure VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO),- ("VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO",- pure VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO),- ("VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",- pure VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER),- ("VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER",- pure VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER),- ("VK_STRUCTURE_TYPE_MEMORY_BARRIER",- pure VK_STRUCTURE_TYPE_MEMORY_BARRIER),- ("VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO),- ("VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO",- pure VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)]- +++- prec 10- (expectP (Ident "VkStructureType") >>- (VkStructureType <$> step readPrec)))--pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType 0--pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType 1--pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO =- VkStructureType 2--pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = VkStructureType 3--pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_SUBMIT_INFO = VkStructureType 4--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = VkStructureType 5--pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType--pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = VkStructureType 6--pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = VkStructureType 7--pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = VkStructureType 8--pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = VkStructureType 9--pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = VkStructureType 10--pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO =- VkStructureType 11--pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = VkStructureType 12--pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO =- VkStructureType 13--pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = VkStructureType 14--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO =- VkStructureType 15--pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO =- VkStructureType 16--pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO =- VkStructureType 17--pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO =- VkStructureType 18--pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO =- VkStructureType 19--pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO- = VkStructureType 20--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO =- VkStructureType 21--pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO =- VkStructureType 22--pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO- = VkStructureType 23--pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO =- VkStructureType 24--pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO- :: VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO- = VkStructureType 25--pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO =- VkStructureType 26--pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO =- VkStructureType 27--pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO =- VkStructureType 28--pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO =- VkStructureType 29--pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO =- VkStructureType 30--pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = VkStructureType 31--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO =- VkStructureType 32--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO =- VkStructureType 33--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO =- VkStructureType 34--pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType--pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = VkStructureType 35--pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType--pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = VkStructureType 36--pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO =- VkStructureType 37--pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO =- VkStructureType 38--pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO =- VkStructureType 39--pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO =- VkStructureType 40--pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO =- VkStructureType 41--pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO =- VkStructureType 42--pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType--pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO =- VkStructureType 43--pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType--pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER =- VkStructureType 44--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType--pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = VkStructureType 45--pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType--pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER = VkStructureType 46---- | Reserved for internal use by the loader, layers, and ICDs-pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO =- VkStructureType 47---- | Reserved for internal use by the loader, layers, and ICDs-pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO ::- VkStructureType--pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO =- VkStructureType 48
@@ -1,174 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSubgroupFeatureFlags- (VkSubgroupFeatureBitmask(VkSubgroupFeatureBitmask,- VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits,- VK_SUBGROUP_FEATURE_BASIC_BIT, VK_SUBGROUP_FEATURE_VOTE_BIT,- VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, VK_SUBGROUP_FEATURE_BALLOT_BIT,- VK_SUBGROUP_FEATURE_SHUFFLE_BIT,- VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT,- VK_SUBGROUP_FEATURE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_QUAD_BIT),- VkSubgroupFeatureFlags, VkSubgroupFeatureFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSubgroupFeatureBitmask (a ::- FlagType) = VkSubgroupFeatureBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask--type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit--pattern VkSubgroupFeatureFlagBits ::- VkFlags -> VkSubgroupFeatureBitmask FlagBit--pattern VkSubgroupFeatureFlagBits n = VkSubgroupFeatureBitmask n--pattern VkSubgroupFeatureFlags ::- VkFlags -> VkSubgroupFeatureBitmask FlagMask--pattern VkSubgroupFeatureFlags n = VkSubgroupFeatureBitmask n--deriving instance Bits (VkSubgroupFeatureBitmask FlagMask)--deriving instance FiniteBits (VkSubgroupFeatureBitmask FlagMask)--deriving instance Integral (VkSubgroupFeatureBitmask FlagMask)--deriving instance Num (VkSubgroupFeatureBitmask FlagMask)--deriving instance Bounded (VkSubgroupFeatureBitmask FlagMask)--deriving instance Enum (VkSubgroupFeatureBitmask FlagMask)--deriving instance Real (VkSubgroupFeatureBitmask FlagMask)--instance Show (VkSubgroupFeatureBitmask a) where- showsPrec _ VK_SUBGROUP_FEATURE_BASIC_BIT- = showString "VK_SUBGROUP_FEATURE_BASIC_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_VOTE_BIT- = showString "VK_SUBGROUP_FEATURE_VOTE_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_ARITHMETIC_BIT- = showString "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_BALLOT_BIT- = showString "VK_SUBGROUP_FEATURE_BALLOT_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_BIT- = showString "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT- = showString "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_CLUSTERED_BIT- = showString "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"- showsPrec _ VK_SUBGROUP_FEATURE_QUAD_BIT- = showString "VK_SUBGROUP_FEATURE_QUAD_BIT"- showsPrec p (VkSubgroupFeatureBitmask x)- = showParen (p >= 11)- (showString "VkSubgroupFeatureBitmask " . showsPrec 11 x)--instance Read (VkSubgroupFeatureBitmask a) where- readPrec- = parens- (choose- [("VK_SUBGROUP_FEATURE_BASIC_BIT",- pure VK_SUBGROUP_FEATURE_BASIC_BIT),- ("VK_SUBGROUP_FEATURE_VOTE_BIT",- pure VK_SUBGROUP_FEATURE_VOTE_BIT),- ("VK_SUBGROUP_FEATURE_ARITHMETIC_BIT",- pure VK_SUBGROUP_FEATURE_ARITHMETIC_BIT),- ("VK_SUBGROUP_FEATURE_BALLOT_BIT",- pure VK_SUBGROUP_FEATURE_BALLOT_BIT),- ("VK_SUBGROUP_FEATURE_SHUFFLE_BIT",- pure VK_SUBGROUP_FEATURE_SHUFFLE_BIT),- ("VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT",- pure VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT),- ("VK_SUBGROUP_FEATURE_CLUSTERED_BIT",- pure VK_SUBGROUP_FEATURE_CLUSTERED_BIT),- ("VK_SUBGROUP_FEATURE_QUAD_BIT",- pure VK_SUBGROUP_FEATURE_QUAD_BIT)]- +++- prec 10- (expectP (Ident "VkSubgroupFeatureBitmask") >>- (VkSubgroupFeatureBitmask <$> step readPrec)))---- | Basic subgroup operations------ bitpos = @0@-pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_BASIC_BIT = VkSubgroupFeatureBitmask 1---- | Vote subgroup operations------ bitpos = @1@-pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_VOTE_BIT = VkSubgroupFeatureBitmask 2---- | Arithmetic subgroup operations------ bitpos = @2@-pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT ::- VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT =- VkSubgroupFeatureBitmask 4---- | Ballot subgroup operations------ bitpos = @3@-pattern VK_SUBGROUP_FEATURE_BALLOT_BIT ::- VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_BALLOT_BIT = VkSubgroupFeatureBitmask 8---- | Shuffle subgroup operations------ bitpos = @4@-pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT ::- VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT =- VkSubgroupFeatureBitmask 16---- | Shuffle relative subgroup operations------ bitpos = @5@-pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT ::- VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT =- VkSubgroupFeatureBitmask 32---- | Clustered subgroup operations------ bitpos = @6@-pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT ::- VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT =- VkSubgroupFeatureBitmask 64---- | Quad subgroup operations------ bitpos = @7@-pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureBitmask a--pattern VK_SUBGROUP_FEATURE_QUAD_BIT = VkSubgroupFeatureBitmask 128
@@ -1,56 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSubpassContents- (VkSubpassContents(VkSubpassContents, VK_SUBPASS_CONTENTS_INLINE,- VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSubpassContents.html VkSubpassContents registry at www.khronos.org>-newtype VkSubpassContents = VkSubpassContents Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkSubpassContents where- showsPrec _ VK_SUBPASS_CONTENTS_INLINE- = showString "VK_SUBPASS_CONTENTS_INLINE"- showsPrec _ VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS- = showString "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"- showsPrec p (VkSubpassContents x)- = showParen (p >= 11)- (showString "VkSubpassContents " . showsPrec 11 x)--instance Read VkSubpassContents where- readPrec- = parens- (choose- [("VK_SUBPASS_CONTENTS_INLINE", pure VK_SUBPASS_CONTENTS_INLINE),- ("VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS",- pure VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS)]- +++- prec 10- (expectP (Ident "VkSubpassContents") >>- (VkSubpassContents <$> step readPrec)))--pattern VK_SUBPASS_CONTENTS_INLINE :: VkSubpassContents--pattern VK_SUBPASS_CONTENTS_INLINE = VkSubpassContents 0--pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS ::- VkSubpassContents--pattern VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS =- VkSubpassContents 1
@@ -1,74 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSubpassDescriptionFlags- (VkSubpassDescriptionBitmask(VkSubpassDescriptionBitmask,- VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits),- VkSubpassDescriptionFlags, VkSubpassDescriptionFlagBits)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSubpassDescriptionBitmask (a ::- FlagType) = VkSubpassDescriptionBitmask VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSubpassDescriptionFlags =- VkSubpassDescriptionBitmask FlagMask--type VkSubpassDescriptionFlagBits =- VkSubpassDescriptionBitmask FlagBit--pattern VkSubpassDescriptionFlagBits ::- VkFlags -> VkSubpassDescriptionBitmask FlagBit--pattern VkSubpassDescriptionFlagBits n =- VkSubpassDescriptionBitmask n--pattern VkSubpassDescriptionFlags ::- VkFlags -> VkSubpassDescriptionBitmask FlagMask--pattern VkSubpassDescriptionFlags n = VkSubpassDescriptionBitmask n--deriving instance Bits (VkSubpassDescriptionBitmask FlagMask)--deriving instance FiniteBits (VkSubpassDescriptionBitmask FlagMask)--deriving instance Integral (VkSubpassDescriptionBitmask FlagMask)--deriving instance Num (VkSubpassDescriptionBitmask FlagMask)--deriving instance Bounded (VkSubpassDescriptionBitmask FlagMask)--deriving instance Enum (VkSubpassDescriptionBitmask FlagMask)--deriving instance Real (VkSubpassDescriptionBitmask FlagMask)--instance Show (VkSubpassDescriptionBitmask a) where- showsPrec p (VkSubpassDescriptionBitmask x)- = showParen (p >= 11)- (showString "VkSubpassDescriptionBitmask " . showsPrec 11 x)--instance Read (VkSubpassDescriptionBitmask a) where- readPrec- = parens- (choose [] +++- prec 10- (expectP (Ident "VkSubpassDescriptionBitmask") >>- (VkSubpassDescriptionBitmask <$> step readPrec)))
@@ -1,86 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSurfaceCounterFlagsEXT- (VkSurfaceCounterBitmaskEXT(VkSurfaceCounterBitmaskEXT,- VkSurfaceCounterFlagsEXT, VkSurfaceCounterFlagBitsEXT,- VK_SURFACE_COUNTER_VBLANK_EXT),- VkSurfaceCounterFlagsEXT, VkSurfaceCounterFlagBitsEXT)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSurfaceCounterBitmaskEXT (a ::- FlagType) = VkSurfaceCounterBitmaskEXT VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask--type VkSurfaceCounterFlagBitsEXT =- VkSurfaceCounterBitmaskEXT FlagBit--pattern VkSurfaceCounterFlagBitsEXT ::- VkFlags -> VkSurfaceCounterBitmaskEXT FlagBit--pattern VkSurfaceCounterFlagBitsEXT n =- VkSurfaceCounterBitmaskEXT n--pattern VkSurfaceCounterFlagsEXT ::- VkFlags -> VkSurfaceCounterBitmaskEXT FlagMask--pattern VkSurfaceCounterFlagsEXT n = VkSurfaceCounterBitmaskEXT n--deriving instance Bits (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance FiniteBits (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Integral (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Num (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Bounded (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Enum (VkSurfaceCounterBitmaskEXT FlagMask)--deriving instance Real (VkSurfaceCounterBitmaskEXT FlagMask)--instance Show (VkSurfaceCounterBitmaskEXT a) where- showsPrec _ VK_SURFACE_COUNTER_VBLANK_EXT- = showString "VK_SURFACE_COUNTER_VBLANK_EXT"- showsPrec p (VkSurfaceCounterBitmaskEXT x)- = showParen (p >= 11)- (showString "VkSurfaceCounterBitmaskEXT " . showsPrec 11 x)--instance Read (VkSurfaceCounterBitmaskEXT a) where- readPrec- = parens- (choose- [("VK_SURFACE_COUNTER_VBLANK_EXT",- pure VK_SURFACE_COUNTER_VBLANK_EXT)]- +++- prec 10- (expectP (Ident "VkSurfaceCounterBitmaskEXT") >>- (VkSurfaceCounterBitmaskEXT <$> step readPrec)))---- | bitpos = @0@-pattern VK_SURFACE_COUNTER_VBLANK_EXT ::- VkSurfaceCounterBitmaskEXT a--pattern VK_SURFACE_COUNTER_VBLANK_EXT =- VkSurfaceCounterBitmaskEXT 1
@@ -1,191 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSurfaceTransformFlagsKHR- (VkSurfaceTransformBitmaskKHR(VkSurfaceTransformBitmaskKHR,- VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR,- VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR,- VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR,- VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR,- VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR,- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR,- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR,- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR,- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR,- VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR),- VkSurfaceTransformFlagsKHR, VkSurfaceTransformFlagBitsKHR)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSurfaceTransformBitmaskKHR (a ::- FlagType) = VkSurfaceTransformBitmaskKHR VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSurfaceTransformFlagsKHR =- VkSurfaceTransformBitmaskKHR FlagMask--type VkSurfaceTransformFlagBitsKHR =- VkSurfaceTransformBitmaskKHR FlagBit--pattern VkSurfaceTransformFlagBitsKHR ::- VkFlags -> VkSurfaceTransformBitmaskKHR FlagBit--pattern VkSurfaceTransformFlagBitsKHR n =- VkSurfaceTransformBitmaskKHR n--pattern VkSurfaceTransformFlagsKHR ::- VkFlags -> VkSurfaceTransformBitmaskKHR FlagMask--pattern VkSurfaceTransformFlagsKHR n =- VkSurfaceTransformBitmaskKHR n--deriving instance Bits (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance- FiniteBits (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Integral (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Num (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Bounded (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Enum (VkSurfaceTransformBitmaskKHR FlagMask)--deriving instance Real (VkSurfaceTransformBitmaskKHR FlagMask)--instance Show (VkSurfaceTransformBitmaskKHR a) where- showsPrec _ VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR- = showString "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"- showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR- = showString "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"- showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR- = showString "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"- showsPrec _ VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR- = showString "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"- showsPrec _ VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR- = showString "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"- showsPrec _- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR- = showString- "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"- showsPrec _- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR- = showString- "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"- showsPrec _- VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR- = showString- "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"- showsPrec _ VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR- = showString "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"- showsPrec p (VkSurfaceTransformBitmaskKHR x)- = showParen (p >= 11)- (showString "VkSurfaceTransformBitmaskKHR " . showsPrec 11 x)--instance Read (VkSurfaceTransformBitmaskKHR a) where- readPrec- = parens- (choose- [("VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR",- pure VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR),- ("VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR",- pure VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR),- ("VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR",- pure VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR),- ("VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR",- pure VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR),- ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR",- pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR),- ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR",- pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR),- ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR",- pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR),- ("VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR",- pure VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR),- ("VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR",- pure VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)]- +++- prec 10- (expectP (Ident "VkSurfaceTransformBitmaskKHR") >>- (VkSurfaceTransformBitmaskKHR <$> step readPrec)))---- | bitpos = @0@-pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR =- VkSurfaceTransformBitmaskKHR 1---- | bitpos = @1@-pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR =- VkSurfaceTransformBitmaskKHR 2---- | bitpos = @2@-pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR =- VkSurfaceTransformBitmaskKHR 4---- | bitpos = @3@-pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR =- VkSurfaceTransformBitmaskKHR 8---- | bitpos = @4@-pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR =- VkSurfaceTransformBitmaskKHR 16---- | bitpos = @5@-pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR =- VkSurfaceTransformBitmaskKHR 32---- | bitpos = @6@-pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR- :: VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR =- VkSurfaceTransformBitmaskKHR 64---- | bitpos = @7@-pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR- :: VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR =- VkSurfaceTransformBitmaskKHR 128---- | bitpos = @8@-pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR ::- VkSurfaceTransformBitmaskKHR a--pattern VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR =- VkSurfaceTransformBitmaskKHR 256
@@ -1,74 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeSynonymInstances #-}-module Graphics.Vulkan.Types.Enum.VkSwapchainCreateFlagsKHR- (VkSwapchainCreateBitmaskKHR(VkSwapchainCreateBitmaskKHR,- VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR),- VkSwapchainCreateFlagsKHR, VkSwapchainCreateFlagBitsKHR)- where-import Data.Bits (Bits, FiniteBits)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)-import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))--newtype VkSwapchainCreateBitmaskKHR (a ::- FlagType) = VkSwapchainCreateBitmaskKHR VkFlags- deriving (Eq, Ord, Storable, Data, Generic)--type VkSwapchainCreateFlagsKHR =- VkSwapchainCreateBitmaskKHR FlagMask--type VkSwapchainCreateFlagBitsKHR =- VkSwapchainCreateBitmaskKHR FlagBit--pattern VkSwapchainCreateFlagBitsKHR ::- VkFlags -> VkSwapchainCreateBitmaskKHR FlagBit--pattern VkSwapchainCreateFlagBitsKHR n =- VkSwapchainCreateBitmaskKHR n--pattern VkSwapchainCreateFlagsKHR ::- VkFlags -> VkSwapchainCreateBitmaskKHR FlagMask--pattern VkSwapchainCreateFlagsKHR n = VkSwapchainCreateBitmaskKHR n--deriving instance Bits (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance FiniteBits (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Integral (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Num (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Bounded (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Enum (VkSwapchainCreateBitmaskKHR FlagMask)--deriving instance Real (VkSwapchainCreateBitmaskKHR FlagMask)--instance Show (VkSwapchainCreateBitmaskKHR a) where- showsPrec p (VkSwapchainCreateBitmaskKHR x)- = showParen (p >= 11)- (showString "VkSwapchainCreateBitmaskKHR " . showsPrec 11 x)--instance Read (VkSwapchainCreateBitmaskKHR a) where- readPrec- = parens- (choose [] +++- prec 10- (expectP (Ident "VkSwapchainCreateBitmaskKHR") >>- (VkSwapchainCreateBitmaskKHR <$> step readPrec)))
@@ -1,92 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkSystemAllocationScope- (VkSystemAllocationScope(VkSystemAllocationScope,- VK_SYSTEM_ALLOCATION_SCOPE_COMMAND,- VK_SYSTEM_ALLOCATION_SCOPE_OBJECT,- VK_SYSTEM_ALLOCATION_SCOPE_CACHE,- VK_SYSTEM_ALLOCATION_SCOPE_DEVICE,- VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkSystemAllocationScope.html VkSystemAllocationScope registry at www.khronos.org>-newtype VkSystemAllocationScope = VkSystemAllocationScope Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkSystemAllocationScope where- showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_COMMAND- = showString "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"- showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT- = showString "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"- showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_CACHE- = showString "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"- showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_DEVICE- = showString "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"- showsPrec _ VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE- = showString "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"- showsPrec p (VkSystemAllocationScope x)- = showParen (p >= 11)- (showString "VkSystemAllocationScope " . showsPrec 11 x)--instance Read VkSystemAllocationScope where- readPrec- = parens- (choose- [("VK_SYSTEM_ALLOCATION_SCOPE_COMMAND",- pure VK_SYSTEM_ALLOCATION_SCOPE_COMMAND),- ("VK_SYSTEM_ALLOCATION_SCOPE_OBJECT",- pure VK_SYSTEM_ALLOCATION_SCOPE_OBJECT),- ("VK_SYSTEM_ALLOCATION_SCOPE_CACHE",- pure VK_SYSTEM_ALLOCATION_SCOPE_CACHE),- ("VK_SYSTEM_ALLOCATION_SCOPE_DEVICE",- pure VK_SYSTEM_ALLOCATION_SCOPE_DEVICE),- ("VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE",- pure VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE)]- +++- prec 10- (expectP (Ident "VkSystemAllocationScope") >>- (VkSystemAllocationScope <$> step readPrec)))--pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND ::- VkSystemAllocationScope--pattern VK_SYSTEM_ALLOCATION_SCOPE_COMMAND =- VkSystemAllocationScope 0--pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT ::- VkSystemAllocationScope--pattern VK_SYSTEM_ALLOCATION_SCOPE_OBJECT =- VkSystemAllocationScope 1--pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE :: VkSystemAllocationScope--pattern VK_SYSTEM_ALLOCATION_SCOPE_CACHE =- VkSystemAllocationScope 2--pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE ::- VkSystemAllocationScope--pattern VK_SYSTEM_ALLOCATION_SCOPE_DEVICE =- VkSystemAllocationScope 3--pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE ::- VkSystemAllocationScope--pattern VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE =- VkSystemAllocationScope 4
@@ -1,61 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkTessellationDomainOrigin- (VkTessellationDomainOrigin(VkTessellationDomainOrigin,- VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,- VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkTessellationDomainOrigin.html VkTessellationDomainOrigin registry at www.khronos.org>-newtype VkTessellationDomainOrigin = VkTessellationDomainOrigin Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkTessellationDomainOrigin where- showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT- = showString "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"- showsPrec _ VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT- = showString "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"- showsPrec p (VkTessellationDomainOrigin x)- = showParen (p >= 11)- (showString "VkTessellationDomainOrigin " . showsPrec 11 x)--instance Read VkTessellationDomainOrigin where- readPrec- = parens- (choose- [("VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT",- pure VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT),- ("VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT",- pure VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT)]- +++- prec 10- (expectP (Ident "VkTessellationDomainOrigin") >>- (VkTessellationDomainOrigin <$> step readPrec)))--pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ::- VkTessellationDomainOrigin--pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT =- VkTessellationDomainOrigin 0--pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT ::- VkTessellationDomainOrigin--pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT =- VkTessellationDomainOrigin 1
@@ -1,25 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkTessellationDomainOriginKHR- (VkTessellationDomainOriginKHR(..)) where-import Data.Bits (Bits, FiniteBits)-import Data.Coerce (coerce)-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import Graphics.Vulkan.Types.BaseTypes (VkFlags)--newtype VkTessellationDomainOriginKHR = VkTessellationDomainOriginKHR VkFlags- deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,- FiniteBits, Storable, Real, Data, Generic)--instance Show VkTessellationDomainOriginKHR where- {-# INLINE show #-}- show (VkTessellationDomainOriginKHR x) = show x--instance Read VkTessellationDomainOriginKHR where- {-# INLINE readsPrec #-}- readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
@@ -1,50 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkValidationCacheHeaderVersionEXT- (VkValidationCacheHeaderVersionEXT(VkValidationCacheHeaderVersionEXT,- VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkValidationCacheHeaderVersionEXT.html VkValidationCacheHeaderVersionEXT registry at www.khronos.org>-newtype VkValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkValidationCacheHeaderVersionEXT where- showsPrec _ VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT- = showString "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"- showsPrec p (VkValidationCacheHeaderVersionEXT x)- = showParen (p >= 11)- (showString "VkValidationCacheHeaderVersionEXT " . showsPrec 11 x)--instance Read VkValidationCacheHeaderVersionEXT where- readPrec- = parens- (choose- [("VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT",- pure VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT)]- +++- prec 10- (expectP (Ident "VkValidationCacheHeaderVersionEXT") >>- (VkValidationCacheHeaderVersionEXT <$> step readPrec)))--pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT ::- VkValidationCacheHeaderVersionEXT--pattern VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT =- VkValidationCacheHeaderVersionEXT 1
@@ -1,54 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkValidationCheckEXT- (VkValidationCheckEXT(VkValidationCheckEXT,- VK_VALIDATION_CHECK_ALL_EXT, VK_VALIDATION_CHECK_SHADERS_EXT))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkValidationCheckEXT.html VkValidationCheckEXT registry at www.khronos.org>-newtype VkValidationCheckEXT = VkValidationCheckEXT Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkValidationCheckEXT where- showsPrec _ VK_VALIDATION_CHECK_ALL_EXT- = showString "VK_VALIDATION_CHECK_ALL_EXT"- showsPrec _ VK_VALIDATION_CHECK_SHADERS_EXT- = showString "VK_VALIDATION_CHECK_SHADERS_EXT"- showsPrec p (VkValidationCheckEXT x)- = showParen (p >= 11)- (showString "VkValidationCheckEXT " . showsPrec 11 x)--instance Read VkValidationCheckEXT where- readPrec- = parens- (choose- [("VK_VALIDATION_CHECK_ALL_EXT", pure VK_VALIDATION_CHECK_ALL_EXT),- ("VK_VALIDATION_CHECK_SHADERS_EXT",- pure VK_VALIDATION_CHECK_SHADERS_EXT)]- +++- prec 10- (expectP (Ident "VkValidationCheckEXT") >>- (VkValidationCheckEXT <$> step readPrec)))--pattern VK_VALIDATION_CHECK_ALL_EXT :: VkValidationCheckEXT--pattern VK_VALIDATION_CHECK_ALL_EXT = VkValidationCheckEXT 0--pattern VK_VALIDATION_CHECK_SHADERS_EXT :: VkValidationCheckEXT--pattern VK_VALIDATION_CHECK_SHADERS_EXT = VkValidationCheckEXT 1
@@ -1,54 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkVertexInputRate- (VkVertexInputRate(VkVertexInputRate, VK_VERTEX_INPUT_RATE_VERTEX,- VK_VERTEX_INPUT_RATE_INSTANCE))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkVertexInputRate.html VkVertexInputRate registry at www.khronos.org>-newtype VkVertexInputRate = VkVertexInputRate Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)--instance Show VkVertexInputRate where- showsPrec _ VK_VERTEX_INPUT_RATE_VERTEX- = showString "VK_VERTEX_INPUT_RATE_VERTEX"- showsPrec _ VK_VERTEX_INPUT_RATE_INSTANCE- = showString "VK_VERTEX_INPUT_RATE_INSTANCE"- showsPrec p (VkVertexInputRate x)- = showParen (p >= 11)- (showString "VkVertexInputRate " . showsPrec 11 x)--instance Read VkVertexInputRate where- readPrec- = parens- (choose- [("VK_VERTEX_INPUT_RATE_VERTEX", pure VK_VERTEX_INPUT_RATE_VERTEX),- ("VK_VERTEX_INPUT_RATE_INSTANCE",- pure VK_VERTEX_INPUT_RATE_INSTANCE)]- +++- prec 10- (expectP (Ident "VkVertexInputRate") >>- (VkVertexInputRate <$> step readPrec)))--pattern VK_VERTEX_INPUT_RATE_VERTEX :: VkVertexInputRate--pattern VK_VERTEX_INPUT_RATE_VERTEX = VkVertexInputRate 0--pattern VK_VERTEX_INPUT_RATE_INSTANCE :: VkVertexInputRate--pattern VK_VERTEX_INPUT_RATE_INSTANCE = VkVertexInputRate 1
@@ -1,127 +0,0 @@-{-# OPTIONS_HADDOCK ignore-exports#-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE PatternSynonyms #-}-{-# LANGUAGE Strict #-}-module Graphics.Vulkan.Types.Enum.VkViewportCoordinateSwizzleNV- (VkViewportCoordinateSwizzleNV(VkViewportCoordinateSwizzleNV,- VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV,- VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV))- where-import Data.Data (Data)-import Foreign.Storable (Storable)-import GHC.Generics (Generic)-import GHC.Read (choose, expectP)-import Graphics.Vulkan.Marshal (Int32)-import Text.ParserCombinators.ReadPrec (prec, step, (+++))-import Text.Read (Read (..), parens)-import Text.Read.Lex (Lexeme (..))---- | type = @enum@------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkViewportCoordinateSwizzleNV.html VkViewportCoordinateSwizzleNV registry at www.khronos.org>-newtype VkViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV Int32- deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data,- Generic)--instance Show VkViewportCoordinateSwizzleNV where- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"- showsPrec _ VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV- = showString "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"- showsPrec p (VkViewportCoordinateSwizzleNV x)- = showParen (p >= 11)- (showString "VkViewportCoordinateSwizzleNV " . showsPrec 11 x)--instance Read VkViewportCoordinateSwizzleNV where- readPrec- = parens- (choose- [("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV),- ("VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV",- pure VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV)]- +++- prec 10- (expectP (Ident "VkViewportCoordinateSwizzleNV") >>- (VkViewportCoordinateSwizzleNV <$> step readPrec)))--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV =- VkViewportCoordinateSwizzleNV 0--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV =- VkViewportCoordinateSwizzleNV 1--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV =- VkViewportCoordinateSwizzleNV 2--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV =- VkViewportCoordinateSwizzleNV 3--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV =- VkViewportCoordinateSwizzleNV 4--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV =- VkViewportCoordinateSwizzleNV 5--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV =- VkViewportCoordinateSwizzleNV 6--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV ::- VkViewportCoordinateSwizzleNV--pattern VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV =- VkViewportCoordinateSwizzleNV 7
@@ -22,26 +22,18 @@ unwrapVkVoidFunction) where import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Types.BaseTypes- (VkBool32 (..),- VkFlags (..))-import Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT- (VkDebugReportBitmaskEXT (..),- VkDebugReportFlagsEXT)-import Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT- (VkDebugReportObjectTypeEXT (..))-import Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT- (VkDebugUtilsMessageSeverityBitmaskEXT (..),- VkDebugUtilsMessageSeverityFlagBitsEXT)-import Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT- (VkDebugUtilsMessageTypeBitmaskEXT (..),- VkDebugUtilsMessageTypeFlagsEXT)-import Graphics.Vulkan.Types.Enum.VkInternalAllocationType- (VkInternalAllocationType (..))-import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope- (VkSystemAllocationScope (..))-import Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT- (VkDebugUtilsMessengerCallbackDataEXT (..))+import Graphics.Vulkan.Types.BaseTypes (VkBool32 (..),+ VkFlags (..))+import Graphics.Vulkan.Types.Enum.Debug (VkDebugReportBitmaskEXT (..),+ VkDebugReportFlagsEXT,+ VkDebugReportObjectTypeEXT (..),+ VkDebugUtilsMessageSeverityBitmaskEXT (..),+ VkDebugUtilsMessageSeverityFlagBitsEXT,+ VkDebugUtilsMessageTypeBitmaskEXT (..),+ VkDebugUtilsMessageTypeFlagsEXT)+import Graphics.Vulkan.Types.Enum.InternalAllocationType (VkInternalAllocationType (..))+import Graphics.Vulkan.Types.Enum.SystemAllocationScope (VkSystemAllocationScope (..))+import Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT (VkDebugUtilsMessengerCallbackDataEXT (..)) type HS_vkAllocationFunction = Ptr Void ->
@@ -0,0 +1,332 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR+ (VkAcquireNextImageInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkFence, VkSemaphore,+ VkSwapchainKHR)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkAcquireNextImageInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSwapchainKHR swapchain;+-- > uint64_t timeout;+-- > VkSemaphore semaphore;+-- > VkFence fence;+-- > uint32_t deviceMask;+-- > } VkAcquireNextImageInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAcquireNextImageInfoKHR VkAcquireNextImageInfoKHR registry at www.khronos.org>+data VkAcquireNextImageInfoKHR = VkAcquireNextImageInfoKHR## Addr##+ ByteArray##++instance Eq VkAcquireNextImageInfoKHR where+ (VkAcquireNextImageInfoKHR## a _) ==+ x@(VkAcquireNextImageInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAcquireNextImageInfoKHR where+ (VkAcquireNextImageInfoKHR## a _) `compare`+ x@(VkAcquireNextImageInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAcquireNextImageInfoKHR where+ sizeOf ~_ = #{size VkAcquireNextImageInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkAcquireNextImageInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAcquireNextImageInfoKHR where+ unsafeAddr (VkAcquireNextImageInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAcquireNextImageInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAcquireNextImageInfoKHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAcquireNextImageInfoKHR where+ type StructFields VkAcquireNextImageInfoKHR =+ '["sType", "pNext", "swapchain", "timeout", "semaphore", "fence", -- ' closing tick for hsc2hs+ "deviceMask"]+ type CUnionType VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkAcquireNextImageInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkAcquireNextImageInfoKHR where+ type FieldType "sType" VkAcquireNextImageInfoKHR = VkStructureType+ type FieldOptional "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, sType}+ type FieldIsArray "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkAcquireNextImageInfoKHR where+ type FieldType "pNext" VkAcquireNextImageInfoKHR = Ptr Void+ type FieldOptional "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, pNext}+ type FieldIsArray "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "swapchain" VkAcquireNextImageInfoKHR where+ type FieldType "swapchain" VkAcquireNextImageInfoKHR =+ VkSwapchainKHR+ type FieldOptional "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "swapchain" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, swapchain}+ type FieldIsArray "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ CanReadField "swapchain" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, swapchain})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchain" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ HasField "timeout" VkAcquireNextImageInfoKHR where+ type FieldType "timeout" VkAcquireNextImageInfoKHR = Word64+ type FieldOptional "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "timeout" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, timeout}+ type FieldIsArray "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, timeout}++instance {-# OVERLAPPING #-}+ CanReadField "timeout" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, timeout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}++instance {-# OVERLAPPING #-}+ CanWriteField "timeout" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}++instance {-# OVERLAPPING #-}+ HasField "semaphore" VkAcquireNextImageInfoKHR where+ type FieldType "semaphore" VkAcquireNextImageInfoKHR = VkSemaphore+ type FieldOptional "semaphore" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "semaphore" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, semaphore}+ type FieldIsArray "semaphore" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanReadField "semaphore" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, semaphore})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanWriteField "semaphore" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ HasField "fence" VkAcquireNextImageInfoKHR where+ type FieldType "fence" VkAcquireNextImageInfoKHR = VkFence+ type FieldOptional "fence" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "fence" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, fence}+ type FieldIsArray "fence" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanReadField "fence" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, fence})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanWriteField "fence" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, fence}++instance {-# OVERLAPPING #-}+ HasField "deviceMask" VkAcquireNextImageInfoKHR where+ type FieldType "deviceMask" VkAcquireNextImageInfoKHR = Word32+ type FieldOptional "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceMask" VkAcquireNextImageInfoKHR =+ #{offset VkAcquireNextImageInfoKHR, deviceMask}+ type FieldIsArray "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAcquireNextImageInfoKHR, deviceMask}++instance {-# OVERLAPPING #-}+ CanReadField "deviceMask" VkAcquireNextImageInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, deviceMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceMask" VkAcquireNextImageInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}++instance Show VkAcquireNextImageInfoKHR where+ showsPrec d x+ = showString "VkAcquireNextImageInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "swapchain = " .+ showsPrec d (getField @"swapchain" x) .+ showString ", " .+ showString "timeout = " .+ showsPrec d (getField @"timeout" x) .+ showString ", " .+ showString "semaphore = " .+ showsPrec d (getField @"semaphore" x) .+ showString ", " .+ showString "fence = " .+ showsPrec d (getField @"fence" x) .+ showString ", " .+ showString "deviceMask = " .+ showsPrec d (getField @"deviceMask" x) .+ showChar '}'
@@ -0,0 +1,301 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.AllocationCallbacks+ (VkAllocationCallbacks(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Funcpointers (PFN_vkAllocationFunction,+ PFN_vkFreeFunction,+ PFN_vkInternalAllocationNotification,+ PFN_vkInternalFreeNotification,+ PFN_vkReallocationFunction)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkAllocationCallbacks {+-- > void* pUserData;+-- > PFN_vkAllocationFunction pfnAllocation;+-- > PFN_vkReallocationFunction pfnReallocation;+-- > PFN_vkFreeFunction pfnFree;+-- > PFN_vkInternalAllocationNotification pfnInternalAllocation;+-- > PFN_vkInternalFreeNotification pfnInternalFree;+-- > } VkAllocationCallbacks;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAllocationCallbacks VkAllocationCallbacks registry at www.khronos.org>+data VkAllocationCallbacks = VkAllocationCallbacks## Addr##+ ByteArray##++instance Eq VkAllocationCallbacks where+ (VkAllocationCallbacks## a _) == x@(VkAllocationCallbacks## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAllocationCallbacks where+ (VkAllocationCallbacks## a _) `compare`+ x@(VkAllocationCallbacks## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAllocationCallbacks where+ sizeOf ~_ = #{size VkAllocationCallbacks}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkAllocationCallbacks}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAllocationCallbacks where+ unsafeAddr (VkAllocationCallbacks## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAllocationCallbacks## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAllocationCallbacks## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAllocationCallbacks where+ type StructFields VkAllocationCallbacks =+ '["pUserData", "pfnAllocation", "pfnReallocation", "pfnFree", -- ' closing tick for hsc2hs+ "pfnInternalAllocation", "pfnInternalFree"]+ type CUnionType VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+ type StructExtends VkAllocationCallbacks = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "pUserData" VkAllocationCallbacks where+ type FieldType "pUserData" VkAllocationCallbacks = Ptr Void+ type FieldOptional "pUserData" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pUserData" VkAllocationCallbacks =+ #{offset VkAllocationCallbacks, pUserData}+ type FieldIsArray "pUserData" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAllocationCallbacks, pUserData}++instance {-# OVERLAPPING #-}+ CanReadField "pUserData" VkAllocationCallbacks where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pUserData})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAllocationCallbacks, pUserData}++instance {-# OVERLAPPING #-}+ CanWriteField "pUserData" VkAllocationCallbacks where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAllocationCallbacks, pUserData}++instance {-# OVERLAPPING #-}+ HasField "pfnAllocation" VkAllocationCallbacks where+ type FieldType "pfnAllocation" VkAllocationCallbacks =+ PFN_vkAllocationFunction+ type FieldOptional "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pfnAllocation" VkAllocationCallbacks =+ #{offset VkAllocationCallbacks, pfnAllocation}+ type FieldIsArray "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAllocationCallbacks, pfnAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "pfnAllocation" VkAllocationCallbacks where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAllocationCallbacks, pfnAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnAllocation" VkAllocationCallbacks where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAllocationCallbacks, pfnAllocation}++instance {-# OVERLAPPING #-}+ HasField "pfnReallocation" VkAllocationCallbacks where+ type FieldType "pfnReallocation" VkAllocationCallbacks =+ PFN_vkReallocationFunction+ type FieldOptional "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pfnReallocation" VkAllocationCallbacks =+ #{offset VkAllocationCallbacks, pfnReallocation}+ type FieldIsArray "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAllocationCallbacks, pfnReallocation}++instance {-# OVERLAPPING #-}+ CanReadField "pfnReallocation" VkAllocationCallbacks where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnReallocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAllocationCallbacks, pfnReallocation}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnReallocation" VkAllocationCallbacks where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAllocationCallbacks, pfnReallocation}++instance {-# OVERLAPPING #-}+ HasField "pfnFree" VkAllocationCallbacks where+ type FieldType "pfnFree" VkAllocationCallbacks = PFN_vkFreeFunction+ type FieldOptional "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pfnFree" VkAllocationCallbacks =+ #{offset VkAllocationCallbacks, pfnFree}+ type FieldIsArray "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkAllocationCallbacks, pfnFree}++instance {-# OVERLAPPING #-}+ CanReadField "pfnFree" VkAllocationCallbacks where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnFree})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAllocationCallbacks, pfnFree}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnFree" VkAllocationCallbacks where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAllocationCallbacks, pfnFree}++instance {-# OVERLAPPING #-}+ HasField "pfnInternalAllocation" VkAllocationCallbacks where+ type FieldType "pfnInternalAllocation" VkAllocationCallbacks =+ PFN_vkInternalAllocationNotification+ type FieldOptional "pfnInternalAllocation" VkAllocationCallbacks =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pfnInternalAllocation" VkAllocationCallbacks =+ #{offset VkAllocationCallbacks, pfnInternalAllocation}+ type FieldIsArray "pfnInternalAllocation" VkAllocationCallbacks =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAllocationCallbacks, pfnInternalAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "pfnInternalAllocation" VkAllocationCallbacks where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnInternalAllocation" VkAllocationCallbacks where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}++instance {-# OVERLAPPING #-}+ HasField "pfnInternalFree" VkAllocationCallbacks where+ type FieldType "pfnInternalFree" VkAllocationCallbacks =+ PFN_vkInternalFreeNotification+ type FieldOptional "pfnInternalFree" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pfnInternalFree" VkAllocationCallbacks =+ #{offset VkAllocationCallbacks, pfnInternalFree}+ type FieldIsArray "pfnInternalFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAllocationCallbacks, pfnInternalFree}++instance {-# OVERLAPPING #-}+ CanReadField "pfnInternalFree" VkAllocationCallbacks where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalFree})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnInternalFree" VkAllocationCallbacks where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}++instance Show VkAllocationCallbacks where+ showsPrec d x+ = showString "VkAllocationCallbacks {" .+ showString "pUserData = " .+ showsPrec d (getField @"pUserData" x) .+ showString ", " .+ showString "pfnAllocation = " .+ showsPrec d (getField @"pfnAllocation" x) .+ showString ", " .+ showString "pfnReallocation = " .+ showsPrec d (getField @"pfnReallocation" x) .+ showString ", " .+ showString "pfnFree = " .+ showsPrec d (getField @"pfnFree" x) .+ showString ", " .+ showString "pfnInternalAllocation = " .+ showsPrec d (getField @"pfnInternalAllocation" x) .+ showString ", " .+ showString "pfnInternalFree = " .+ showsPrec d (getField @"pfnInternalFree" x) .+ showChar '}'
@@ -0,0 +1,323 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.ApplicationInfo+ (VkApplicationInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkApplicationInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const char* pApplicationName;+-- > uint32_t applicationVersion;+-- > const char* pEngineName;+-- > uint32_t engineVersion;+-- > uint32_t apiVersion;+-- > } VkApplicationInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkApplicationInfo VkApplicationInfo registry at www.khronos.org>+data VkApplicationInfo = VkApplicationInfo## Addr## ByteArray##++instance Eq VkApplicationInfo where+ (VkApplicationInfo## a _) == x@(VkApplicationInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkApplicationInfo where+ (VkApplicationInfo## a _) `compare` x@(VkApplicationInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkApplicationInfo where+ sizeOf ~_ = #{size VkApplicationInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkApplicationInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkApplicationInfo where+ unsafeAddr (VkApplicationInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkApplicationInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkApplicationInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkApplicationInfo where+ type StructFields VkApplicationInfo =+ '["sType", "pNext", "pApplicationName", "applicationVersion", -- ' closing tick for hsc2hs+ "pEngineName", "engineVersion", "apiVersion"]+ type CUnionType VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkApplicationInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkApplicationInfo+ where+ type FieldType "sType" VkApplicationInfo = VkStructureType+ type FieldOptional "sType" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkApplicationInfo =+ #{offset VkApplicationInfo, sType}+ type FieldIsArray "sType" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkApplicationInfo, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkApplicationInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkApplicationInfo+ where+ type FieldType "pNext" VkApplicationInfo = Ptr Void+ type FieldOptional "pNext" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkApplicationInfo =+ #{offset VkApplicationInfo, pNext}+ type FieldIsArray "pNext" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkApplicationInfo, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkApplicationInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "pApplicationName" VkApplicationInfo where+ type FieldType "pApplicationName" VkApplicationInfo = CString+ type FieldOptional "pApplicationName" VkApplicationInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pApplicationName" VkApplicationInfo =+ #{offset VkApplicationInfo, pApplicationName}+ type FieldIsArray "pApplicationName" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkApplicationInfo, pApplicationName}++instance {-# OVERLAPPING #-}+ CanReadField "pApplicationName" VkApplicationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pApplicationName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, pApplicationName}++instance {-# OVERLAPPING #-}+ CanWriteField "pApplicationName" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, pApplicationName}++instance {-# OVERLAPPING #-}+ HasField "applicationVersion" VkApplicationInfo where+ type FieldType "applicationVersion" VkApplicationInfo = Word32+ type FieldOptional "applicationVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "applicationVersion" VkApplicationInfo =+ #{offset VkApplicationInfo, applicationVersion}+ type FieldIsArray "applicationVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkApplicationInfo, applicationVersion}++instance {-# OVERLAPPING #-}+ CanReadField "applicationVersion" VkApplicationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, applicationVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, applicationVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "applicationVersion" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, applicationVersion}++instance {-# OVERLAPPING #-}+ HasField "pEngineName" VkApplicationInfo where+ type FieldType "pEngineName" VkApplicationInfo = CString+ type FieldOptional "pEngineName" VkApplicationInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pEngineName" VkApplicationInfo =+ #{offset VkApplicationInfo, pEngineName}+ type FieldIsArray "pEngineName" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkApplicationInfo, pEngineName}++instance {-# OVERLAPPING #-}+ CanReadField "pEngineName" VkApplicationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, pEngineName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, pEngineName}++instance {-# OVERLAPPING #-}+ CanWriteField "pEngineName" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, pEngineName}++instance {-# OVERLAPPING #-}+ HasField "engineVersion" VkApplicationInfo where+ type FieldType "engineVersion" VkApplicationInfo = Word32+ type FieldOptional "engineVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "engineVersion" VkApplicationInfo =+ #{offset VkApplicationInfo, engineVersion}+ type FieldIsArray "engineVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkApplicationInfo, engineVersion}++instance {-# OVERLAPPING #-}+ CanReadField "engineVersion" VkApplicationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, engineVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, engineVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "engineVersion" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, engineVersion}++instance {-# OVERLAPPING #-}+ HasField "apiVersion" VkApplicationInfo where+ type FieldType "apiVersion" VkApplicationInfo = Word32+ type FieldOptional "apiVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "apiVersion" VkApplicationInfo =+ #{offset VkApplicationInfo, apiVersion}+ type FieldIsArray "apiVersion" VkApplicationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkApplicationInfo, apiVersion}++instance {-# OVERLAPPING #-}+ CanReadField "apiVersion" VkApplicationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkApplicationInfo, apiVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkApplicationInfo, apiVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "apiVersion" VkApplicationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkApplicationInfo, apiVersion}++instance Show VkApplicationInfo where+ showsPrec d x+ = showString "VkApplicationInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pApplicationName = " .+ showsPrec d (getField @"pApplicationName" x) .+ showString ", " .+ showString "applicationVersion = " .+ showsPrec d (getField @"applicationVersion" x) .+ showString ", " .+ showString "pEngineName = " .+ showsPrec d (getField @"pEngineName" x) .+ showString ", " .+ showString "engineVersion = " .+ showsPrec d (getField @"engineVersion" x) .+ showString ", " .+ showString "apiVersion = " .+ showsPrec d (getField @"apiVersion" x) .+ showChar '}'
@@ -0,0 +1,685 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Attachment+ (VkAttachmentDescription(..), VkAttachmentReference(..),+ VkAttachmentSampleLocationsEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Attachment (VkAttachmentDescriptionFlags,+ VkAttachmentLoadOp,+ VkAttachmentStoreOp)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.Image (VkImageLayout)+import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits)+import Graphics.Vulkan.Types.Struct.SampleLocation (VkSampleLocationsInfoEXT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkAttachmentDescription {+-- > VkAttachmentDescriptionFlags flags;+-- > VkFormat format;+-- > VkSampleCountFlagBits samples;+-- > VkAttachmentLoadOp loadOp;+-- > VkAttachmentStoreOp storeOp;+-- > VkAttachmentLoadOp stencilLoadOp;+-- > VkAttachmentStoreOp stencilStoreOp;+-- > VkImageLayout initialLayout;+-- > VkImageLayout finalLayout;+-- > } VkAttachmentDescription;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentDescription VkAttachmentDescription registry at www.khronos.org>+data VkAttachmentDescription = VkAttachmentDescription## Addr##+ ByteArray##++instance Eq VkAttachmentDescription where+ (VkAttachmentDescription## a _) == x@(VkAttachmentDescription## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAttachmentDescription where+ (VkAttachmentDescription## a _) `compare`+ x@(VkAttachmentDescription## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAttachmentDescription where+ sizeOf ~_ = #{size VkAttachmentDescription}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkAttachmentDescription}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAttachmentDescription where+ unsafeAddr (VkAttachmentDescription## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAttachmentDescription## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAttachmentDescription## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAttachmentDescription where+ type StructFields VkAttachmentDescription =+ '["flags", "format", "samples", "loadOp", "storeOp", -- ' closing tick for hsc2hs+ "stencilLoadOp", "stencilStoreOp", "initialLayout", "finalLayout"]+ type CUnionType VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type StructExtends VkAttachmentDescription = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "flags" VkAttachmentDescription where+ type FieldType "flags" VkAttachmentDescription =+ VkAttachmentDescriptionFlags+ type FieldOptional "flags" VkAttachmentDescription = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkAttachmentDescription =+ #{offset VkAttachmentDescription, flags}+ type FieldIsArray "flags" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkAttachmentDescription, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, flags}++instance {-# OVERLAPPING #-}+ HasField "format" VkAttachmentDescription where+ type FieldType "format" VkAttachmentDescription = VkFormat+ type FieldOptional "format" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkAttachmentDescription =+ #{offset VkAttachmentDescription, format}+ type FieldIsArray "format" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkAttachmentDescription, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, format}++instance {-# OVERLAPPING #-}+ HasField "samples" VkAttachmentDescription where+ type FieldType "samples" VkAttachmentDescription =+ VkSampleCountFlagBits+ type FieldOptional "samples" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "samples" VkAttachmentDescription =+ #{offset VkAttachmentDescription, samples}+ type FieldIsArray "samples" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentDescription, samples}++instance {-# OVERLAPPING #-}+ CanReadField "samples" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, samples}++instance {-# OVERLAPPING #-}+ CanWriteField "samples" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, samples}++instance {-# OVERLAPPING #-}+ HasField "loadOp" VkAttachmentDescription where+ type FieldType "loadOp" VkAttachmentDescription =+ VkAttachmentLoadOp+ type FieldOptional "loadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "loadOp" VkAttachmentDescription =+ #{offset VkAttachmentDescription, loadOp}+ type FieldIsArray "loadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkAttachmentDescription, loadOp}++instance {-# OVERLAPPING #-}+ CanReadField "loadOp" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, loadOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, loadOp}++instance {-# OVERLAPPING #-}+ CanWriteField "loadOp" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, loadOp}++instance {-# OVERLAPPING #-}+ HasField "storeOp" VkAttachmentDescription where+ type FieldType "storeOp" VkAttachmentDescription =+ VkAttachmentStoreOp+ type FieldOptional "storeOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "storeOp" VkAttachmentDescription =+ #{offset VkAttachmentDescription, storeOp}+ type FieldIsArray "storeOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentDescription, storeOp}++instance {-# OVERLAPPING #-}+ CanReadField "storeOp" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, storeOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, storeOp}++instance {-# OVERLAPPING #-}+ CanWriteField "storeOp" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, storeOp}++instance {-# OVERLAPPING #-}+ HasField "stencilLoadOp" VkAttachmentDescription where+ type FieldType "stencilLoadOp" VkAttachmentDescription =+ VkAttachmentLoadOp+ type FieldOptional "stencilLoadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "stencilLoadOp" VkAttachmentDescription =+ #{offset VkAttachmentDescription, stencilLoadOp}+ type FieldIsArray "stencilLoadOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentDescription, stencilLoadOp}++instance {-# OVERLAPPING #-}+ CanReadField "stencilLoadOp" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilLoadOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, stencilLoadOp}++instance {-# OVERLAPPING #-}+ CanWriteField "stencilLoadOp" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, stencilLoadOp}++instance {-# OVERLAPPING #-}+ HasField "stencilStoreOp" VkAttachmentDescription where+ type FieldType "stencilStoreOp" VkAttachmentDescription =+ VkAttachmentStoreOp+ type FieldOptional "stencilStoreOp" VkAttachmentDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "stencilStoreOp" VkAttachmentDescription =+ #{offset VkAttachmentDescription, stencilStoreOp}+ type FieldIsArray "stencilStoreOp" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentDescription, stencilStoreOp}++instance {-# OVERLAPPING #-}+ CanReadField "stencilStoreOp" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, stencilStoreOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, stencilStoreOp}++instance {-# OVERLAPPING #-}+ CanWriteField "stencilStoreOp" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, stencilStoreOp}++instance {-# OVERLAPPING #-}+ HasField "initialLayout" VkAttachmentDescription where+ type FieldType "initialLayout" VkAttachmentDescription =+ VkImageLayout+ type FieldOptional "initialLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "initialLayout" VkAttachmentDescription =+ #{offset VkAttachmentDescription, initialLayout}+ type FieldIsArray "initialLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentDescription, initialLayout}++instance {-# OVERLAPPING #-}+ CanReadField "initialLayout" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, initialLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, initialLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "initialLayout" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, initialLayout}++instance {-# OVERLAPPING #-}+ HasField "finalLayout" VkAttachmentDescription where+ type FieldType "finalLayout" VkAttachmentDescription =+ VkImageLayout+ type FieldOptional "finalLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs+ type FieldOffset "finalLayout" VkAttachmentDescription =+ #{offset VkAttachmentDescription, finalLayout}+ type FieldIsArray "finalLayout" VkAttachmentDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentDescription, finalLayout}++instance {-# OVERLAPPING #-}+ CanReadField "finalLayout" VkAttachmentDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentDescription, finalLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentDescription, finalLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "finalLayout" VkAttachmentDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentDescription, finalLayout}++instance Show VkAttachmentDescription where+ showsPrec d x+ = showString "VkAttachmentDescription {" .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "samples = " .+ showsPrec d (getField @"samples" x) .+ showString ", " .+ showString "loadOp = " .+ showsPrec d (getField @"loadOp" x) .+ showString ", " .+ showString "storeOp = " .+ showsPrec d (getField @"storeOp" x) .+ showString ", " .+ showString "stencilLoadOp = " .+ showsPrec d (getField @"stencilLoadOp" x) .+ showString ", " .+ showString "stencilStoreOp = " .+ showsPrec d (getField @"stencilStoreOp" x) .+ showString ", " .+ showString "initialLayout = " .+ showsPrec d (getField @"initialLayout" x)+ .+ showString ", " .+ showString "finalLayout = " .+ showsPrec d+ (getField @"finalLayout" x)+ . showChar '}'++-- | > typedef struct VkAttachmentReference {+-- > uint32_t attachment;+-- > VkImageLayout layout;+-- > } VkAttachmentReference;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentReference VkAttachmentReference registry at www.khronos.org>+data VkAttachmentReference = VkAttachmentReference## Addr##+ ByteArray##++instance Eq VkAttachmentReference where+ (VkAttachmentReference## a _) == x@(VkAttachmentReference## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAttachmentReference where+ (VkAttachmentReference## a _) `compare`+ x@(VkAttachmentReference## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAttachmentReference where+ sizeOf ~_ = #{size VkAttachmentReference}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkAttachmentReference}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAttachmentReference where+ unsafeAddr (VkAttachmentReference## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAttachmentReference## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAttachmentReference## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAttachmentReference where+ type StructFields VkAttachmentReference = '["attachment", "layout"] -- ' closing tick for hsc2hs+ type CUnionType VkAttachmentReference = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAttachmentReference = 'False -- ' closing tick for hsc2hs+ type StructExtends VkAttachmentReference = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "attachment" VkAttachmentReference where+ type FieldType "attachment" VkAttachmentReference = Word32+ type FieldOptional "attachment" VkAttachmentReference = 'False -- ' closing tick for hsc2hs+ type FieldOffset "attachment" VkAttachmentReference =+ #{offset VkAttachmentReference, attachment}+ type FieldIsArray "attachment" VkAttachmentReference = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentReference, attachment}++instance {-# OVERLAPPING #-}+ CanReadField "attachment" VkAttachmentReference where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, attachment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentReference, attachment}++instance {-# OVERLAPPING #-}+ CanWriteField "attachment" VkAttachmentReference where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentReference, attachment}++instance {-# OVERLAPPING #-}+ HasField "layout" VkAttachmentReference where+ type FieldType "layout" VkAttachmentReference = VkImageLayout+ type FieldOptional "layout" VkAttachmentReference = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layout" VkAttachmentReference =+ #{offset VkAttachmentReference, layout}+ type FieldIsArray "layout" VkAttachmentReference = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkAttachmentReference, layout}++instance {-# OVERLAPPING #-}+ CanReadField "layout" VkAttachmentReference where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentReference, layout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentReference, layout}++instance {-# OVERLAPPING #-}+ CanWriteField "layout" VkAttachmentReference where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentReference, layout}++instance Show VkAttachmentReference where+ showsPrec d x+ = showString "VkAttachmentReference {" .+ showString "attachment = " .+ showsPrec d (getField @"attachment" x) .+ showString ", " .+ showString "layout = " .+ showsPrec d (getField @"layout" x) . showChar '}'++-- | > typedef struct VkAttachmentSampleLocationsEXT {+-- > uint32_t attachmentIndex;+-- > VkSampleLocationsInfoEXT sampleLocationsInfo;+-- > } VkAttachmentSampleLocationsEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAttachmentSampleLocationsEXT VkAttachmentSampleLocationsEXT registry at www.khronos.org>+data VkAttachmentSampleLocationsEXT = VkAttachmentSampleLocationsEXT## Addr##+ ByteArray##++instance Eq VkAttachmentSampleLocationsEXT where+ (VkAttachmentSampleLocationsEXT## a _) ==+ x@(VkAttachmentSampleLocationsEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAttachmentSampleLocationsEXT where+ (VkAttachmentSampleLocationsEXT## a _) `compare`+ x@(VkAttachmentSampleLocationsEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAttachmentSampleLocationsEXT where+ sizeOf ~_ = #{size VkAttachmentSampleLocationsEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkAttachmentSampleLocationsEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAttachmentSampleLocationsEXT where+ unsafeAddr (VkAttachmentSampleLocationsEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAttachmentSampleLocationsEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAttachmentSampleLocationsEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAttachmentSampleLocationsEXT where+ type StructFields VkAttachmentSampleLocationsEXT =+ '["attachmentIndex", "sampleLocationsInfo"] -- ' closing tick for hsc2hs+ type CUnionType VkAttachmentSampleLocationsEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAttachmentSampleLocationsEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkAttachmentSampleLocationsEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "attachmentIndex" VkAttachmentSampleLocationsEXT where+ type FieldType "attachmentIndex" VkAttachmentSampleLocationsEXT =+ Word32+ type FieldOptional "attachmentIndex" VkAttachmentSampleLocationsEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "attachmentIndex" VkAttachmentSampleLocationsEXT =+ #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}+ type FieldIsArray "attachmentIndex" VkAttachmentSampleLocationsEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}++instance {-# OVERLAPPING #-}+ CanReadField "attachmentIndex" VkAttachmentSampleLocationsEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, attachmentIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "attachmentIndex" VkAttachmentSampleLocationsEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, attachmentIndex}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT where+ type FieldType "sampleLocationsInfo" VkAttachmentSampleLocationsEXT+ = VkSampleLocationsInfoEXT+ type FieldOptional "sampleLocationsInfo"+ VkAttachmentSampleLocationsEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationsInfo"+ VkAttachmentSampleLocationsEXT+ =+ #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}+ type FieldIsArray "sampleLocationsInfo"+ VkAttachmentSampleLocationsEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationsInfo" VkAttachmentSampleLocationsEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAttachmentSampleLocationsEXT, sampleLocationsInfo}++instance Show VkAttachmentSampleLocationsEXT where+ showsPrec d x+ = showString "VkAttachmentSampleLocationsEXT {" .+ showString "attachmentIndex = " .+ showsPrec d (getField @"attachmentIndex" x) .+ showString ", " .+ showString "sampleLocationsInfo = " .+ showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'
@@ -0,0 +1,1961 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Bind+ (VkBindBufferMemoryDeviceGroupInfo(..),+ VkBindBufferMemoryDeviceGroupInfoKHR, VkBindBufferMemoryInfo(..),+ VkBindBufferMemoryInfoKHR, VkBindImageMemoryDeviceGroupInfo(..),+ VkBindImageMemoryDeviceGroupInfoKHR, VkBindImageMemoryInfo(..),+ VkBindImageMemoryInfoKHR, VkBindImageMemorySwapchainInfoKHR(..),+ VkBindImagePlaneMemoryInfo(..), VkBindImagePlaneMemoryInfoKHR,+ VkBindSparseInfo(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlagBits)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer,+ VkDeviceMemory,+ VkImage, VkSemaphore,+ VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)+import Graphics.Vulkan.Types.Struct.Sparse (VkSparseBufferMemoryBindInfo,+ VkSparseImageMemoryBindInfo,+ VkSparseImageOpaqueMemoryBindInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkBindBufferMemoryDeviceGroupInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t deviceIndexCount;+-- > const uint32_t* pDeviceIndices;+-- > } VkBindBufferMemoryDeviceGroupInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org>+data VkBindBufferMemoryDeviceGroupInfo = VkBindBufferMemoryDeviceGroupInfo## Addr##+ ByteArray##++instance Eq VkBindBufferMemoryDeviceGroupInfo where+ (VkBindBufferMemoryDeviceGroupInfo## a _) ==+ x@(VkBindBufferMemoryDeviceGroupInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindBufferMemoryDeviceGroupInfo where+ (VkBindBufferMemoryDeviceGroupInfo## a _) `compare`+ x@(VkBindBufferMemoryDeviceGroupInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindBufferMemoryDeviceGroupInfo where+ sizeOf ~_ = #{size VkBindBufferMemoryDeviceGroupInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkBindBufferMemoryDeviceGroupInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindBufferMemoryDeviceGroupInfo where+ unsafeAddr (VkBindBufferMemoryDeviceGroupInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindBufferMemoryDeviceGroupInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindBufferMemoryDeviceGroupInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindBufferMemoryDeviceGroupInfo where+ type StructFields VkBindBufferMemoryDeviceGroupInfo =+ '["sType", "pNext", "deviceIndexCount", "pDeviceIndices"] -- ' closing tick for hsc2hs+ type CUnionType VkBindBufferMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindBufferMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindBufferMemoryDeviceGroupInfo =+ '[VkBindBufferMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBindBufferMemoryDeviceGroupInfo where+ type FieldType "sType" VkBindBufferMemoryDeviceGroupInfo =+ VkStructureType+ type FieldOptional "sType" VkBindBufferMemoryDeviceGroupInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindBufferMemoryDeviceGroupInfo =+ #{offset VkBindBufferMemoryDeviceGroupInfo, sType}+ type FieldIsArray "sType" VkBindBufferMemoryDeviceGroupInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindBufferMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBindBufferMemoryDeviceGroupInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBindBufferMemoryDeviceGroupInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBindBufferMemoryDeviceGroupInfo where+ type FieldType "pNext" VkBindBufferMemoryDeviceGroupInfo = Ptr Void+ type FieldOptional "pNext" VkBindBufferMemoryDeviceGroupInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindBufferMemoryDeviceGroupInfo =+ #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}+ type FieldIsArray "pNext" VkBindBufferMemoryDeviceGroupInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBindBufferMemoryDeviceGroupInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBindBufferMemoryDeviceGroupInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo where+ type FieldType "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo+ = Word32+ type FieldOptional "deviceIndexCount"+ VkBindBufferMemoryDeviceGroupInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "deviceIndexCount"+ VkBindBufferMemoryDeviceGroupInfo+ =+ #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}+ type FieldIsArray "deviceIndexCount"+ VkBindBufferMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+ CanReadField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceIndexCount" VkBindBufferMemoryDeviceGroupInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+ HasField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo where+ type FieldType "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo =+ Ptr Word32+ type FieldOptional "pDeviceIndices"+ VkBindBufferMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo+ =+ #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}+ type FieldIsArray "pDeviceIndices"+ VkBindBufferMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pDeviceIndices" VkBindBufferMemoryDeviceGroupInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryDeviceGroupInfo, pDeviceIndices}++instance Show VkBindBufferMemoryDeviceGroupInfo where+ showsPrec d x+ = showString "VkBindBufferMemoryDeviceGroupInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "deviceIndexCount = " .+ showsPrec d (getField @"deviceIndexCount" x) .+ showString ", " .+ showString "pDeviceIndices = " .+ showsPrec d (getField @"pDeviceIndices" x) . showChar '}'++-- | Alias for `VkBindBufferMemoryDeviceGroupInfo`+type VkBindBufferMemoryDeviceGroupInfoKHR =+ VkBindBufferMemoryDeviceGroupInfo++-- | > typedef struct VkBindBufferMemoryInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBuffer buffer;+-- > VkDeviceMemory memory;+-- > VkDeviceSize memoryOffset;+-- > } VkBindBufferMemoryInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindBufferMemoryInfo VkBindBufferMemoryInfo registry at www.khronos.org>+data VkBindBufferMemoryInfo = VkBindBufferMemoryInfo## Addr##+ ByteArray##++instance Eq VkBindBufferMemoryInfo where+ (VkBindBufferMemoryInfo## a _) == x@(VkBindBufferMemoryInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindBufferMemoryInfo where+ (VkBindBufferMemoryInfo## a _) `compare`+ x@(VkBindBufferMemoryInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindBufferMemoryInfo where+ sizeOf ~_ = #{size VkBindBufferMemoryInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBindBufferMemoryInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindBufferMemoryInfo where+ unsafeAddr (VkBindBufferMemoryInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindBufferMemoryInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindBufferMemoryInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindBufferMemoryInfo where+ type StructFields VkBindBufferMemoryInfo =+ '["sType", "pNext", "buffer", "memory", "memoryOffset"] -- ' closing tick for hsc2hs+ type CUnionType VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindBufferMemoryInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBindBufferMemoryInfo where+ type FieldType "sType" VkBindBufferMemoryInfo = VkStructureType+ type FieldOptional "sType" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindBufferMemoryInfo =+ #{offset VkBindBufferMemoryInfo, sType}+ type FieldIsArray "sType" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindBufferMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBindBufferMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBindBufferMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBindBufferMemoryInfo where+ type FieldType "pNext" VkBindBufferMemoryInfo = Ptr Void+ type FieldOptional "pNext" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindBufferMemoryInfo =+ #{offset VkBindBufferMemoryInfo, pNext}+ type FieldIsArray "pNext" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindBufferMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBindBufferMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBindBufferMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkBindBufferMemoryInfo where+ type FieldType "buffer" VkBindBufferMemoryInfo = VkBuffer+ type FieldOptional "buffer" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkBindBufferMemoryInfo =+ #{offset VkBindBufferMemoryInfo, buffer}+ type FieldIsArray "buffer" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindBufferMemoryInfo, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkBindBufferMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryInfo, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkBindBufferMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryInfo, buffer}++instance {-# OVERLAPPING #-}+ HasField "memory" VkBindBufferMemoryInfo where+ type FieldType "memory" VkBindBufferMemoryInfo = VkDeviceMemory+ type FieldOptional "memory" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkBindBufferMemoryInfo =+ #{offset VkBindBufferMemoryInfo, memory}+ type FieldIsArray "memory" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindBufferMemoryInfo, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkBindBufferMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryInfo, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkBindBufferMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryInfo, memory}++instance {-# OVERLAPPING #-}+ HasField "memoryOffset" VkBindBufferMemoryInfo where+ type FieldType "memoryOffset" VkBindBufferMemoryInfo = VkDeviceSize+ type FieldOptional "memoryOffset" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryOffset" VkBindBufferMemoryInfo =+ #{offset VkBindBufferMemoryInfo, memoryOffset}+ type FieldIsArray "memoryOffset" VkBindBufferMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindBufferMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+ CanReadField "memoryOffset" VkBindBufferMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindBufferMemoryInfo, memoryOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindBufferMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryOffset" VkBindBufferMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindBufferMemoryInfo, memoryOffset}++instance Show VkBindBufferMemoryInfo where+ showsPrec d x+ = showString "VkBindBufferMemoryInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "memoryOffset = " .+ showsPrec d (getField @"memoryOffset" x) . showChar '}'++-- | Alias for `VkBindBufferMemoryInfo`+type VkBindBufferMemoryInfoKHR = VkBindBufferMemoryInfo++-- | > typedef struct VkBindImageMemoryDeviceGroupInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t deviceIndexCount;+-- > const uint32_t* pDeviceIndices;+-- > uint32_t splitInstanceBindRegionCount;+-- > const VkRect2D* pSplitInstanceBindRegions;+-- > } VkBindImageMemoryDeviceGroupInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo registry at www.khronos.org>+data VkBindImageMemoryDeviceGroupInfo = VkBindImageMemoryDeviceGroupInfo## Addr##+ ByteArray##++instance Eq VkBindImageMemoryDeviceGroupInfo where+ (VkBindImageMemoryDeviceGroupInfo## a _) ==+ x@(VkBindImageMemoryDeviceGroupInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindImageMemoryDeviceGroupInfo where+ (VkBindImageMemoryDeviceGroupInfo## a _) `compare`+ x@(VkBindImageMemoryDeviceGroupInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindImageMemoryDeviceGroupInfo where+ sizeOf ~_ = #{size VkBindImageMemoryDeviceGroupInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkBindImageMemoryDeviceGroupInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImageMemoryDeviceGroupInfo where+ unsafeAddr (VkBindImageMemoryDeviceGroupInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindImageMemoryDeviceGroupInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindImageMemoryDeviceGroupInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImageMemoryDeviceGroupInfo where+ type StructFields VkBindImageMemoryDeviceGroupInfo =+ '["sType", "pNext", "deviceIndexCount", "pDeviceIndices", -- ' closing tick for hsc2hs+ "splitInstanceBindRegionCount", "pSplitInstanceBindRegions"]+ type CUnionType VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindImageMemoryDeviceGroupInfo =+ '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBindImageMemoryDeviceGroupInfo where+ type FieldType "sType" VkBindImageMemoryDeviceGroupInfo =+ VkStructureType+ type FieldOptional "sType" VkBindImageMemoryDeviceGroupInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindImageMemoryDeviceGroupInfo =+ #{offset VkBindImageMemoryDeviceGroupInfo, sType}+ type FieldIsArray "sType" VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBindImageMemoryDeviceGroupInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBindImageMemoryDeviceGroupInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBindImageMemoryDeviceGroupInfo where+ type FieldType "pNext" VkBindImageMemoryDeviceGroupInfo = Ptr Void+ type FieldOptional "pNext" VkBindImageMemoryDeviceGroupInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindImageMemoryDeviceGroupInfo =+ #{offset VkBindImageMemoryDeviceGroupInfo, pNext}+ type FieldIsArray "pNext" VkBindImageMemoryDeviceGroupInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBindImageMemoryDeviceGroupInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBindImageMemoryDeviceGroupInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo where+ type FieldType "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo+ = Word32+ type FieldOptional "deviceIndexCount"+ VkBindImageMemoryDeviceGroupInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "deviceIndexCount"+ VkBindImageMemoryDeviceGroupInfo+ =+ #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}+ type FieldIsArray "deviceIndexCount"+ VkBindImageMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+ CanReadField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceIndexCount" VkBindImageMemoryDeviceGroupInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, deviceIndexCount}++instance {-# OVERLAPPING #-}+ HasField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo where+ type FieldType "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo =+ Ptr Word32+ type FieldOptional "pDeviceIndices"+ VkBindImageMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+ =+ #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}+ type FieldIsArray "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pDeviceIndices" VkBindImageMemoryDeviceGroupInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pDeviceIndices}++instance {-# OVERLAPPING #-}+ HasField "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ where+ type FieldType "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ = Word32+ type FieldOptional "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ =+ #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}+ type FieldIsArray "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}++instance {-# OVERLAPPING #-}+ CanReadField "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}++instance {-# OVERLAPPING #-}+ CanWriteField "splitInstanceBindRegionCount"+ VkBindImageMemoryDeviceGroupInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, splitInstanceBindRegionCount}++instance {-# OVERLAPPING #-}+ HasField "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ where+ type FieldType "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ = Ptr VkRect2D+ type FieldOptional "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ =+ #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}+ type FieldIsArray "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}++instance {-# OVERLAPPING #-}+ CanReadField "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}++instance {-# OVERLAPPING #-}+ CanWriteField "pSplitInstanceBindRegions"+ VkBindImageMemoryDeviceGroupInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryDeviceGroupInfo, pSplitInstanceBindRegions}++instance Show VkBindImageMemoryDeviceGroupInfo where+ showsPrec d x+ = showString "VkBindImageMemoryDeviceGroupInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "deviceIndexCount = " .+ showsPrec d (getField @"deviceIndexCount" x) .+ showString ", " .+ showString "pDeviceIndices = " .+ showsPrec d (getField @"pDeviceIndices" x) .+ showString ", " .+ showString "splitInstanceBindRegionCount = " .+ showsPrec d (getField @"splitInstanceBindRegionCount" x) .+ showString ", " .+ showString "pSplitInstanceBindRegions = " .+ showsPrec d (getField @"pSplitInstanceBindRegions" x)+ . showChar '}'++-- | Alias for `VkBindImageMemoryDeviceGroupInfo`+type VkBindImageMemoryDeviceGroupInfoKHR =+ VkBindImageMemoryDeviceGroupInfo++-- | > typedef struct VkBindImageMemoryInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImage image;+-- > VkDeviceMemory memory;+-- > VkDeviceSize memoryOffset;+-- > } VkBindImageMemoryInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemoryInfo VkBindImageMemoryInfo registry at www.khronos.org>+data VkBindImageMemoryInfo = VkBindImageMemoryInfo## Addr##+ ByteArray##++instance Eq VkBindImageMemoryInfo where+ (VkBindImageMemoryInfo## a _) == x@(VkBindImageMemoryInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindImageMemoryInfo where+ (VkBindImageMemoryInfo## a _) `compare`+ x@(VkBindImageMemoryInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindImageMemoryInfo where+ sizeOf ~_ = #{size VkBindImageMemoryInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBindImageMemoryInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImageMemoryInfo where+ unsafeAddr (VkBindImageMemoryInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindImageMemoryInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindImageMemoryInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImageMemoryInfo where+ type StructFields VkBindImageMemoryInfo =+ '["sType", "pNext", "image", "memory", "memoryOffset"] -- ' closing tick for hsc2hs+ type CUnionType VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindImageMemoryInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkBindImageMemoryInfo+ where+ type FieldType "sType" VkBindImageMemoryInfo = VkStructureType+ type FieldOptional "sType" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindImageMemoryInfo =+ #{offset VkBindImageMemoryInfo, sType}+ type FieldIsArray "sType" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindImageMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBindImageMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBindImageMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkBindImageMemoryInfo+ where+ type FieldType "pNext" VkBindImageMemoryInfo = Ptr Void+ type FieldOptional "pNext" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindImageMemoryInfo =+ #{offset VkBindImageMemoryInfo, pNext}+ type FieldIsArray "pNext" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindImageMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBindImageMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBindImageMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryInfo, pNext}++instance {-# OVERLAPPING #-} HasField "image" VkBindImageMemoryInfo+ where+ type FieldType "image" VkBindImageMemoryInfo = VkImage+ type FieldOptional "image" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkBindImageMemoryInfo =+ #{offset VkBindImageMemoryInfo, image}+ type FieldIsArray "image" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindImageMemoryInfo, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkBindImageMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryInfo, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkBindImageMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryInfo, image}++instance {-# OVERLAPPING #-}+ HasField "memory" VkBindImageMemoryInfo where+ type FieldType "memory" VkBindImageMemoryInfo = VkDeviceMemory+ type FieldOptional "memory" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkBindImageMemoryInfo =+ #{offset VkBindImageMemoryInfo, memory}+ type FieldIsArray "memory" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindImageMemoryInfo, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkBindImageMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryInfo, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkBindImageMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryInfo, memory}++instance {-# OVERLAPPING #-}+ HasField "memoryOffset" VkBindImageMemoryInfo where+ type FieldType "memoryOffset" VkBindImageMemoryInfo = VkDeviceSize+ type FieldOptional "memoryOffset" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryOffset" VkBindImageMemoryInfo =+ #{offset VkBindImageMemoryInfo, memoryOffset}+ type FieldIsArray "memoryOffset" VkBindImageMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+ CanReadField "memoryOffset" VkBindImageMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemoryInfo, memoryOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemoryInfo, memoryOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryOffset" VkBindImageMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemoryInfo, memoryOffset}++instance Show VkBindImageMemoryInfo where+ showsPrec d x+ = showString "VkBindImageMemoryInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "memoryOffset = " .+ showsPrec d (getField @"memoryOffset" x) . showChar '}'++-- | Alias for `VkBindImageMemoryInfo`+type VkBindImageMemoryInfoKHR = VkBindImageMemoryInfo++-- | > typedef struct VkBindImageMemorySwapchainInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSwapchainKHR swapchain;+-- > uint32_t imageIndex;+-- > } VkBindImageMemorySwapchainInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR registry at www.khronos.org>+data VkBindImageMemorySwapchainInfoKHR = VkBindImageMemorySwapchainInfoKHR## Addr##+ ByteArray##++instance Eq VkBindImageMemorySwapchainInfoKHR where+ (VkBindImageMemorySwapchainInfoKHR## a _) ==+ x@(VkBindImageMemorySwapchainInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindImageMemorySwapchainInfoKHR where+ (VkBindImageMemorySwapchainInfoKHR## a _) `compare`+ x@(VkBindImageMemorySwapchainInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindImageMemorySwapchainInfoKHR where+ sizeOf ~_ = #{size VkBindImageMemorySwapchainInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkBindImageMemorySwapchainInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImageMemorySwapchainInfoKHR where+ unsafeAddr (VkBindImageMemorySwapchainInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindImageMemorySwapchainInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindImageMemorySwapchainInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImageMemorySwapchainInfoKHR where+ type StructFields VkBindImageMemorySwapchainInfoKHR =+ '["sType", "pNext", "swapchain", "imageIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkBindImageMemorySwapchainInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindImageMemorySwapchainInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindImageMemorySwapchainInfoKHR =+ '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBindImageMemorySwapchainInfoKHR where+ type FieldType "sType" VkBindImageMemorySwapchainInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindImageMemorySwapchainInfoKHR =+ #{offset VkBindImageMemorySwapchainInfoKHR, sType}+ type FieldIsArray "sType" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemorySwapchainInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBindImageMemorySwapchainInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBindImageMemorySwapchainInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBindImageMemorySwapchainInfoKHR where+ type FieldType "pNext" VkBindImageMemorySwapchainInfoKHR = Ptr Void+ type FieldOptional "pNext" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindImageMemorySwapchainInfoKHR =+ #{offset VkBindImageMemorySwapchainInfoKHR, pNext}+ type FieldIsArray "pNext" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemorySwapchainInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBindImageMemorySwapchainInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBindImageMemorySwapchainInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "swapchain" VkBindImageMemorySwapchainInfoKHR where+ type FieldType "swapchain" VkBindImageMemorySwapchainInfoKHR =+ VkSwapchainKHR+ type FieldOptional "swapchain" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "swapchain" VkBindImageMemorySwapchainInfoKHR =+ #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}+ type FieldIsArray "swapchain" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ CanReadField "swapchain" VkBindImageMemorySwapchainInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, swapchain})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchain" VkBindImageMemorySwapchainInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ HasField "imageIndex" VkBindImageMemorySwapchainInfoKHR where+ type FieldType "imageIndex" VkBindImageMemorySwapchainInfoKHR =+ Word32+ type FieldOptional "imageIndex" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageIndex" VkBindImageMemorySwapchainInfoKHR =+ #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}+ type FieldIsArray "imageIndex" VkBindImageMemorySwapchainInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}++instance {-# OVERLAPPING #-}+ CanReadField "imageIndex" VkBindImageMemorySwapchainInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "imageIndex" VkBindImageMemorySwapchainInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImageMemorySwapchainInfoKHR, imageIndex}++instance Show VkBindImageMemorySwapchainInfoKHR where+ showsPrec d x+ = showString "VkBindImageMemorySwapchainInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "swapchain = " .+ showsPrec d (getField @"swapchain" x) .+ showString ", " .+ showString "imageIndex = " .+ showsPrec d (getField @"imageIndex" x) . showChar '}'++-- | > typedef struct VkBindImagePlaneMemoryInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImageAspectFlagBits planeAspect;+-- > } VkBindImagePlaneMemoryInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo registry at www.khronos.org>+data VkBindImagePlaneMemoryInfo = VkBindImagePlaneMemoryInfo## Addr##+ ByteArray##++instance Eq VkBindImagePlaneMemoryInfo where+ (VkBindImagePlaneMemoryInfo## a _) ==+ x@(VkBindImagePlaneMemoryInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindImagePlaneMemoryInfo where+ (VkBindImagePlaneMemoryInfo## a _) `compare`+ x@(VkBindImagePlaneMemoryInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindImagePlaneMemoryInfo where+ sizeOf ~_ = #{size VkBindImagePlaneMemoryInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBindImagePlaneMemoryInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindImagePlaneMemoryInfo where+ unsafeAddr (VkBindImagePlaneMemoryInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindImagePlaneMemoryInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindImagePlaneMemoryInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindImagePlaneMemoryInfo where+ type StructFields VkBindImagePlaneMemoryInfo =+ '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs+ type CUnionType VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindImagePlaneMemoryInfo =+ '[VkBindImageMemoryInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBindImagePlaneMemoryInfo where+ type FieldType "sType" VkBindImagePlaneMemoryInfo = VkStructureType+ type FieldOptional "sType" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindImagePlaneMemoryInfo =+ #{offset VkBindImagePlaneMemoryInfo, sType}+ type FieldIsArray "sType" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImagePlaneMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBindImagePlaneMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBindImagePlaneMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBindImagePlaneMemoryInfo where+ type FieldType "pNext" VkBindImagePlaneMemoryInfo = Ptr Void+ type FieldOptional "pNext" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindImagePlaneMemoryInfo =+ #{offset VkBindImagePlaneMemoryInfo, pNext}+ type FieldIsArray "pNext" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImagePlaneMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBindImagePlaneMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBindImagePlaneMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "planeAspect" VkBindImagePlaneMemoryInfo where+ type FieldType "planeAspect" VkBindImagePlaneMemoryInfo =+ VkImageAspectFlagBits+ type FieldOptional "planeAspect" VkBindImagePlaneMemoryInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "planeAspect" VkBindImagePlaneMemoryInfo =+ #{offset VkBindImagePlaneMemoryInfo, planeAspect}+ type FieldIsArray "planeAspect" VkBindImagePlaneMemoryInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindImagePlaneMemoryInfo, planeAspect}++instance {-# OVERLAPPING #-}+ CanReadField "planeAspect" VkBindImagePlaneMemoryInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindImagePlaneMemoryInfo, planeAspect})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindImagePlaneMemoryInfo, planeAspect}++instance {-# OVERLAPPING #-}+ CanWriteField "planeAspect" VkBindImagePlaneMemoryInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindImagePlaneMemoryInfo, planeAspect}++instance Show VkBindImagePlaneMemoryInfo where+ showsPrec d x+ = showString "VkBindImagePlaneMemoryInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "planeAspect = " .+ showsPrec d (getField @"planeAspect" x) . showChar '}'++-- | Alias for `VkBindImagePlaneMemoryInfo`+type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo++-- | > typedef struct VkBindSparseInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t waitSemaphoreCount;+-- > const VkSemaphore* pWaitSemaphores;+-- > uint32_t bufferBindCount;+-- > const VkSparseBufferMemoryBindInfo* pBufferBinds;+-- > uint32_t imageOpaqueBindCount;+-- > const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;+-- > uint32_t imageBindCount;+-- > const VkSparseImageMemoryBindInfo* pImageBinds;+-- > uint32_t signalSemaphoreCount;+-- > const VkSemaphore* pSignalSemaphores;+-- > } VkBindSparseInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBindSparseInfo VkBindSparseInfo registry at www.khronos.org>+data VkBindSparseInfo = VkBindSparseInfo## Addr## ByteArray##++instance Eq VkBindSparseInfo where+ (VkBindSparseInfo## a _) == x@(VkBindSparseInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBindSparseInfo where+ (VkBindSparseInfo## a _) `compare` x@(VkBindSparseInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBindSparseInfo where+ sizeOf ~_ = #{size VkBindSparseInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBindSparseInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBindSparseInfo where+ unsafeAddr (VkBindSparseInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBindSparseInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBindSparseInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBindSparseInfo where+ type StructFields VkBindSparseInfo =+ '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs+ "bufferBindCount", "pBufferBinds", "imageOpaqueBindCount",+ "pImageOpaqueBinds", "imageBindCount", "pImageBinds",+ "signalSemaphoreCount", "pSignalSemaphores"]+ type CUnionType VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBindSparseInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkBindSparseInfo+ where+ type FieldType "sType" VkBindSparseInfo = VkStructureType+ type FieldOptional "sType" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBindSparseInfo =+ #{offset VkBindSparseInfo, sType}+ type FieldIsArray "sType" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindSparseInfo, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkBindSparseInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, sType}++instance {-# OVERLAPPING #-} CanWriteField "sType" VkBindSparseInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkBindSparseInfo+ where+ type FieldType "pNext" VkBindSparseInfo = Ptr Void+ type FieldOptional "pNext" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBindSparseInfo =+ #{offset VkBindSparseInfo, pNext}+ type FieldIsArray "pNext" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindSparseInfo, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkBindSparseInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, pNext}++instance {-# OVERLAPPING #-} CanWriteField "pNext" VkBindSparseInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "waitSemaphoreCount" VkBindSparseInfo where+ type FieldType "waitSemaphoreCount" VkBindSparseInfo = Word32+ type FieldOptional "waitSemaphoreCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "waitSemaphoreCount" VkBindSparseInfo =+ #{offset VkBindSparseInfo, waitSemaphoreCount}+ type FieldIsArray "waitSemaphoreCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "waitSemaphoreCount" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, waitSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "waitSemaphoreCount" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pWaitSemaphores" VkBindSparseInfo where+ type FieldType "pWaitSemaphores" VkBindSparseInfo = Ptr VkSemaphore+ type FieldOptional "pWaitSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pWaitSemaphores" VkBindSparseInfo =+ #{offset VkBindSparseInfo, pWaitSemaphores}+ type FieldIsArray "pWaitSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ CanReadField "pWaitSemaphores" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pWaitSemaphores})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ CanWriteField "pWaitSemaphores" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ HasField "bufferBindCount" VkBindSparseInfo where+ type FieldType "bufferBindCount" VkBindSparseInfo = Word32+ type FieldOptional "bufferBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "bufferBindCount" VkBindSparseInfo =+ #{offset VkBindSparseInfo, bufferBindCount}+ type FieldIsArray "bufferBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, bufferBindCount}++instance {-# OVERLAPPING #-}+ CanReadField "bufferBindCount" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, bufferBindCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, bufferBindCount}++instance {-# OVERLAPPING #-}+ CanWriteField "bufferBindCount" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, bufferBindCount}++instance {-# OVERLAPPING #-}+ HasField "pBufferBinds" VkBindSparseInfo where+ type FieldType "pBufferBinds" VkBindSparseInfo =+ Ptr VkSparseBufferMemoryBindInfo+ type FieldOptional "pBufferBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pBufferBinds" VkBindSparseInfo =+ #{offset VkBindSparseInfo, pBufferBinds}+ type FieldIsArray "pBufferBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindSparseInfo, pBufferBinds}++instance {-# OVERLAPPING #-}+ CanReadField "pBufferBinds" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pBufferBinds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, pBufferBinds}++instance {-# OVERLAPPING #-}+ CanWriteField "pBufferBinds" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, pBufferBinds}++instance {-# OVERLAPPING #-}+ HasField "imageOpaqueBindCount" VkBindSparseInfo where+ type FieldType "imageOpaqueBindCount" VkBindSparseInfo = Word32+ type FieldOptional "imageOpaqueBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "imageOpaqueBindCount" VkBindSparseInfo =+ #{offset VkBindSparseInfo, imageOpaqueBindCount}+ type FieldIsArray "imageOpaqueBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, imageOpaqueBindCount}++instance {-# OVERLAPPING #-}+ CanReadField "imageOpaqueBindCount" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageOpaqueBindCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}++instance {-# OVERLAPPING #-}+ CanWriteField "imageOpaqueBindCount" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, imageOpaqueBindCount}++instance {-# OVERLAPPING #-}+ HasField "pImageOpaqueBinds" VkBindSparseInfo where+ type FieldType "pImageOpaqueBinds" VkBindSparseInfo =+ Ptr VkSparseImageOpaqueMemoryBindInfo+ type FieldOptional "pImageOpaqueBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pImageOpaqueBinds" VkBindSparseInfo =+ #{offset VkBindSparseInfo, pImageOpaqueBinds}+ type FieldIsArray "pImageOpaqueBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, pImageOpaqueBinds}++instance {-# OVERLAPPING #-}+ CanReadField "pImageOpaqueBinds" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageOpaqueBinds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}++instance {-# OVERLAPPING #-}+ CanWriteField "pImageOpaqueBinds" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, pImageOpaqueBinds}++instance {-# OVERLAPPING #-}+ HasField "imageBindCount" VkBindSparseInfo where+ type FieldType "imageBindCount" VkBindSparseInfo = Word32+ type FieldOptional "imageBindCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "imageBindCount" VkBindSparseInfo =+ #{offset VkBindSparseInfo, imageBindCount}+ type FieldIsArray "imageBindCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, imageBindCount}++instance {-# OVERLAPPING #-}+ CanReadField "imageBindCount" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, imageBindCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, imageBindCount}++instance {-# OVERLAPPING #-}+ CanWriteField "imageBindCount" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, imageBindCount}++instance {-# OVERLAPPING #-}+ HasField "pImageBinds" VkBindSparseInfo where+ type FieldType "pImageBinds" VkBindSparseInfo =+ Ptr VkSparseImageMemoryBindInfo+ type FieldOptional "pImageBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pImageBinds" VkBindSparseInfo =+ #{offset VkBindSparseInfo, pImageBinds}+ type FieldIsArray "pImageBinds" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBindSparseInfo, pImageBinds}++instance {-# OVERLAPPING #-}+ CanReadField "pImageBinds" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pImageBinds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, pImageBinds}++instance {-# OVERLAPPING #-}+ CanWriteField "pImageBinds" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, pImageBinds}++instance {-# OVERLAPPING #-}+ HasField "signalSemaphoreCount" VkBindSparseInfo where+ type FieldType "signalSemaphoreCount" VkBindSparseInfo = Word32+ type FieldOptional "signalSemaphoreCount" VkBindSparseInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "signalSemaphoreCount" VkBindSparseInfo =+ #{offset VkBindSparseInfo, signalSemaphoreCount}+ type FieldIsArray "signalSemaphoreCount" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "signalSemaphoreCount" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, signalSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "signalSemaphoreCount" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pSignalSemaphores" VkBindSparseInfo where+ type FieldType "pSignalSemaphores" VkBindSparseInfo =+ Ptr VkSemaphore+ type FieldOptional "pSignalSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSignalSemaphores" VkBindSparseInfo =+ #{offset VkBindSparseInfo, pSignalSemaphores}+ type FieldIsArray "pSignalSemaphores" VkBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBindSparseInfo, pSignalSemaphores}++instance {-# OVERLAPPING #-}+ CanReadField "pSignalSemaphores" VkBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBindSparseInfo, pSignalSemaphores})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}++instance {-# OVERLAPPING #-}+ CanWriteField "pSignalSemaphores" VkBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBindSparseInfo, pSignalSemaphores}++instance Show VkBindSparseInfo where+ showsPrec d x+ = showString "VkBindSparseInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "waitSemaphoreCount = " .+ showsPrec d (getField @"waitSemaphoreCount" x) .+ showString ", " .+ showString "pWaitSemaphores = " .+ showsPrec d (getField @"pWaitSemaphores" x) .+ showString ", " .+ showString "bufferBindCount = " .+ showsPrec d (getField @"bufferBindCount" x) .+ showString ", " .+ showString "pBufferBinds = " .+ showsPrec d (getField @"pBufferBinds" x) .+ showString ", " .+ showString "imageOpaqueBindCount = " .+ showsPrec d (getField @"imageOpaqueBindCount" x)+ .+ showString ", " .+ showString "pImageOpaqueBinds = " .+ showsPrec d+ (getField @"pImageOpaqueBinds" x)+ .+ showString ", " .+ showString "imageBindCount = " .+ showsPrec d+ (getField @"imageBindCount" x)+ .+ showString ", " .+ showString "pImageBinds = " .+ showsPrec d+ (getField @"pImageBinds" x)+ .+ showString ", " .+ showString+ "signalSemaphoreCount = "+ .+ showsPrec d+ (getField+ @"signalSemaphoreCount"+ x)+ .+ showString ", " .+ showString+ "pSignalSemaphores = "+ .+ showsPrec d+ (getField+ @"pSignalSemaphores"+ x)+ . showChar '}'
@@ -0,0 +1,1661 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Buffer+ (VkBufferCopy(..), VkBufferCreateInfo(..), VkBufferImageCopy(..),+ VkBufferMemoryBarrier(..), VkBufferMemoryRequirementsInfo2(..),+ VkBufferMemoryRequirementsInfo2KHR, VkBufferViewCreateInfo(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks (VkBufferViewCreateFlags)+import Graphics.Vulkan.Types.Enum.AccessFlags (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.Buffer (VkBufferCreateFlags,+ VkBufferUsageFlags)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.SharingMode (VkSharingMode)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image (VkImageSubresourceLayers)+import Graphics.Vulkan.Types.Struct.Offset (VkOffset3D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkBufferCopy {+-- > VkDeviceSize srcOffset;+-- > VkDeviceSize dstOffset;+-- > VkDeviceSize size;+-- > } VkBufferCopy;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferCopy VkBufferCopy registry at www.khronos.org>+data VkBufferCopy = VkBufferCopy## Addr## ByteArray##++instance Eq VkBufferCopy where+ (VkBufferCopy## a _) == x@(VkBufferCopy## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBufferCopy where+ (VkBufferCopy## a _) `compare` x@(VkBufferCopy## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBufferCopy where+ sizeOf ~_ = #{size VkBufferCopy}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBufferCopy}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferCopy where+ unsafeAddr (VkBufferCopy## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBufferCopy## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBufferCopy## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferCopy where+ type StructFields VkBufferCopy =+ '["srcOffset", "dstOffset", "size"] -- ' closing tick for hsc2hs+ type CUnionType VkBufferCopy = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBufferCopy = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBufferCopy = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "srcOffset" VkBufferCopy+ where+ type FieldType "srcOffset" VkBufferCopy = VkDeviceSize+ type FieldOptional "srcOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcOffset" VkBufferCopy =+ #{offset VkBufferCopy, srcOffset}+ type FieldIsArray "srcOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCopy, srcOffset}++instance {-# OVERLAPPING #-} CanReadField "srcOffset" VkBufferCopy+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCopy, srcOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCopy, srcOffset}++instance {-# OVERLAPPING #-} CanWriteField "srcOffset" VkBufferCopy+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCopy, srcOffset}++instance {-# OVERLAPPING #-} HasField "dstOffset" VkBufferCopy+ where+ type FieldType "dstOffset" VkBufferCopy = VkDeviceSize+ type FieldOptional "dstOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstOffset" VkBufferCopy =+ #{offset VkBufferCopy, dstOffset}+ type FieldIsArray "dstOffset" VkBufferCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCopy, dstOffset}++instance {-# OVERLAPPING #-} CanReadField "dstOffset" VkBufferCopy+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCopy, dstOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCopy, dstOffset}++instance {-# OVERLAPPING #-} CanWriteField "dstOffset" VkBufferCopy+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCopy, dstOffset}++instance {-# OVERLAPPING #-} HasField "size" VkBufferCopy where+ type FieldType "size" VkBufferCopy = VkDeviceSize+ type FieldOptional "size" VkBufferCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkBufferCopy =+ #{offset VkBufferCopy, size}+ type FieldIsArray "size" VkBufferCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCopy, size}++instance {-# OVERLAPPING #-} CanReadField "size" VkBufferCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCopy, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCopy, size}++instance {-# OVERLAPPING #-} CanWriteField "size" VkBufferCopy+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCopy, size}++instance Show VkBufferCopy where+ showsPrec d x+ = showString "VkBufferCopy {" .+ showString "srcOffset = " .+ showsPrec d (getField @"srcOffset" x) .+ showString ", " .+ showString "dstOffset = " .+ showsPrec d (getField @"dstOffset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) . showChar '}'++-- | > typedef struct VkBufferCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBufferCreateFlags flags;+-- > VkDeviceSize size;+-- > VkBufferUsageFlags usage;+-- > VkSharingMode sharingMode;+-- > uint32_t queueFamilyIndexCount;+-- > const uint32_t* pQueueFamilyIndices;+-- > } VkBufferCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferCreateInfo VkBufferCreateInfo registry at www.khronos.org>+data VkBufferCreateInfo = VkBufferCreateInfo## Addr## ByteArray##++instance Eq VkBufferCreateInfo where+ (VkBufferCreateInfo## a _) == x@(VkBufferCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBufferCreateInfo where+ (VkBufferCreateInfo## a _) `compare` x@(VkBufferCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBufferCreateInfo where+ sizeOf ~_ = #{size VkBufferCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBufferCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferCreateInfo where+ unsafeAddr (VkBufferCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBufferCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBufferCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferCreateInfo where+ type StructFields VkBufferCreateInfo =+ '["sType", "pNext", "flags", "size", "usage", "sharingMode", -- ' closing tick for hsc2hs+ "queueFamilyIndexCount", "pQueueFamilyIndices"]+ type CUnionType VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBufferCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkBufferCreateInfo+ where+ type FieldType "sType" VkBufferCreateInfo = VkStructureType+ type FieldOptional "sType" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, sType}+ type FieldIsArray "sType" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkBufferCreateInfo+ where+ type FieldType "pNext" VkBufferCreateInfo = Ptr Void+ type FieldOptional "pNext" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, pNext}+ type FieldIsArray "pNext" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkBufferCreateInfo+ where+ type FieldType "flags" VkBufferCreateInfo = VkBufferCreateFlags+ type FieldOptional "flags" VkBufferCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, flags}+ type FieldIsArray "flags" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "size" VkBufferCreateInfo+ where+ type FieldType "size" VkBufferCreateInfo = VkDeviceSize+ type FieldOptional "size" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, size}+ type FieldIsArray "size" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCreateInfo, size}++instance {-# OVERLAPPING #-} CanReadField "size" VkBufferCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, size}++instance {-# OVERLAPPING #-} HasField "usage" VkBufferCreateInfo+ where+ type FieldType "usage" VkBufferCreateInfo = VkBufferUsageFlags+ type FieldOptional "usage" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "usage" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, usage}+ type FieldIsArray "usage" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCreateInfo, usage}++instance {-# OVERLAPPING #-}+ CanReadField "usage" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, usage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, usage}++instance {-# OVERLAPPING #-}+ CanWriteField "usage" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, usage}++instance {-# OVERLAPPING #-}+ HasField "sharingMode" VkBufferCreateInfo where+ type FieldType "sharingMode" VkBufferCreateInfo = VkSharingMode+ type FieldOptional "sharingMode" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sharingMode" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, sharingMode}+ type FieldIsArray "sharingMode" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+ CanReadField "sharingMode" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, sharingMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+ CanWriteField "sharingMode" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyIndexCount" VkBufferCreateInfo where+ type FieldType "queueFamilyIndexCount" VkBufferCreateInfo = Word32+ type FieldOptional "queueFamilyIndexCount" VkBufferCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyIndexCount" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, queueFamilyIndexCount}+ type FieldIsArray "queueFamilyIndexCount" VkBufferCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyIndexCount" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, queueFamilyIndexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyIndexCount" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ HasField "pQueueFamilyIndices" VkBufferCreateInfo where+ type FieldType "pQueueFamilyIndices" VkBufferCreateInfo =+ Ptr Word32+ type FieldOptional "pQueueFamilyIndices" VkBufferCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pQueueFamilyIndices" VkBufferCreateInfo =+ #{offset VkBufferCreateInfo, pQueueFamilyIndices}+ type FieldIsArray "pQueueFamilyIndices" VkBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pQueueFamilyIndices" VkBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferCreateInfo, pQueueFamilyIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pQueueFamilyIndices" VkBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferCreateInfo, pQueueFamilyIndices}++instance Show VkBufferCreateInfo where+ showsPrec d x+ = showString "VkBufferCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) .+ showString ", " .+ showString "usage = " .+ showsPrec d (getField @"usage" x) .+ showString ", " .+ showString "sharingMode = " .+ showsPrec d (getField @"sharingMode" x) .+ showString ", " .+ showString "queueFamilyIndexCount = " .+ showsPrec d+ (getField @"queueFamilyIndexCount" x)+ .+ showString ", " .+ showString "pQueueFamilyIndices = " .+ showsPrec d+ (getField @"pQueueFamilyIndices" x)+ . showChar '}'++-- | > typedef struct VkBufferImageCopy {+-- > VkDeviceSize bufferOffset;+-- > uint32_t bufferRowLength;+-- > uint32_t bufferImageHeight;+-- > VkImageSubresourceLayers imageSubresource;+-- > VkOffset3D imageOffset;+-- > VkExtent3D imageExtent;+-- > } VkBufferImageCopy;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferImageCopy VkBufferImageCopy registry at www.khronos.org>+data VkBufferImageCopy = VkBufferImageCopy## Addr## ByteArray##++instance Eq VkBufferImageCopy where+ (VkBufferImageCopy## a _) == x@(VkBufferImageCopy## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBufferImageCopy where+ (VkBufferImageCopy## a _) `compare` x@(VkBufferImageCopy## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBufferImageCopy where+ sizeOf ~_ = #{size VkBufferImageCopy}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBufferImageCopy}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferImageCopy where+ unsafeAddr (VkBufferImageCopy## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBufferImageCopy## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBufferImageCopy## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferImageCopy where+ type StructFields VkBufferImageCopy =+ '["bufferOffset", "bufferRowLength", "bufferImageHeight", -- ' closing tick for hsc2hs+ "imageSubresource", "imageOffset", "imageExtent"]+ type CUnionType VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBufferImageCopy = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "bufferOffset" VkBufferImageCopy where+ type FieldType "bufferOffset" VkBufferImageCopy = VkDeviceSize+ type FieldOptional "bufferOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "bufferOffset" VkBufferImageCopy =+ #{offset VkBufferImageCopy, bufferOffset}+ type FieldIsArray "bufferOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferImageCopy, bufferOffset}++instance {-# OVERLAPPING #-}+ CanReadField "bufferOffset" VkBufferImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferImageCopy, bufferOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "bufferOffset" VkBufferImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferImageCopy, bufferOffset}++instance {-# OVERLAPPING #-}+ HasField "bufferRowLength" VkBufferImageCopy where+ type FieldType "bufferRowLength" VkBufferImageCopy = Word32+ type FieldOptional "bufferRowLength" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "bufferRowLength" VkBufferImageCopy =+ #{offset VkBufferImageCopy, bufferRowLength}+ type FieldIsArray "bufferRowLength" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferImageCopy, bufferRowLength}++instance {-# OVERLAPPING #-}+ CanReadField "bufferRowLength" VkBufferImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferRowLength})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferImageCopy, bufferRowLength}++instance {-# OVERLAPPING #-}+ CanWriteField "bufferRowLength" VkBufferImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferImageCopy, bufferRowLength}++instance {-# OVERLAPPING #-}+ HasField "bufferImageHeight" VkBufferImageCopy where+ type FieldType "bufferImageHeight" VkBufferImageCopy = Word32+ type FieldOptional "bufferImageHeight" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "bufferImageHeight" VkBufferImageCopy =+ #{offset VkBufferImageCopy, bufferImageHeight}+ type FieldIsArray "bufferImageHeight" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferImageCopy, bufferImageHeight}++instance {-# OVERLAPPING #-}+ CanReadField "bufferImageHeight" VkBufferImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, bufferImageHeight})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferImageCopy, bufferImageHeight}++instance {-# OVERLAPPING #-}+ CanWriteField "bufferImageHeight" VkBufferImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferImageCopy, bufferImageHeight}++instance {-# OVERLAPPING #-}+ HasField "imageSubresource" VkBufferImageCopy where+ type FieldType "imageSubresource" VkBufferImageCopy =+ VkImageSubresourceLayers+ type FieldOptional "imageSubresource" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageSubresource" VkBufferImageCopy =+ #{offset VkBufferImageCopy, imageSubresource}+ type FieldIsArray "imageSubresource" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferImageCopy, imageSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "imageSubresource" VkBufferImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferImageCopy, imageSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "imageSubresource" VkBufferImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferImageCopy, imageSubresource}++instance {-# OVERLAPPING #-}+ HasField "imageOffset" VkBufferImageCopy where+ type FieldType "imageOffset" VkBufferImageCopy = VkOffset3D+ type FieldOptional "imageOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageOffset" VkBufferImageCopy =+ #{offset VkBufferImageCopy, imageOffset}+ type FieldIsArray "imageOffset" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferImageCopy, imageOffset}++instance {-# OVERLAPPING #-}+ CanReadField "imageOffset" VkBufferImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferImageCopy, imageOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "imageOffset" VkBufferImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferImageCopy, imageOffset}++instance {-# OVERLAPPING #-}+ HasField "imageExtent" VkBufferImageCopy where+ type FieldType "imageExtent" VkBufferImageCopy = VkExtent3D+ type FieldOptional "imageExtent" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageExtent" VkBufferImageCopy =+ #{offset VkBufferImageCopy, imageExtent}+ type FieldIsArray "imageExtent" VkBufferImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferImageCopy, imageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "imageExtent" VkBufferImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferImageCopy, imageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferImageCopy, imageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "imageExtent" VkBufferImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferImageCopy, imageExtent}++instance Show VkBufferImageCopy where+ showsPrec d x+ = showString "VkBufferImageCopy {" .+ showString "bufferOffset = " .+ showsPrec d (getField @"bufferOffset" x) .+ showString ", " .+ showString "bufferRowLength = " .+ showsPrec d (getField @"bufferRowLength" x) .+ showString ", " .+ showString "bufferImageHeight = " .+ showsPrec d (getField @"bufferImageHeight" x) .+ showString ", " .+ showString "imageSubresource = " .+ showsPrec d (getField @"imageSubresource" x) .+ showString ", " .+ showString "imageOffset = " .+ showsPrec d (getField @"imageOffset" x) .+ showString ", " .+ showString "imageExtent = " .+ showsPrec d (getField @"imageExtent" x) . showChar '}'++-- | > typedef struct VkBufferMemoryBarrier {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkAccessFlags srcAccessMask;+-- > VkAccessFlags dstAccessMask;+-- > uint32_t srcQueueFamilyIndex;+-- > uint32_t dstQueueFamilyIndex;+-- > VkBuffer buffer;+-- > VkDeviceSize offset;+-- > VkDeviceSize size;+-- > } VkBufferMemoryBarrier;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferMemoryBarrier VkBufferMemoryBarrier registry at www.khronos.org>+data VkBufferMemoryBarrier = VkBufferMemoryBarrier## Addr##+ ByteArray##++instance Eq VkBufferMemoryBarrier where+ (VkBufferMemoryBarrier## a _) == x@(VkBufferMemoryBarrier## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBufferMemoryBarrier where+ (VkBufferMemoryBarrier## a _) `compare`+ x@(VkBufferMemoryBarrier## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBufferMemoryBarrier where+ sizeOf ~_ = #{size VkBufferMemoryBarrier}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBufferMemoryBarrier}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferMemoryBarrier where+ unsafeAddr (VkBufferMemoryBarrier## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBufferMemoryBarrier## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBufferMemoryBarrier## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferMemoryBarrier where+ type StructFields VkBufferMemoryBarrier =+ '["sType", "pNext", "srcAccessMask", "dstAccessMask", -- ' closing tick for hsc2hs+ "srcQueueFamilyIndex", "dstQueueFamilyIndex", "buffer", "offset",+ "size"]+ type CUnionType VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBufferMemoryBarrier = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkBufferMemoryBarrier+ where+ type FieldType "sType" VkBufferMemoryBarrier = VkStructureType+ type FieldOptional "sType" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, sType}+ type FieldIsArray "sType" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferMemoryBarrier, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkBufferMemoryBarrier+ where+ type FieldType "pNext" VkBufferMemoryBarrier = Ptr Void+ type FieldOptional "pNext" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, pNext}+ type FieldIsArray "pNext" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ HasField "srcAccessMask" VkBufferMemoryBarrier where+ type FieldType "srcAccessMask" VkBufferMemoryBarrier =+ VkAccessFlags+ type FieldOptional "srcAccessMask" VkBufferMemoryBarrier = 'True -- ' closing tick for hsc2hs+ type FieldOffset "srcAccessMask" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, srcAccessMask}+ type FieldIsArray "srcAccessMask" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "srcAccessMask" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "srcAccessMask" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ HasField "dstAccessMask" VkBufferMemoryBarrier where+ type FieldType "dstAccessMask" VkBufferMemoryBarrier =+ VkAccessFlags+ type FieldOptional "dstAccessMask" VkBufferMemoryBarrier = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dstAccessMask" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, dstAccessMask}+ type FieldIsArray "dstAccessMask" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "dstAccessMask" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "dstAccessMask" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ HasField "srcQueueFamilyIndex" VkBufferMemoryBarrier where+ type FieldType "srcQueueFamilyIndex" VkBufferMemoryBarrier = Word32+ type FieldOptional "srcQueueFamilyIndex" VkBufferMemoryBarrier =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcQueueFamilyIndex" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}+ type FieldIsArray "srcQueueFamilyIndex" VkBufferMemoryBarrier =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "srcQueueFamilyIndex" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "srcQueueFamilyIndex" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ HasField "dstQueueFamilyIndex" VkBufferMemoryBarrier where+ type FieldType "dstQueueFamilyIndex" VkBufferMemoryBarrier = Word32+ type FieldOptional "dstQueueFamilyIndex" VkBufferMemoryBarrier =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstQueueFamilyIndex" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}+ type FieldIsArray "dstQueueFamilyIndex" VkBufferMemoryBarrier =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "dstQueueFamilyIndex" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "dstQueueFamilyIndex" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkBufferMemoryBarrier where+ type FieldType "buffer" VkBufferMemoryBarrier = VkBuffer+ type FieldOptional "buffer" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, buffer}+ type FieldIsArray "buffer" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferMemoryBarrier, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, buffer}++instance {-# OVERLAPPING #-}+ HasField "offset" VkBufferMemoryBarrier where+ type FieldType "offset" VkBufferMemoryBarrier = VkDeviceSize+ type FieldOptional "offset" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, offset}+ type FieldIsArray "offset" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferMemoryBarrier, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, offset}++instance {-# OVERLAPPING #-} HasField "size" VkBufferMemoryBarrier+ where+ type FieldType "size" VkBufferMemoryBarrier = VkDeviceSize+ type FieldOptional "size" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkBufferMemoryBarrier =+ #{offset VkBufferMemoryBarrier, size}+ type FieldIsArray "size" VkBufferMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferMemoryBarrier, size}++instance {-# OVERLAPPING #-}+ CanReadField "size" VkBufferMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryBarrier, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryBarrier, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkBufferMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryBarrier, size}++instance Show VkBufferMemoryBarrier where+ showsPrec d x+ = showString "VkBufferMemoryBarrier {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "srcAccessMask = " .+ showsPrec d (getField @"srcAccessMask" x) .+ showString ", " .+ showString "dstAccessMask = " .+ showsPrec d (getField @"dstAccessMask" x) .+ showString ", " .+ showString "srcQueueFamilyIndex = " .+ showsPrec d (getField @"srcQueueFamilyIndex" x) .+ showString ", " .+ showString "dstQueueFamilyIndex = " .+ showsPrec d (getField @"dstQueueFamilyIndex" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) .+ showChar '}'++-- | > typedef struct VkBufferMemoryRequirementsInfo2 {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBuffer buffer;+-- > } VkBufferMemoryRequirementsInfo2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2 registry at www.khronos.org>+data VkBufferMemoryRequirementsInfo2 = VkBufferMemoryRequirementsInfo2## Addr##+ ByteArray##++instance Eq VkBufferMemoryRequirementsInfo2 where+ (VkBufferMemoryRequirementsInfo2## a _) ==+ x@(VkBufferMemoryRequirementsInfo2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBufferMemoryRequirementsInfo2 where+ (VkBufferMemoryRequirementsInfo2## a _) `compare`+ x@(VkBufferMemoryRequirementsInfo2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBufferMemoryRequirementsInfo2 where+ sizeOf ~_ = #{size VkBufferMemoryRequirementsInfo2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkBufferMemoryRequirementsInfo2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferMemoryRequirementsInfo2 where+ unsafeAddr (VkBufferMemoryRequirementsInfo2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBufferMemoryRequirementsInfo2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBufferMemoryRequirementsInfo2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferMemoryRequirementsInfo2 where+ type StructFields VkBufferMemoryRequirementsInfo2 =+ '["sType", "pNext", "buffer"] -- ' closing tick for hsc2hs+ type CUnionType VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBufferMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBufferMemoryRequirementsInfo2 where+ type FieldType "sType" VkBufferMemoryRequirementsInfo2 =+ VkStructureType+ type FieldOptional "sType" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBufferMemoryRequirementsInfo2 =+ #{offset VkBufferMemoryRequirementsInfo2, sType}+ type FieldIsArray "sType" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBufferMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBufferMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBufferMemoryRequirementsInfo2 where+ type FieldType "pNext" VkBufferMemoryRequirementsInfo2 = Ptr Void+ type FieldOptional "pNext" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBufferMemoryRequirementsInfo2 =+ #{offset VkBufferMemoryRequirementsInfo2, pNext}+ type FieldIsArray "pNext" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBufferMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBufferMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkBufferMemoryRequirementsInfo2 where+ type FieldType "buffer" VkBufferMemoryRequirementsInfo2 = VkBuffer+ type FieldOptional "buffer" VkBufferMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkBufferMemoryRequirementsInfo2 =+ #{offset VkBufferMemoryRequirementsInfo2, buffer}+ type FieldIsArray "buffer" VkBufferMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkBufferMemoryRequirementsInfo2, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkBufferMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferMemoryRequirementsInfo2, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferMemoryRequirementsInfo2, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkBufferMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferMemoryRequirementsInfo2, buffer}++instance Show VkBufferMemoryRequirementsInfo2 where+ showsPrec d x+ = showString "VkBufferMemoryRequirementsInfo2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) . showChar '}'++-- | Alias for `VkBufferMemoryRequirementsInfo2`+type VkBufferMemoryRequirementsInfo2KHR =+ VkBufferMemoryRequirementsInfo2++-- | > typedef struct VkBufferViewCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBufferViewCreateFlagsflags;+-- > VkBuffer buffer;+-- > VkFormat format;+-- > VkDeviceSize offset;+-- > VkDeviceSize range;+-- > } VkBufferViewCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkBufferViewCreateInfo VkBufferViewCreateInfo registry at www.khronos.org>+data VkBufferViewCreateInfo = VkBufferViewCreateInfo## Addr##+ ByteArray##++instance Eq VkBufferViewCreateInfo where+ (VkBufferViewCreateInfo## a _) == x@(VkBufferViewCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkBufferViewCreateInfo where+ (VkBufferViewCreateInfo## a _) `compare`+ x@(VkBufferViewCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkBufferViewCreateInfo where+ sizeOf ~_ = #{size VkBufferViewCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkBufferViewCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkBufferViewCreateInfo where+ unsafeAddr (VkBufferViewCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkBufferViewCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkBufferViewCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkBufferViewCreateInfo where+ type StructFields VkBufferViewCreateInfo =+ '["sType", "pNext", "flags", "buffer", "format", "offset", "range"] -- ' closing tick for hsc2hs+ type CUnionType VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkBufferViewCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkBufferViewCreateInfo where+ type FieldType "sType" VkBufferViewCreateInfo = VkStructureType+ type FieldOptional "sType" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, sType}+ type FieldIsArray "sType" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkBufferViewCreateInfo where+ type FieldType "pNext" VkBufferViewCreateInfo = Ptr Void+ type FieldOptional "pNext" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, pNext}+ type FieldIsArray "pNext" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkBufferViewCreateInfo where+ type FieldType "flags" VkBufferViewCreateInfo =+ VkBufferViewCreateFlags+ type FieldOptional "flags" VkBufferViewCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, flags}+ type FieldIsArray "flags" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkBufferViewCreateInfo where+ type FieldType "buffer" VkBufferViewCreateInfo = VkBuffer+ type FieldOptional "buffer" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, buffer}+ type FieldIsArray "buffer" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, buffer}++instance {-# OVERLAPPING #-}+ HasField "format" VkBufferViewCreateInfo where+ type FieldType "format" VkBufferViewCreateInfo = VkFormat+ type FieldOptional "format" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, format}+ type FieldIsArray "format" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, format}++instance {-# OVERLAPPING #-}+ HasField "offset" VkBufferViewCreateInfo where+ type FieldType "offset" VkBufferViewCreateInfo = VkDeviceSize+ type FieldOptional "offset" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, offset}+ type FieldIsArray "offset" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, offset}++instance {-# OVERLAPPING #-}+ HasField "range" VkBufferViewCreateInfo where+ type FieldType "range" VkBufferViewCreateInfo = VkDeviceSize+ type FieldOptional "range" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "range" VkBufferViewCreateInfo =+ #{offset VkBufferViewCreateInfo, range}+ type FieldIsArray "range" VkBufferViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkBufferViewCreateInfo, range}++instance {-# OVERLAPPING #-}+ CanReadField "range" VkBufferViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkBufferViewCreateInfo, range})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkBufferViewCreateInfo, range}++instance {-# OVERLAPPING #-}+ CanWriteField "range" VkBufferViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkBufferViewCreateInfo, range}++instance Show VkBufferViewCreateInfo where+ showsPrec d x+ = showString "VkBufferViewCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "range = " .+ showsPrec d (getField @"range" x) . showChar '}'
@@ -0,0 +1,913 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.Clear+ (VkClearAttachment(..), VkClearColorValue(..),+ VkClearDepthStencilValue(..), VkClearRect(..), VkClearValue(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##, Proxy##,+ byteArrayContents##,+ plusAddr##, proxy##)+import GHC.TypeLits (KnownNat, natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlags)+import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkClearAttachment {+-- > VkImageAspectFlags aspectMask;+-- > uint32_t colorAttachment;+-- > VkClearValue clearValue;+-- > } VkClearAttachment;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearAttachment VkClearAttachment registry at www.khronos.org>+data VkClearAttachment = VkClearAttachment## Addr## ByteArray##++instance Eq VkClearAttachment where+ (VkClearAttachment## a _) == x@(VkClearAttachment## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkClearAttachment where+ (VkClearAttachment## a _) `compare` x@(VkClearAttachment## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkClearAttachment where+ sizeOf ~_ = #{size VkClearAttachment}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkClearAttachment}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearAttachment where+ unsafeAddr (VkClearAttachment## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkClearAttachment## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkClearAttachment## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearAttachment where+ type StructFields VkClearAttachment =+ '["aspectMask", "colorAttachment", "clearValue"] -- ' closing tick for hsc2hs+ type CUnionType VkClearAttachment = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkClearAttachment = 'False -- ' closing tick for hsc2hs+ type StructExtends VkClearAttachment = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "aspectMask" VkClearAttachment where+ type FieldType "aspectMask" VkClearAttachment = VkImageAspectFlags+ type FieldOptional "aspectMask" VkClearAttachment = 'False -- ' closing tick for hsc2hs+ type FieldOffset "aspectMask" VkClearAttachment =+ #{offset VkClearAttachment, aspectMask}+ type FieldIsArray "aspectMask" VkClearAttachment = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearAttachment, aspectMask}++instance {-# OVERLAPPING #-}+ CanReadField "aspectMask" VkClearAttachment where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearAttachment, aspectMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearAttachment, aspectMask}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectMask" VkClearAttachment where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearAttachment, aspectMask}++instance {-# OVERLAPPING #-}+ HasField "colorAttachment" VkClearAttachment where+ type FieldType "colorAttachment" VkClearAttachment = Word32+ type FieldOptional "colorAttachment" VkClearAttachment = 'False -- ' closing tick for hsc2hs+ type FieldOffset "colorAttachment" VkClearAttachment =+ #{offset VkClearAttachment, colorAttachment}+ type FieldIsArray "colorAttachment" VkClearAttachment = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkClearAttachment, colorAttachment}++instance {-# OVERLAPPING #-}+ CanReadField "colorAttachment" VkClearAttachment where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearAttachment, colorAttachment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearAttachment, colorAttachment}++instance {-# OVERLAPPING #-}+ CanWriteField "colorAttachment" VkClearAttachment where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearAttachment, colorAttachment}++instance {-# OVERLAPPING #-}+ HasField "clearValue" VkClearAttachment where+ type FieldType "clearValue" VkClearAttachment = VkClearValue+ type FieldOptional "clearValue" VkClearAttachment = 'False -- ' closing tick for hsc2hs+ type FieldOffset "clearValue" VkClearAttachment =+ #{offset VkClearAttachment, clearValue}+ type FieldIsArray "clearValue" VkClearAttachment = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearAttachment, clearValue}++instance {-# OVERLAPPING #-}+ CanReadField "clearValue" VkClearAttachment where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearAttachment, clearValue})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearAttachment, clearValue}++instance {-# OVERLAPPING #-}+ CanWriteField "clearValue" VkClearAttachment where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearAttachment, clearValue}++instance Show VkClearAttachment where+ showsPrec d x+ = showString "VkClearAttachment {" .+ showString "aspectMask = " .+ showsPrec d (getField @"aspectMask" x) .+ showString ", " .+ showString "colorAttachment = " .+ showsPrec d (getField @"colorAttachment" x) .+ showString ", " .+ showString "clearValue = " .+ showsPrec d (getField @"clearValue" x) . showChar '}'++-- | // Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on image/attachment being cleared.+--+-- > typedef union VkClearColorValue {+-- > float float32[4];+-- > int32_t int32[4];+-- > uint32_t uint32[4];+-- > } VkClearColorValue;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearColorValue VkClearColorValue registry at www.khronos.org>+data VkClearColorValue = VkClearColorValue## Addr## ByteArray##++instance Eq VkClearColorValue where+ (VkClearColorValue## a _) == x@(VkClearColorValue## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkClearColorValue where+ (VkClearColorValue## a _) `compare` x@(VkClearColorValue## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkClearColorValue where+ sizeOf ~_ = #{size VkClearColorValue}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkClearColorValue}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearColorValue where+ unsafeAddr (VkClearColorValue## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkClearColorValue## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkClearColorValue## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearColorValue where+ type StructFields VkClearColorValue =+ '["float32", "int32", "uint32"] -- ' closing tick for hsc2hs+ type CUnionType VkClearColorValue = 'True -- ' closing tick for hsc2hs+ type ReturnedOnly VkClearColorValue = 'False -- ' closing tick for hsc2hs+ type StructExtends VkClearColorValue = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "float32" VkClearColorValue+ where+ type FieldType "float32" VkClearColorValue =+ #{type float}+ type FieldOptional "float32" VkClearColorValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "float32" VkClearColorValue =+ #{offset VkClearColorValue, float32}+ type FieldIsArray "float32" VkClearColorValue = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearColorValue, float32}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "float32" idx VkClearColorValue) =>+ CanReadFieldArray "float32" idx VkClearColorValue+ where+ {-# SPECIALISE instance+ CanReadFieldArray "float32" 0 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "float32" 1 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "float32" 2 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "float32" 3 VkClearColorValue #-}+ type FieldArrayLength "float32" VkClearColorValue = 4++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 4++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkClearColorValue, float32} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkClearColorValue, float32} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "float32" idx VkClearColorValue) =>+ CanWriteFieldArray "float32" idx VkClearColorValue+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "float32" 0 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "float32" 1 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "float32" 2 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "float32" 3 VkClearColorValue #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkClearColorValue, float32} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "int32" VkClearColorValue+ where+ type FieldType "int32" VkClearColorValue = Int32+ type FieldOptional "int32" VkClearColorValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "int32" VkClearColorValue =+ #{offset VkClearColorValue, int32}+ type FieldIsArray "int32" VkClearColorValue = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearColorValue, int32}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "int32" idx VkClearColorValue) =>+ CanReadFieldArray "int32" idx VkClearColorValue+ where+ {-# SPECIALISE instance+ CanReadFieldArray "int32" 0 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "int32" 1 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "int32" 2 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "int32" 3 VkClearColorValue #-}+ type FieldArrayLength "int32" VkClearColorValue = 4++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 4++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkClearColorValue, int32} ++ sizeOf (undefined :: Int32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkClearColorValue, int32} ++ sizeOf (undefined :: Int32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "int32" idx VkClearColorValue) =>+ CanWriteFieldArray "int32" idx VkClearColorValue+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "int32" 0 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "int32" 1 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "int32" 2 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "int32" 3 VkClearColorValue #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkClearColorValue, int32} ++ sizeOf (undefined :: Int32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "uint32" VkClearColorValue+ where+ type FieldType "uint32" VkClearColorValue = Word32+ type FieldOptional "uint32" VkClearColorValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "uint32" VkClearColorValue =+ #{offset VkClearColorValue, uint32}+ type FieldIsArray "uint32" VkClearColorValue = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearColorValue, uint32}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "uint32" idx VkClearColorValue) =>+ CanReadFieldArray "uint32" idx VkClearColorValue+ where+ {-# SPECIALISE instance+ CanReadFieldArray "uint32" 0 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "uint32" 1 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "uint32" 2 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanReadFieldArray "uint32" 3 VkClearColorValue #-}+ type FieldArrayLength "uint32" VkClearColorValue = 4++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 4++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkClearColorValue, uint32} ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkClearColorValue, uint32} ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "uint32" idx VkClearColorValue) =>+ CanWriteFieldArray "uint32" idx VkClearColorValue+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "uint32" 0 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "uint32" 1 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "uint32" 2 VkClearColorValue #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "uint32" 3 VkClearColorValue #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkClearColorValue, uint32} ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkClearColorValue where+ showsPrec d x+ = showString "VkClearColorValue {" .+ (showString "float32 = [" .+ showsPrec d+ (let s = sizeOf+ (undefined :: FieldType "float32" VkClearColorValue)+ o = fieldOffset @"float32" @VkClearColorValue+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "float32" VkClearColorValue)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 4 - 1])+ . showChar ']')+ .+ showString ", " .+ (showString "int32 = [" .+ showsPrec d+ (let s = sizeOf (undefined :: FieldType "int32" VkClearColorValue)+ o = fieldOffset @"int32" @VkClearColorValue+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "int32" VkClearColorValue)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 4 - 1])+ . showChar ']')+ .+ showString ", " .+ (showString "uint32 = [" .+ showsPrec d+ (let s = sizeOf (undefined :: FieldType "uint32" VkClearColorValue)+ o = fieldOffset @"uint32" @VkClearColorValue+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "uint32" VkClearColorValue)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 4 - 1])+ . showChar ']')+ . showChar '}'++-- | > typedef struct VkClearDepthStencilValue {+-- > float depth;+-- > uint32_t stencil;+-- > } VkClearDepthStencilValue;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearDepthStencilValue VkClearDepthStencilValue registry at www.khronos.org>+data VkClearDepthStencilValue = VkClearDepthStencilValue## Addr##+ ByteArray##++instance Eq VkClearDepthStencilValue where+ (VkClearDepthStencilValue## a _) ==+ x@(VkClearDepthStencilValue## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkClearDepthStencilValue where+ (VkClearDepthStencilValue## a _) `compare`+ x@(VkClearDepthStencilValue## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkClearDepthStencilValue where+ sizeOf ~_ = #{size VkClearDepthStencilValue}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkClearDepthStencilValue}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearDepthStencilValue where+ unsafeAddr (VkClearDepthStencilValue## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkClearDepthStencilValue## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkClearDepthStencilValue## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearDepthStencilValue where+ type StructFields VkClearDepthStencilValue = '["depth", "stencil"] -- ' closing tick for hsc2hs+ type CUnionType VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+ type StructExtends VkClearDepthStencilValue = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "depth" VkClearDepthStencilValue where+ type FieldType "depth" VkClearDepthStencilValue =+ #{type float}+ type FieldOptional "depth" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depth" VkClearDepthStencilValue =+ #{offset VkClearDepthStencilValue, depth}+ type FieldIsArray "depth" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearDepthStencilValue, depth}++instance {-# OVERLAPPING #-}+ CanReadField "depth" VkClearDepthStencilValue where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, depth})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearDepthStencilValue, depth}++instance {-# OVERLAPPING #-}+ CanWriteField "depth" VkClearDepthStencilValue where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearDepthStencilValue, depth}++instance {-# OVERLAPPING #-}+ HasField "stencil" VkClearDepthStencilValue where+ type FieldType "stencil" VkClearDepthStencilValue = Word32+ type FieldOptional "stencil" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "stencil" VkClearDepthStencilValue =+ #{offset VkClearDepthStencilValue, stencil}+ type FieldIsArray "stencil" VkClearDepthStencilValue = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkClearDepthStencilValue, stencil}++instance {-# OVERLAPPING #-}+ CanReadField "stencil" VkClearDepthStencilValue where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearDepthStencilValue, stencil})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearDepthStencilValue, stencil}++instance {-# OVERLAPPING #-}+ CanWriteField "stencil" VkClearDepthStencilValue where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearDepthStencilValue, stencil}++instance Show VkClearDepthStencilValue where+ showsPrec d x+ = showString "VkClearDepthStencilValue {" .+ showString "depth = " .+ showsPrec d (getField @"depth" x) .+ showString ", " .+ showString "stencil = " .+ showsPrec d (getField @"stencil" x) . showChar '}'++-- | > typedef struct VkClearRect {+-- > VkRect2D rect;+-- > uint32_t baseArrayLayer;+-- > uint32_t layerCount;+-- > } VkClearRect;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearRect VkClearRect registry at www.khronos.org>+data VkClearRect = VkClearRect## Addr## ByteArray##++instance Eq VkClearRect where+ (VkClearRect## a _) == x@(VkClearRect## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkClearRect where+ (VkClearRect## a _) `compare` x@(VkClearRect## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkClearRect where+ sizeOf ~_ = #{size VkClearRect}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkClearRect}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearRect where+ unsafeAddr (VkClearRect## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkClearRect## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkClearRect## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearRect where+ type StructFields VkClearRect =+ '["rect", "baseArrayLayer", "layerCount"] -- ' closing tick for hsc2hs+ type CUnionType VkClearRect = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkClearRect = 'False -- ' closing tick for hsc2hs+ type StructExtends VkClearRect = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "rect" VkClearRect where+ type FieldType "rect" VkClearRect = VkRect2D+ type FieldOptional "rect" VkClearRect = 'False -- ' closing tick for hsc2hs+ type FieldOffset "rect" VkClearRect =+ #{offset VkClearRect, rect}+ type FieldIsArray "rect" VkClearRect = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearRect, rect}++instance {-# OVERLAPPING #-} CanReadField "rect" VkClearRect where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearRect, rect})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkClearRect, rect}++instance {-# OVERLAPPING #-} CanWriteField "rect" VkClearRect where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearRect, rect}++instance {-# OVERLAPPING #-} HasField "baseArrayLayer" VkClearRect+ where+ type FieldType "baseArrayLayer" VkClearRect = Word32+ type FieldOptional "baseArrayLayer" VkClearRect = 'False -- ' closing tick for hsc2hs+ type FieldOffset "baseArrayLayer" VkClearRect =+ #{offset VkClearRect, baseArrayLayer}+ type FieldIsArray "baseArrayLayer" VkClearRect = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearRect, baseArrayLayer}++instance {-# OVERLAPPING #-}+ CanReadField "baseArrayLayer" VkClearRect where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearRect, baseArrayLayer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearRect, baseArrayLayer}++instance {-# OVERLAPPING #-}+ CanWriteField "baseArrayLayer" VkClearRect where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearRect, baseArrayLayer}++instance {-# OVERLAPPING #-} HasField "layerCount" VkClearRect+ where+ type FieldType "layerCount" VkClearRect = Word32+ type FieldOptional "layerCount" VkClearRect = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layerCount" VkClearRect =+ #{offset VkClearRect, layerCount}+ type FieldIsArray "layerCount" VkClearRect = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearRect, layerCount}++instance {-# OVERLAPPING #-} CanReadField "layerCount" VkClearRect+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearRect, layerCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearRect, layerCount}++instance {-# OVERLAPPING #-} CanWriteField "layerCount" VkClearRect+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearRect, layerCount}++instance Show VkClearRect where+ showsPrec d x+ = showString "VkClearRect {" .+ showString "rect = " .+ showsPrec d (getField @"rect" x) .+ showString ", " .+ showString "baseArrayLayer = " .+ showsPrec d (getField @"baseArrayLayer" x) .+ showString ", " .+ showString "layerCount = " .+ showsPrec d (getField @"layerCount" x) . showChar '}'++-- | // Union allowing specification of color or depth and stencil values. Actual value selected is based on attachment being cleared.+--+-- > typedef union VkClearValue {+-- > VkClearColorValue color;+-- > VkClearDepthStencilValue depthStencil;+-- > } VkClearValue;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkClearValue VkClearValue registry at www.khronos.org>+data VkClearValue = VkClearValue## Addr## ByteArray##++instance Eq VkClearValue where+ (VkClearValue## a _) == x@(VkClearValue## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkClearValue where+ (VkClearValue## a _) `compare` x@(VkClearValue## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkClearValue where+ sizeOf ~_ = #{size VkClearValue}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkClearValue}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkClearValue where+ unsafeAddr (VkClearValue## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkClearValue## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkClearValue## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkClearValue where+ type StructFields VkClearValue = '["color", "depthStencil"] -- ' closing tick for hsc2hs+ type CUnionType VkClearValue = 'True -- ' closing tick for hsc2hs+ type ReturnedOnly VkClearValue = 'False -- ' closing tick for hsc2hs+ type StructExtends VkClearValue = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "color" VkClearValue where+ type FieldType "color" VkClearValue = VkClearColorValue+ type FieldOptional "color" VkClearValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "color" VkClearValue =+ #{offset VkClearValue, color}+ type FieldIsArray "color" VkClearValue = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearValue, color}++instance {-# OVERLAPPING #-} CanReadField "color" VkClearValue+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearValue, color})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearValue, color}++instance {-# OVERLAPPING #-} CanWriteField "color" VkClearValue+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearValue, color}++instance {-# OVERLAPPING #-} HasField "depthStencil" VkClearValue+ where+ type FieldType "depthStencil" VkClearValue =+ VkClearDepthStencilValue+ type FieldOptional "depthStencil" VkClearValue = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthStencil" VkClearValue =+ #{offset VkClearValue, depthStencil}+ type FieldIsArray "depthStencil" VkClearValue = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkClearValue, depthStencil}++instance {-# OVERLAPPING #-}+ CanReadField "depthStencil" VkClearValue where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkClearValue, depthStencil})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkClearValue, depthStencil}++instance {-# OVERLAPPING #-}+ CanWriteField "depthStencil" VkClearValue where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkClearValue, depthStencil}++instance Show VkClearValue where+ showsPrec d x+ = showString "VkClearValue {" .+ showString "color = " .+ showsPrec d (getField @"color" x) .+ showString ", " .+ showString "depthStencil = " .+ showsPrec d (getField @"depthStencil" x) . showChar '}'
@@ -0,0 +1,906 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Cmd+ (VkCmdProcessCommandsInfoNVX(..),+ VkCmdReserveSpaceForCommandsInfoNVX(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer,+ VkCommandBuffer,+ VkIndirectCommandsLayoutNVX,+ VkObjectTableNVX)+import Graphics.Vulkan.Types.Struct.IndirectCommands (VkIndirectCommandsTokenNVX)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkCmdProcessCommandsInfoNVX {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkObjectTableNVX objectTable;+-- > VkIndirectCommandsLayoutNVX indirectCommandsLayout;+-- > uint32_t indirectCommandsTokenCount;+-- > const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens;+-- > uint32_t maxSequencesCount;+-- > VkCommandBuffer targetCommandBuffer;+-- > VkBuffer sequencesCountBuffer;+-- > VkDeviceSize sequencesCountOffset;+-- > VkBuffer sequencesIndexBuffer;+-- > VkDeviceSize sequencesIndexOffset;+-- > } VkCmdProcessCommandsInfoNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCmdProcessCommandsInfoNVX VkCmdProcessCommandsInfoNVX registry at www.khronos.org>+data VkCmdProcessCommandsInfoNVX = VkCmdProcessCommandsInfoNVX## Addr##+ ByteArray##++instance Eq VkCmdProcessCommandsInfoNVX where+ (VkCmdProcessCommandsInfoNVX## a _) ==+ x@(VkCmdProcessCommandsInfoNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCmdProcessCommandsInfoNVX where+ (VkCmdProcessCommandsInfoNVX## a _) `compare`+ x@(VkCmdProcessCommandsInfoNVX## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCmdProcessCommandsInfoNVX where+ sizeOf ~_ = #{size VkCmdProcessCommandsInfoNVX}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkCmdProcessCommandsInfoNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCmdProcessCommandsInfoNVX where+ unsafeAddr (VkCmdProcessCommandsInfoNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCmdProcessCommandsInfoNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCmdProcessCommandsInfoNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCmdProcessCommandsInfoNVX where+ type StructFields VkCmdProcessCommandsInfoNVX =+ '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs+ "indirectCommandsTokenCount", "pIndirectCommandsTokens",+ "maxSequencesCount", "targetCommandBuffer", "sequencesCountBuffer",+ "sequencesCountOffset", "sequencesIndexBuffer",+ "sequencesIndexOffset"]+ type CUnionType VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCmdProcessCommandsInfoNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkCmdProcessCommandsInfoNVX where+ type FieldType "sType" VkCmdProcessCommandsInfoNVX =+ VkStructureType+ type FieldOptional "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCmdProcessCommandsInfoNVX =+ #{offset VkCmdProcessCommandsInfoNVX, sType}+ type FieldIsArray "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCmdProcessCommandsInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCmdProcessCommandsInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkCmdProcessCommandsInfoNVX where+ type FieldType "pNext" VkCmdProcessCommandsInfoNVX = Ptr Void+ type FieldOptional "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCmdProcessCommandsInfoNVX =+ #{offset VkCmdProcessCommandsInfoNVX, pNext}+ type FieldIsArray "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCmdProcessCommandsInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCmdProcessCommandsInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectTable" VkCmdProcessCommandsInfoNVX where+ type FieldType "objectTable" VkCmdProcessCommandsInfoNVX =+ VkObjectTableNVX+ type FieldOptional "objectTable" VkCmdProcessCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectTable" VkCmdProcessCommandsInfoNVX =+ #{offset VkCmdProcessCommandsInfoNVX, objectTable}+ type FieldIsArray "objectTable" VkCmdProcessCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+ CanReadField "objectTable" VkCmdProcessCommandsInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, objectTable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+ CanWriteField "objectTable" VkCmdProcessCommandsInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+ HasField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX where+ type FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX+ = VkIndirectCommandsLayoutNVX+ type FieldOptional "indirectCommandsLayout"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "indirectCommandsLayout"+ VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}+ type FieldIsArray "indirectCommandsLayout"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+ CanReadField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+ HasField "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX+ where+ type FieldType "indirectCommandsTokenCount"+ VkCmdProcessCommandsInfoNVX+ = Word32+ type FieldOptional "indirectCommandsTokenCount"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "indirectCommandsTokenCount"+ VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}+ type FieldIsArray "indirectCommandsTokenCount"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}++instance {-# OVERLAPPING #-}+ CanReadField "indirectCommandsTokenCount"+ VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}++instance {-# OVERLAPPING #-}+ CanWriteField "indirectCommandsTokenCount"+ VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, indirectCommandsTokenCount}++instance {-# OVERLAPPING #-}+ HasField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX+ where+ type FieldType "pIndirectCommandsTokens"+ VkCmdProcessCommandsInfoNVX+ = Ptr VkIndirectCommandsTokenNVX+ type FieldOptional "pIndirectCommandsTokens"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pIndirectCommandsTokens"+ VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}+ type FieldIsArray "pIndirectCommandsTokens"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}++instance {-# OVERLAPPING #-}+ CanReadField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}++instance {-# OVERLAPPING #-}+ CanWriteField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, pIndirectCommandsTokens}++instance {-# OVERLAPPING #-}+ HasField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where+ type FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX =+ Word32+ type FieldOptional "maxSequencesCount" VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSequencesCount" VkCmdProcessCommandsInfoNVX =+ #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}+ type FieldIsArray "maxSequencesCount" VkCmdProcessCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, maxSequencesCount}++instance {-# OVERLAPPING #-}+ HasField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX where+ type FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX =+ VkCommandBuffer+ type FieldOptional "targetCommandBuffer"+ VkCmdProcessCommandsInfoNVX+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "targetCommandBuffer" VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}+ type FieldIsArray "targetCommandBuffer" VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++instance {-# OVERLAPPING #-}+ CanReadField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, targetCommandBuffer}++instance {-# OVERLAPPING #-}+ HasField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX where+ type FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX =+ VkBuffer+ type FieldOptional "sequencesCountBuffer"+ VkCmdProcessCommandsInfoNVX+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}+ type FieldIsArray "sequencesCountBuffer"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}++instance {-# OVERLAPPING #-}+ CanReadField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountBuffer}++instance {-# OVERLAPPING #-}+ HasField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX where+ type FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX =+ VkDeviceSize+ type FieldOptional "sequencesCountOffset"+ VkCmdProcessCommandsInfoNVX+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sequencesCountOffset" VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}+ type FieldIsArray "sequencesCountOffset"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}++instance {-# OVERLAPPING #-}+ CanReadField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesCountOffset}++instance {-# OVERLAPPING #-}+ HasField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX where+ type FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX =+ VkBuffer+ type FieldOptional "sequencesIndexBuffer"+ VkCmdProcessCommandsInfoNVX+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}+ type FieldIsArray "sequencesIndexBuffer"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}++instance {-# OVERLAPPING #-}+ CanReadField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexBuffer}++instance {-# OVERLAPPING #-}+ HasField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX where+ type FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX =+ VkDeviceSize+ type FieldOptional "sequencesIndexOffset"+ VkCmdProcessCommandsInfoNVX+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX+ =+ #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}+ type FieldIsArray "sequencesIndexOffset"+ VkCmdProcessCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}++instance {-# OVERLAPPING #-}+ CanReadField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdProcessCommandsInfoNVX, sequencesIndexOffset}++instance Show VkCmdProcessCommandsInfoNVX where+ showsPrec d x+ = showString "VkCmdProcessCommandsInfoNVX {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectTable = " .+ showsPrec d (getField @"objectTable" x) .+ showString ", " .+ showString "indirectCommandsLayout = " .+ showsPrec d (getField @"indirectCommandsLayout" x) .+ showString ", " .+ showString "indirectCommandsTokenCount = " .+ showsPrec d (getField @"indirectCommandsTokenCount" x) .+ showString ", " .+ showString "pIndirectCommandsTokens = " .+ showsPrec d (getField @"pIndirectCommandsTokens" x) .+ showString ", " .+ showString "maxSequencesCount = " .+ showsPrec d (getField @"maxSequencesCount" x) .+ showString ", " .+ showString "targetCommandBuffer = " .+ showsPrec d+ (getField @"targetCommandBuffer" x)+ .+ showString ", " .+ showString "sequencesCountBuffer = " .+ showsPrec d+ (getField @"sequencesCountBuffer"+ x)+ .+ showString ", " .+ showString+ "sequencesCountOffset = "+ .+ showsPrec d+ (getField+ @"sequencesCountOffset"+ x)+ .+ showString ", " .+ showString+ "sequencesIndexBuffer = "+ .+ showsPrec d+ (getField+ @"sequencesIndexBuffer"+ x)+ .+ showString ", " .+ showString+ "sequencesIndexOffset = "+ .+ showsPrec d+ (getField+ @"sequencesIndexOffset"+ x)+ . showChar '}'++-- | > typedef struct VkCmdReserveSpaceForCommandsInfoNVX {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkObjectTableNVX objectTable;+-- > VkIndirectCommandsLayoutNVX indirectCommandsLayout;+-- > uint32_t maxSequencesCount;+-- > } VkCmdReserveSpaceForCommandsInfoNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCmdReserveSpaceForCommandsInfoNVX VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org>+data VkCmdReserveSpaceForCommandsInfoNVX = VkCmdReserveSpaceForCommandsInfoNVX## Addr##+ ByteArray##++instance Eq VkCmdReserveSpaceForCommandsInfoNVX where+ (VkCmdReserveSpaceForCommandsInfoNVX## a _) ==+ x@(VkCmdReserveSpaceForCommandsInfoNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCmdReserveSpaceForCommandsInfoNVX where+ (VkCmdReserveSpaceForCommandsInfoNVX## a _) `compare`+ x@(VkCmdReserveSpaceForCommandsInfoNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCmdReserveSpaceForCommandsInfoNVX where+ sizeOf ~_ = #{size VkCmdReserveSpaceForCommandsInfoNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkCmdReserveSpaceForCommandsInfoNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCmdReserveSpaceForCommandsInfoNVX+ where+ unsafeAddr (VkCmdReserveSpaceForCommandsInfoNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCmdReserveSpaceForCommandsInfoNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCmdReserveSpaceForCommandsInfoNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCmdReserveSpaceForCommandsInfoNVX where+ type StructFields VkCmdReserveSpaceForCommandsInfoNVX =+ '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs+ "maxSequencesCount"]+ type CUnionType VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCmdReserveSpaceForCommandsInfoNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkCmdReserveSpaceForCommandsInfoNVX where+ type FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX =+ VkStructureType+ type FieldOptional "sType" VkCmdReserveSpaceForCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCmdReserveSpaceForCommandsInfoNVX =+ #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}+ type FieldIsArray "sType" VkCmdReserveSpaceForCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCmdReserveSpaceForCommandsInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCmdReserveSpaceForCommandsInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where+ type FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+ Ptr Void+ type FieldOptional "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+ #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}+ type FieldIsArray "pNext" VkCmdReserveSpaceForCommandsInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX where+ type FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX =+ VkObjectTableNVX+ type FieldOptional "objectTable"+ VkCmdReserveSpaceForCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectTable" VkCmdReserveSpaceForCommandsInfoNVX+ =+ #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}+ type FieldIsArray "objectTable" VkCmdReserveSpaceForCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+ CanReadField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+ CanWriteField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, objectTable}++instance {-# OVERLAPPING #-}+ HasField "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ where+ type FieldType "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ = VkIndirectCommandsLayoutNVX+ type FieldOptional "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ =+ #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}+ type FieldIsArray "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+ CanReadField "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "indirectCommandsLayout"+ VkCmdReserveSpaceForCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, indirectCommandsLayout}++instance {-# OVERLAPPING #-}+ HasField "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX+ where+ type FieldType "maxSequencesCount"+ VkCmdReserveSpaceForCommandsInfoNVX+ = Word32+ type FieldOptional "maxSequencesCount"+ VkCmdReserveSpaceForCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSequencesCount"+ VkCmdReserveSpaceForCommandsInfoNVX+ =+ #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}+ type FieldIsArray "maxSequencesCount"+ VkCmdReserveSpaceForCommandsInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxSequencesCount"+ VkCmdReserveSpaceForCommandsInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSequencesCount"+ VkCmdReserveSpaceForCommandsInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCmdReserveSpaceForCommandsInfoNVX, maxSequencesCount}++instance Show VkCmdReserveSpaceForCommandsInfoNVX where+ showsPrec d x+ = showString "VkCmdReserveSpaceForCommandsInfoNVX {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectTable = " .+ showsPrec d (getField @"objectTable" x) .+ showString ", " .+ showString "indirectCommandsLayout = " .+ showsPrec d (getField @"indirectCommandsLayout" x) .+ showString ", " .+ showString "maxSequencesCount = " .+ showsPrec d (getField @"maxSequencesCount" x) . showChar '}'
@@ -0,0 +1,1057 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Command+ (VkCommandBufferAllocateInfo(..), VkCommandBufferBeginInfo(..),+ VkCommandBufferInheritanceInfo(..), VkCommandPoolCreateInfo(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Enum.Command (VkCommandBufferLevel, VkCommandBufferUsageFlags,+ VkCommandPoolCreateFlags)+import Graphics.Vulkan.Types.Enum.Query (VkQueryControlFlags, VkQueryPipelineStatisticFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkCommandPool,+ VkFramebuffer,+ VkRenderPass)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkCommandBufferAllocateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkCommandPool commandPool;+-- > VkCommandBufferLevel level;+-- > uint32_t commandBufferCount;+-- > } VkCommandBufferAllocateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo registry at www.khronos.org>+data VkCommandBufferAllocateInfo = VkCommandBufferAllocateInfo## Addr##+ ByteArray##++instance Eq VkCommandBufferAllocateInfo where+ (VkCommandBufferAllocateInfo## a _) ==+ x@(VkCommandBufferAllocateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCommandBufferAllocateInfo where+ (VkCommandBufferAllocateInfo## a _) `compare`+ x@(VkCommandBufferAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCommandBufferAllocateInfo where+ sizeOf ~_ = #{size VkCommandBufferAllocateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkCommandBufferAllocateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandBufferAllocateInfo where+ unsafeAddr (VkCommandBufferAllocateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCommandBufferAllocateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCommandBufferAllocateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandBufferAllocateInfo where+ type StructFields VkCommandBufferAllocateInfo =+ '["sType", "pNext", "commandPool", "level", "commandBufferCount"] -- ' closing tick for hsc2hs+ type CUnionType VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCommandBufferAllocateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkCommandBufferAllocateInfo where+ type FieldType "sType" VkCommandBufferAllocateInfo =+ VkStructureType+ type FieldOptional "sType" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCommandBufferAllocateInfo =+ #{offset VkCommandBufferAllocateInfo, sType}+ type FieldIsArray "sType" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCommandBufferAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCommandBufferAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkCommandBufferAllocateInfo where+ type FieldType "pNext" VkCommandBufferAllocateInfo = Ptr Void+ type FieldOptional "pNext" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCommandBufferAllocateInfo =+ #{offset VkCommandBufferAllocateInfo, pNext}+ type FieldIsArray "pNext" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCommandBufferAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCommandBufferAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "commandPool" VkCommandBufferAllocateInfo where+ type FieldType "commandPool" VkCommandBufferAllocateInfo =+ VkCommandPool+ type FieldOptional "commandPool" VkCommandBufferAllocateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "commandPool" VkCommandBufferAllocateInfo =+ #{offset VkCommandBufferAllocateInfo, commandPool}+ type FieldIsArray "commandPool" VkCommandBufferAllocateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferAllocateInfo, commandPool}++instance {-# OVERLAPPING #-}+ CanReadField "commandPool" VkCommandBufferAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandPool})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}++instance {-# OVERLAPPING #-}+ CanWriteField "commandPool" VkCommandBufferAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandPool}++instance {-# OVERLAPPING #-}+ HasField "level" VkCommandBufferAllocateInfo where+ type FieldType "level" VkCommandBufferAllocateInfo =+ VkCommandBufferLevel+ type FieldOptional "level" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "level" VkCommandBufferAllocateInfo =+ #{offset VkCommandBufferAllocateInfo, level}+ type FieldIsArray "level" VkCommandBufferAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferAllocateInfo, level}++instance {-# OVERLAPPING #-}+ CanReadField "level" VkCommandBufferAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, level})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferAllocateInfo, level}++instance {-# OVERLAPPING #-}+ CanWriteField "level" VkCommandBufferAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferAllocateInfo, level}++instance {-# OVERLAPPING #-}+ HasField "commandBufferCount" VkCommandBufferAllocateInfo where+ type FieldType "commandBufferCount" VkCommandBufferAllocateInfo =+ Word32+ type FieldOptional "commandBufferCount" VkCommandBufferAllocateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "commandBufferCount" VkCommandBufferAllocateInfo =+ #{offset VkCommandBufferAllocateInfo, commandBufferCount}+ type FieldIsArray "commandBufferCount" VkCommandBufferAllocateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferAllocateInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ CanReadField "commandBufferCount" VkCommandBufferAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferAllocateInfo, commandBufferCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ CanWriteField "commandBufferCount" VkCommandBufferAllocateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferAllocateInfo, commandBufferCount}++instance Show VkCommandBufferAllocateInfo where+ showsPrec d x+ = showString "VkCommandBufferAllocateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "commandPool = " .+ showsPrec d (getField @"commandPool" x) .+ showString ", " .+ showString "level = " .+ showsPrec d (getField @"level" x) .+ showString ", " .+ showString "commandBufferCount = " .+ showsPrec d (getField @"commandBufferCount" x) .+ showChar '}'++-- | > typedef struct VkCommandBufferBeginInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkCommandBufferUsageFlags flags;+-- > const VkCommandBufferInheritanceInfo* pInheritanceInfo;+-- > } VkCommandBufferBeginInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferBeginInfo VkCommandBufferBeginInfo registry at www.khronos.org>+data VkCommandBufferBeginInfo = VkCommandBufferBeginInfo## Addr##+ ByteArray##++instance Eq VkCommandBufferBeginInfo where+ (VkCommandBufferBeginInfo## a _) ==+ x@(VkCommandBufferBeginInfo## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCommandBufferBeginInfo where+ (VkCommandBufferBeginInfo## a _) `compare`+ x@(VkCommandBufferBeginInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCommandBufferBeginInfo where+ sizeOf ~_ = #{size VkCommandBufferBeginInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkCommandBufferBeginInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandBufferBeginInfo where+ unsafeAddr (VkCommandBufferBeginInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCommandBufferBeginInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCommandBufferBeginInfo## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandBufferBeginInfo where+ type StructFields VkCommandBufferBeginInfo =+ '["sType", "pNext", "flags", "pInheritanceInfo"] -- ' closing tick for hsc2hs+ type CUnionType VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCommandBufferBeginInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkCommandBufferBeginInfo where+ type FieldType "sType" VkCommandBufferBeginInfo = VkStructureType+ type FieldOptional "sType" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCommandBufferBeginInfo =+ #{offset VkCommandBufferBeginInfo, sType}+ type FieldIsArray "sType" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCommandBufferBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkCommandBufferBeginInfo where+ type FieldType "pNext" VkCommandBufferBeginInfo = Ptr Void+ type FieldOptional "pNext" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCommandBufferBeginInfo =+ #{offset VkCommandBufferBeginInfo, pNext}+ type FieldIsArray "pNext" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCommandBufferBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkCommandBufferBeginInfo where+ type FieldType "flags" VkCommandBufferBeginInfo =+ VkCommandBufferUsageFlags+ type FieldOptional "flags" VkCommandBufferBeginInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkCommandBufferBeginInfo =+ #{offset VkCommandBufferBeginInfo, flags}+ type FieldIsArray "flags" VkCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCommandBufferBeginInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferBeginInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkCommandBufferBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferBeginInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "pInheritanceInfo" VkCommandBufferBeginInfo where+ type FieldType "pInheritanceInfo" VkCommandBufferBeginInfo =+ Ptr VkCommandBufferInheritanceInfo+ type FieldOptional "pInheritanceInfo" VkCommandBufferBeginInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pInheritanceInfo" VkCommandBufferBeginInfo =+ #{offset VkCommandBufferBeginInfo, pInheritanceInfo}+ type FieldIsArray "pInheritanceInfo" VkCommandBufferBeginInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++instance {-# OVERLAPPING #-}+ CanReadField "pInheritanceInfo" VkCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferBeginInfo, pInheritanceInfo})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++instance {-# OVERLAPPING #-}+ CanWriteField "pInheritanceInfo" VkCommandBufferBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferBeginInfo, pInheritanceInfo}++instance Show VkCommandBufferBeginInfo where+ showsPrec d x+ = showString "VkCommandBufferBeginInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pInheritanceInfo = " .+ showsPrec d (getField @"pInheritanceInfo" x) . showChar '}'++-- | > typedef struct VkCommandBufferInheritanceInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkRenderPass renderPass;+-- > uint32_t subpass;+-- > VkFramebuffer framebuffer;+-- > VkBool32 occlusionQueryEnable;+-- > VkQueryControlFlags queryFlags;+-- > VkQueryPipelineStatisticFlags pipelineStatistics;+-- > } VkCommandBufferInheritanceInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo registry at www.khronos.org>+data VkCommandBufferInheritanceInfo = VkCommandBufferInheritanceInfo## Addr##+ ByteArray##++instance Eq VkCommandBufferInheritanceInfo where+ (VkCommandBufferInheritanceInfo## a _) ==+ x@(VkCommandBufferInheritanceInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCommandBufferInheritanceInfo where+ (VkCommandBufferInheritanceInfo## a _) `compare`+ x@(VkCommandBufferInheritanceInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCommandBufferInheritanceInfo where+ sizeOf ~_ = #{size VkCommandBufferInheritanceInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkCommandBufferInheritanceInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandBufferInheritanceInfo where+ unsafeAddr (VkCommandBufferInheritanceInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCommandBufferInheritanceInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCommandBufferInheritanceInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandBufferInheritanceInfo where+ type StructFields VkCommandBufferInheritanceInfo =+ '["sType", "pNext", "renderPass", "subpass", "framebuffer", -- ' closing tick for hsc2hs+ "occlusionQueryEnable", "queryFlags", "pipelineStatistics"]+ type CUnionType VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCommandBufferInheritanceInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkCommandBufferInheritanceInfo where+ type FieldType "sType" VkCommandBufferInheritanceInfo =+ VkStructureType+ type FieldOptional "sType" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCommandBufferInheritanceInfo =+ #{offset VkCommandBufferInheritanceInfo, sType}+ type FieldIsArray "sType" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCommandBufferInheritanceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCommandBufferInheritanceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkCommandBufferInheritanceInfo where+ type FieldType "pNext" VkCommandBufferInheritanceInfo = Ptr Void+ type FieldOptional "pNext" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCommandBufferInheritanceInfo =+ #{offset VkCommandBufferInheritanceInfo, pNext}+ type FieldIsArray "pNext" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCommandBufferInheritanceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCommandBufferInheritanceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "renderPass" VkCommandBufferInheritanceInfo where+ type FieldType "renderPass" VkCommandBufferInheritanceInfo =+ VkRenderPass+ type FieldOptional "renderPass" VkCommandBufferInheritanceInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "renderPass" VkCommandBufferInheritanceInfo =+ #{offset VkCommandBufferInheritanceInfo, renderPass}+ type FieldIsArray "renderPass" VkCommandBufferInheritanceInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanReadField "renderPass" VkCommandBufferInheritanceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, renderPass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanWriteField "renderPass" VkCommandBufferInheritanceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, renderPass}++instance {-# OVERLAPPING #-}+ HasField "subpass" VkCommandBufferInheritanceInfo where+ type FieldType "subpass" VkCommandBufferInheritanceInfo = Word32+ type FieldOptional "subpass" VkCommandBufferInheritanceInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "subpass" VkCommandBufferInheritanceInfo =+ #{offset VkCommandBufferInheritanceInfo, subpass}+ type FieldIsArray "subpass" VkCommandBufferInheritanceInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, subpass}++instance {-# OVERLAPPING #-}+ CanReadField "subpass" VkCommandBufferInheritanceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, subpass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}++instance {-# OVERLAPPING #-}+ CanWriteField "subpass" VkCommandBufferInheritanceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, subpass}++instance {-# OVERLAPPING #-}+ HasField "framebuffer" VkCommandBufferInheritanceInfo where+ type FieldType "framebuffer" VkCommandBufferInheritanceInfo =+ VkFramebuffer+ type FieldOptional "framebuffer" VkCommandBufferInheritanceInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "framebuffer" VkCommandBufferInheritanceInfo =+ #{offset VkCommandBufferInheritanceInfo, framebuffer}+ type FieldIsArray "framebuffer" VkCommandBufferInheritanceInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, framebuffer}++instance {-# OVERLAPPING #-}+ CanReadField "framebuffer" VkCommandBufferInheritanceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, framebuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "framebuffer" VkCommandBufferInheritanceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, framebuffer}++instance {-# OVERLAPPING #-}+ HasField "occlusionQueryEnable" VkCommandBufferInheritanceInfo+ where+ type FieldType "occlusionQueryEnable"+ VkCommandBufferInheritanceInfo+ = VkBool32+ type FieldOptional "occlusionQueryEnable"+ VkCommandBufferInheritanceInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "occlusionQueryEnable"+ VkCommandBufferInheritanceInfo+ =+ #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}+ type FieldIsArray "occlusionQueryEnable"+ VkCommandBufferInheritanceInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++instance {-# OVERLAPPING #-}+ CanReadField "occlusionQueryEnable" VkCommandBufferInheritanceInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "occlusionQueryEnable" VkCommandBufferInheritanceInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, occlusionQueryEnable}++instance {-# OVERLAPPING #-}+ HasField "queryFlags" VkCommandBufferInheritanceInfo where+ type FieldType "queryFlags" VkCommandBufferInheritanceInfo =+ VkQueryControlFlags+ type FieldOptional "queryFlags" VkCommandBufferInheritanceInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "queryFlags" VkCommandBufferInheritanceInfo =+ #{offset VkCommandBufferInheritanceInfo, queryFlags}+ type FieldIsArray "queryFlags" VkCommandBufferInheritanceInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, queryFlags}++instance {-# OVERLAPPING #-}+ CanReadField "queryFlags" VkCommandBufferInheritanceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, queryFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "queryFlags" VkCommandBufferInheritanceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, queryFlags}++instance {-# OVERLAPPING #-}+ HasField "pipelineStatistics" VkCommandBufferInheritanceInfo where+ type FieldType "pipelineStatistics" VkCommandBufferInheritanceInfo+ = VkQueryPipelineStatisticFlags+ type FieldOptional "pipelineStatistics"+ VkCommandBufferInheritanceInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pipelineStatistics"+ VkCommandBufferInheritanceInfo+ =+ #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}+ type FieldIsArray "pipelineStatistics"+ VkCommandBufferInheritanceInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineStatistics" VkCommandBufferInheritanceInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandBufferInheritanceInfo, pipelineStatistics})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineStatistics" VkCommandBufferInheritanceInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandBufferInheritanceInfo, pipelineStatistics}++instance Show VkCommandBufferInheritanceInfo where+ showsPrec d x+ = showString "VkCommandBufferInheritanceInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "renderPass = " .+ showsPrec d (getField @"renderPass" x) .+ showString ", " .+ showString "subpass = " .+ showsPrec d (getField @"subpass" x) .+ showString ", " .+ showString "framebuffer = " .+ showsPrec d (getField @"framebuffer" x) .+ showString ", " .+ showString "occlusionQueryEnable = " .+ showsPrec d (getField @"occlusionQueryEnable" x) .+ showString ", " .+ showString "queryFlags = " .+ showsPrec d (getField @"queryFlags" x) .+ showString ", " .+ showString "pipelineStatistics = " .+ showsPrec d+ (getField @"pipelineStatistics" x)+ . showChar '}'++-- | > typedef struct VkCommandPoolCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkCommandPoolCreateFlags flags;+-- > uint32_t queueFamilyIndex;+-- > } VkCommandPoolCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCommandPoolCreateInfo VkCommandPoolCreateInfo registry at www.khronos.org>+data VkCommandPoolCreateInfo = VkCommandPoolCreateInfo## Addr##+ ByteArray##++instance Eq VkCommandPoolCreateInfo where+ (VkCommandPoolCreateInfo## a _) == x@(VkCommandPoolCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCommandPoolCreateInfo where+ (VkCommandPoolCreateInfo## a _) `compare`+ x@(VkCommandPoolCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCommandPoolCreateInfo where+ sizeOf ~_ = #{size VkCommandPoolCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkCommandPoolCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCommandPoolCreateInfo where+ unsafeAddr (VkCommandPoolCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCommandPoolCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCommandPoolCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCommandPoolCreateInfo where+ type StructFields VkCommandPoolCreateInfo =+ '["sType", "pNext", "flags", "queueFamilyIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCommandPoolCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkCommandPoolCreateInfo where+ type FieldType "sType" VkCommandPoolCreateInfo = VkStructureType+ type FieldOptional "sType" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCommandPoolCreateInfo =+ #{offset VkCommandPoolCreateInfo, sType}+ type FieldIsArray "sType" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCommandPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCommandPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCommandPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkCommandPoolCreateInfo where+ type FieldType "pNext" VkCommandPoolCreateInfo = Ptr Void+ type FieldOptional "pNext" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCommandPoolCreateInfo =+ #{offset VkCommandPoolCreateInfo, pNext}+ type FieldIsArray "pNext" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCommandPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCommandPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCommandPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkCommandPoolCreateInfo where+ type FieldType "flags" VkCommandPoolCreateInfo =+ VkCommandPoolCreateFlags+ type FieldOptional "flags" VkCommandPoolCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkCommandPoolCreateInfo =+ #{offset VkCommandPoolCreateInfo, flags}+ type FieldIsArray "flags" VkCommandPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCommandPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkCommandPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkCommandPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyIndex" VkCommandPoolCreateInfo where+ type FieldType "queueFamilyIndex" VkCommandPoolCreateInfo = Word32+ type FieldOptional "queueFamilyIndex" VkCommandPoolCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyIndex" VkCommandPoolCreateInfo =+ #{offset VkCommandPoolCreateInfo, queueFamilyIndex}+ type FieldIsArray "queueFamilyIndex" VkCommandPoolCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyIndex" VkCommandPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCommandPoolCreateInfo, queueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyIndex" VkCommandPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCommandPoolCreateInfo, queueFamilyIndex}++instance Show VkCommandPoolCreateInfo where+ showsPrec d x+ = showString "VkCommandPoolCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "queueFamilyIndex = " .+ showsPrec d (getField @"queueFamilyIndex" x) . showChar '}'
@@ -0,0 +1,207 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.ComponentMapping+ (VkComponentMapping(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.ComponentSwizzle (VkComponentSwizzle)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkComponentMapping {+-- > VkComponentSwizzle r;+-- > VkComponentSwizzle g;+-- > VkComponentSwizzle b;+-- > VkComponentSwizzle a;+-- > } VkComponentMapping;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkComponentMapping VkComponentMapping registry at www.khronos.org>+data VkComponentMapping = VkComponentMapping## Addr## ByteArray##++instance Eq VkComponentMapping where+ (VkComponentMapping## a _) == x@(VkComponentMapping## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkComponentMapping where+ (VkComponentMapping## a _) `compare` x@(VkComponentMapping## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkComponentMapping where+ sizeOf ~_ = #{size VkComponentMapping}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkComponentMapping}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkComponentMapping where+ unsafeAddr (VkComponentMapping## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkComponentMapping## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkComponentMapping## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkComponentMapping where+ type StructFields VkComponentMapping = '["r", "g", "b", "a"] -- ' closing tick for hsc2hs+ type CUnionType VkComponentMapping = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkComponentMapping = 'False -- ' closing tick for hsc2hs+ type StructExtends VkComponentMapping = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "r" VkComponentMapping where+ type FieldType "r" VkComponentMapping = VkComponentSwizzle+ type FieldOptional "r" VkComponentMapping = 'False -- ' closing tick for hsc2hs+ type FieldOffset "r" VkComponentMapping =+ #{offset VkComponentMapping, r}+ type FieldIsArray "r" VkComponentMapping = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkComponentMapping, r}++instance {-# OVERLAPPING #-} CanReadField "r" VkComponentMapping+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComponentMapping, r})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComponentMapping, r}++instance {-# OVERLAPPING #-} CanWriteField "r" VkComponentMapping+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComponentMapping, r}++instance {-# OVERLAPPING #-} HasField "g" VkComponentMapping where+ type FieldType "g" VkComponentMapping = VkComponentSwizzle+ type FieldOptional "g" VkComponentMapping = 'False -- ' closing tick for hsc2hs+ type FieldOffset "g" VkComponentMapping =+ #{offset VkComponentMapping, g}+ type FieldIsArray "g" VkComponentMapping = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkComponentMapping, g}++instance {-# OVERLAPPING #-} CanReadField "g" VkComponentMapping+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComponentMapping, g})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComponentMapping, g}++instance {-# OVERLAPPING #-} CanWriteField "g" VkComponentMapping+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComponentMapping, g}++instance {-# OVERLAPPING #-} HasField "b" VkComponentMapping where+ type FieldType "b" VkComponentMapping = VkComponentSwizzle+ type FieldOptional "b" VkComponentMapping = 'False -- ' closing tick for hsc2hs+ type FieldOffset "b" VkComponentMapping =+ #{offset VkComponentMapping, b}+ type FieldIsArray "b" VkComponentMapping = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkComponentMapping, b}++instance {-# OVERLAPPING #-} CanReadField "b" VkComponentMapping+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComponentMapping, b})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComponentMapping, b}++instance {-# OVERLAPPING #-} CanWriteField "b" VkComponentMapping+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComponentMapping, b}++instance {-# OVERLAPPING #-} HasField "a" VkComponentMapping where+ type FieldType "a" VkComponentMapping = VkComponentSwizzle+ type FieldOptional "a" VkComponentMapping = 'False -- ' closing tick for hsc2hs+ type FieldOffset "a" VkComponentMapping =+ #{offset VkComponentMapping, a}+ type FieldIsArray "a" VkComponentMapping = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkComponentMapping, a}++instance {-# OVERLAPPING #-} CanReadField "a" VkComponentMapping+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComponentMapping, a})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComponentMapping, a}++instance {-# OVERLAPPING #-} CanWriteField "a" VkComponentMapping+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComponentMapping, a}++instance Show VkComponentMapping where+ showsPrec d x+ = showString "VkComponentMapping {" .+ showString "r = " .+ showsPrec d (getField @"r" x) .+ showString ", " .+ showString "g = " .+ showsPrec d (getField @"g" x) .+ showString ", " .+ showString "b = " .+ showsPrec d (getField @"b" x) .+ showString ", " .+ showString "a = " . showsPrec d (getField @"a" x) . showChar '}'
@@ -0,0 +1,346 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo+ (VkComputePipelineCreateInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkPipeline,+ VkPipelineLayout)+import Graphics.Vulkan.Types.Struct.Pipeline (VkPipelineShaderStageCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkComputePipelineCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineCreateFlags flags;+-- > VkPipelineShaderStageCreateInfo stage;+-- > VkPipelineLayout layout;+-- > VkPipeline basePipelineHandle;+-- > int32_t basePipelineIndex;+-- > } VkComputePipelineCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkComputePipelineCreateInfo VkComputePipelineCreateInfo registry at www.khronos.org>+data VkComputePipelineCreateInfo = VkComputePipelineCreateInfo## Addr##+ ByteArray##++instance Eq VkComputePipelineCreateInfo where+ (VkComputePipelineCreateInfo## a _) ==+ x@(VkComputePipelineCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkComputePipelineCreateInfo where+ (VkComputePipelineCreateInfo## a _) `compare`+ x@(VkComputePipelineCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkComputePipelineCreateInfo where+ sizeOf ~_ = #{size VkComputePipelineCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkComputePipelineCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkComputePipelineCreateInfo where+ unsafeAddr (VkComputePipelineCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkComputePipelineCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkComputePipelineCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkComputePipelineCreateInfo where+ type StructFields VkComputePipelineCreateInfo =+ '["sType", "pNext", "flags", "stage", "layout", -- ' closing tick for hsc2hs+ "basePipelineHandle", "basePipelineIndex"]+ type CUnionType VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkComputePipelineCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkComputePipelineCreateInfo where+ type FieldType "sType" VkComputePipelineCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, sType}+ type FieldIsArray "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkComputePipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkComputePipelineCreateInfo where+ type FieldType "pNext" VkComputePipelineCreateInfo = Ptr Void+ type FieldOptional "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, pNext}+ type FieldIsArray "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkComputePipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkComputePipelineCreateInfo where+ type FieldType "flags" VkComputePipelineCreateInfo =+ VkPipelineCreateFlags+ type FieldOptional "flags" VkComputePipelineCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, flags}+ type FieldIsArray "flags" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkComputePipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "stage" VkComputePipelineCreateInfo where+ type FieldType "stage" VkComputePipelineCreateInfo =+ VkPipelineShaderStageCreateInfo+ type FieldOptional "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "stage" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, stage}+ type FieldIsArray "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, stage}++instance {-# OVERLAPPING #-}+ CanReadField "stage" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, stage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, stage}++instance {-# OVERLAPPING #-}+ CanWriteField "stage" VkComputePipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, stage}++instance {-# OVERLAPPING #-}+ HasField "layout" VkComputePipelineCreateInfo where+ type FieldType "layout" VkComputePipelineCreateInfo =+ VkPipelineLayout+ type FieldOptional "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layout" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, layout}+ type FieldIsArray "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+ CanReadField "layout" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, layout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+ CanWriteField "layout" VkComputePipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+ HasField "basePipelineHandle" VkComputePipelineCreateInfo where+ type FieldType "basePipelineHandle" VkComputePipelineCreateInfo =+ VkPipeline+ type FieldOptional "basePipelineHandle" VkComputePipelineCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "basePipelineHandle" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, basePipelineHandle}+ type FieldIsArray "basePipelineHandle" VkComputePipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+ CanReadField "basePipelineHandle" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineHandle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+ CanWriteField "basePipelineHandle" VkComputePipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+ HasField "basePipelineIndex" VkComputePipelineCreateInfo where+ type FieldType "basePipelineIndex" VkComputePipelineCreateInfo =+ Int32+ type FieldOptional "basePipelineIndex" VkComputePipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "basePipelineIndex" VkComputePipelineCreateInfo =+ #{offset VkComputePipelineCreateInfo, basePipelineIndex}+ type FieldIsArray "basePipelineIndex" VkComputePipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkComputePipelineCreateInfo, basePipelineIndex}++instance {-# OVERLAPPING #-}+ CanReadField "basePipelineIndex" VkComputePipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkComputePipelineCreateInfo, basePipelineIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "basePipelineIndex" VkComputePipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkComputePipelineCreateInfo, basePipelineIndex}++instance Show VkComputePipelineCreateInfo where+ showsPrec d x+ = showString "VkComputePipelineCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "stage = " .+ showsPrec d (getField @"stage" x) .+ showString ", " .+ showString "layout = " .+ showsPrec d (getField @"layout" x) .+ showString ", " .+ showString "basePipelineHandle = " .+ showsPrec d (getField @"basePipelineHandle" x) .+ showString ", " .+ showString "basePipelineIndex = " .+ showsPrec d (getField @"basePipelineIndex" x) .+ showChar '}'
@@ -0,0 +1,397 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.CopyDescriptorSet+ (VkCopyDescriptorSet(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkDescriptorSet)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkCopyDescriptorSet {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDescriptorSet srcSet;+-- > uint32_t srcBinding;+-- > uint32_t srcArrayElement;+-- > VkDescriptorSet dstSet;+-- > uint32_t dstBinding;+-- > uint32_t dstArrayElement;+-- > uint32_t descriptorCount;+-- > } VkCopyDescriptorSet;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCopyDescriptorSet VkCopyDescriptorSet registry at www.khronos.org>+data VkCopyDescriptorSet = VkCopyDescriptorSet## Addr## ByteArray##++instance Eq VkCopyDescriptorSet where+ (VkCopyDescriptorSet## a _) == x@(VkCopyDescriptorSet## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkCopyDescriptorSet where+ (VkCopyDescriptorSet## a _) `compare` x@(VkCopyDescriptorSet## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkCopyDescriptorSet where+ sizeOf ~_ = #{size VkCopyDescriptorSet}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkCopyDescriptorSet}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkCopyDescriptorSet where+ unsafeAddr (VkCopyDescriptorSet## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkCopyDescriptorSet## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkCopyDescriptorSet## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkCopyDescriptorSet where+ type StructFields VkCopyDescriptorSet =+ '["sType", "pNext", "srcSet", "srcBinding", "srcArrayElement", -- ' closing tick for hsc2hs+ "dstSet", "dstBinding", "dstArrayElement", "descriptorCount"]+ type CUnionType VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type StructExtends VkCopyDescriptorSet = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkCopyDescriptorSet+ where+ type FieldType "sType" VkCopyDescriptorSet = VkStructureType+ type FieldOptional "sType" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, sType}+ type FieldIsArray "sType" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCopyDescriptorSet, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkCopyDescriptorSet+ where+ type FieldType "pNext" VkCopyDescriptorSet = Ptr Void+ type FieldOptional "pNext" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, pNext}+ type FieldIsArray "pNext" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCopyDescriptorSet, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, pNext}++instance {-# OVERLAPPING #-} HasField "srcSet" VkCopyDescriptorSet+ where+ type FieldType "srcSet" VkCopyDescriptorSet = VkDescriptorSet+ type FieldOptional "srcSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcSet" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, srcSet}+ type FieldIsArray "srcSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCopyDescriptorSet, srcSet}++instance {-# OVERLAPPING #-}+ CanReadField "srcSet" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcSet})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, srcSet}++instance {-# OVERLAPPING #-}+ CanWriteField "srcSet" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, srcSet}++instance {-# OVERLAPPING #-}+ HasField "srcBinding" VkCopyDescriptorSet where+ type FieldType "srcBinding" VkCopyDescriptorSet = Word32+ type FieldOptional "srcBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcBinding" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, srcBinding}+ type FieldIsArray "srcBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCopyDescriptorSet, srcBinding}++instance {-# OVERLAPPING #-}+ CanReadField "srcBinding" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcBinding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, srcBinding}++instance {-# OVERLAPPING #-}+ CanWriteField "srcBinding" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, srcBinding}++instance {-# OVERLAPPING #-}+ HasField "srcArrayElement" VkCopyDescriptorSet where+ type FieldType "srcArrayElement" VkCopyDescriptorSet = Word32+ type FieldOptional "srcArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcArrayElement" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, srcArrayElement}+ type FieldIsArray "srcArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCopyDescriptorSet, srcArrayElement}++instance {-# OVERLAPPING #-}+ CanReadField "srcArrayElement" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, srcArrayElement})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}++instance {-# OVERLAPPING #-}+ CanWriteField "srcArrayElement" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, srcArrayElement}++instance {-# OVERLAPPING #-} HasField "dstSet" VkCopyDescriptorSet+ where+ type FieldType "dstSet" VkCopyDescriptorSet = VkDescriptorSet+ type FieldOptional "dstSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstSet" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, dstSet}+ type FieldIsArray "dstSet" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCopyDescriptorSet, dstSet}++instance {-# OVERLAPPING #-}+ CanReadField "dstSet" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstSet})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, dstSet}++instance {-# OVERLAPPING #-}+ CanWriteField "dstSet" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, dstSet}++instance {-# OVERLAPPING #-}+ HasField "dstBinding" VkCopyDescriptorSet where+ type FieldType "dstBinding" VkCopyDescriptorSet = Word32+ type FieldOptional "dstBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstBinding" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, dstBinding}+ type FieldIsArray "dstBinding" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkCopyDescriptorSet, dstBinding}++instance {-# OVERLAPPING #-}+ CanReadField "dstBinding" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstBinding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, dstBinding}++instance {-# OVERLAPPING #-}+ CanWriteField "dstBinding" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, dstBinding}++instance {-# OVERLAPPING #-}+ HasField "dstArrayElement" VkCopyDescriptorSet where+ type FieldType "dstArrayElement" VkCopyDescriptorSet = Word32+ type FieldOptional "dstArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstArrayElement" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, dstArrayElement}+ type FieldIsArray "dstArrayElement" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCopyDescriptorSet, dstArrayElement}++instance {-# OVERLAPPING #-}+ CanReadField "dstArrayElement" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, dstArrayElement})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}++instance {-# OVERLAPPING #-}+ CanWriteField "dstArrayElement" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, dstArrayElement}++instance {-# OVERLAPPING #-}+ HasField "descriptorCount" VkCopyDescriptorSet where+ type FieldType "descriptorCount" VkCopyDescriptorSet = Word32+ type FieldOptional "descriptorCount" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorCount" VkCopyDescriptorSet =+ #{offset VkCopyDescriptorSet, descriptorCount}+ type FieldIsArray "descriptorCount" VkCopyDescriptorSet = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkCopyDescriptorSet, descriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorCount" VkCopyDescriptorSet where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkCopyDescriptorSet, descriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkCopyDescriptorSet, descriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorCount" VkCopyDescriptorSet where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkCopyDescriptorSet, descriptorCount}++instance Show VkCopyDescriptorSet where+ showsPrec d x+ = showString "VkCopyDescriptorSet {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "srcSet = " .+ showsPrec d (getField @"srcSet" x) .+ showString ", " .+ showString "srcBinding = " .+ showsPrec d (getField @"srcBinding" x) .+ showString ", " .+ showString "srcArrayElement = " .+ showsPrec d (getField @"srcArrayElement" x) .+ showString ", " .+ showString "dstSet = " .+ showsPrec d (getField @"dstSet" x) .+ showString ", " .+ showString "dstBinding = " .+ showsPrec d (getField @"dstBinding" x) .+ showString ", " .+ showString "dstArrayElement = " .+ showsPrec d+ (getField @"dstArrayElement" x)+ .+ showString ", " .+ showString "descriptorCount = " .+ showsPrec d+ (getField @"descriptorCount" x)+ . showChar '}'
@@ -0,0 +1,1435 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.Debug+ (VkDebugMarkerMarkerInfoEXT(..),+ VkDebugMarkerObjectNameInfoEXT(..),+ VkDebugMarkerObjectTagInfoEXT(..),+ VkDebugReportCallbackCreateInfoEXT(..),+ VkDebugUtilsObjectTagInfoEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##,+ proxy##)+import GHC.TypeLits (KnownNat,+ natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Debug (VkDebugReportFlagsEXT,+ VkDebugReportObjectTypeEXT)+import Graphics.Vulkan.Types.Enum.Object (VkObjectType)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Funcpointers (PFN_vkDebugReportCallbackEXT)+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDebugMarkerMarkerInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const char* pMarkerName;+-- > float color[4];+-- > } VkDebugMarkerMarkerInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT registry at www.khronos.org>+data VkDebugMarkerMarkerInfoEXT = VkDebugMarkerMarkerInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugMarkerMarkerInfoEXT where+ (VkDebugMarkerMarkerInfoEXT## a _) ==+ x@(VkDebugMarkerMarkerInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugMarkerMarkerInfoEXT where+ (VkDebugMarkerMarkerInfoEXT## a _) `compare`+ x@(VkDebugMarkerMarkerInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugMarkerMarkerInfoEXT where+ sizeOf ~_ = #{size VkDebugMarkerMarkerInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDebugMarkerMarkerInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugMarkerMarkerInfoEXT where+ unsafeAddr (VkDebugMarkerMarkerInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugMarkerMarkerInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugMarkerMarkerInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugMarkerMarkerInfoEXT where+ type StructFields VkDebugMarkerMarkerInfoEXT =+ '["sType", "pNext", "pMarkerName", "color"] -- ' closing tick for hsc2hs+ type CUnionType VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugMarkerMarkerInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugMarkerMarkerInfoEXT where+ type FieldType "sType" VkDebugMarkerMarkerInfoEXT = VkStructureType+ type FieldOptional "sType" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugMarkerMarkerInfoEXT =+ #{offset VkDebugMarkerMarkerInfoEXT, sType}+ type FieldIsArray "sType" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerMarkerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugMarkerMarkerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugMarkerMarkerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugMarkerMarkerInfoEXT where+ type FieldType "pNext" VkDebugMarkerMarkerInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugMarkerMarkerInfoEXT =+ #{offset VkDebugMarkerMarkerInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerMarkerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugMarkerMarkerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugMarkerMarkerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "pMarkerName" VkDebugMarkerMarkerInfoEXT where+ type FieldType "pMarkerName" VkDebugMarkerMarkerInfoEXT = CString+ type FieldOptional "pMarkerName" VkDebugMarkerMarkerInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pMarkerName" VkDebugMarkerMarkerInfoEXT =+ #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}+ type FieldIsArray "pMarkerName" VkDebugMarkerMarkerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}++instance {-# OVERLAPPING #-}+ CanReadField "pMarkerName" VkDebugMarkerMarkerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}++instance {-# OVERLAPPING #-}+ CanWriteField "pMarkerName" VkDebugMarkerMarkerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerMarkerInfoEXT, pMarkerName}++instance {-# OVERLAPPING #-}+ HasField "color" VkDebugMarkerMarkerInfoEXT where+ type FieldType "color" VkDebugMarkerMarkerInfoEXT =+ #{type float}+ type FieldOptional "color" VkDebugMarkerMarkerInfoEXT = 'True -- ' closing tick for hsc2hs+ type FieldOffset "color" VkDebugMarkerMarkerInfoEXT =+ #{offset VkDebugMarkerMarkerInfoEXT, color}+ type FieldIsArray "color" VkDebugMarkerMarkerInfoEXT = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerMarkerInfoEXT, color}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "color" idx VkDebugMarkerMarkerInfoEXT) =>+ CanReadFieldArray "color" idx VkDebugMarkerMarkerInfoEXT+ where+ {-# SPECIALISE instance+ CanReadFieldArray "color" 0 VkDebugMarkerMarkerInfoEXT #-}++ {-# SPECIALISE instance+ CanReadFieldArray "color" 1 VkDebugMarkerMarkerInfoEXT #-}++ {-# SPECIALISE instance+ CanReadFieldArray "color" 2 VkDebugMarkerMarkerInfoEXT #-}++ {-# SPECIALISE instance+ CanReadFieldArray "color" 3 VkDebugMarkerMarkerInfoEXT #-}+ type FieldArrayLength "color" VkDebugMarkerMarkerInfoEXT = 4++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 4++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkDebugMarkerMarkerInfoEXT, color} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkDebugMarkerMarkerInfoEXT, color} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "color" idx VkDebugMarkerMarkerInfoEXT) =>+ CanWriteFieldArray "color" idx VkDebugMarkerMarkerInfoEXT+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "color" 0 VkDebugMarkerMarkerInfoEXT #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "color" 1 VkDebugMarkerMarkerInfoEXT #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "color" 2 VkDebugMarkerMarkerInfoEXT #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "color" 3 VkDebugMarkerMarkerInfoEXT #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkDebugMarkerMarkerInfoEXT, color} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkDebugMarkerMarkerInfoEXT where+ showsPrec d x+ = showString "VkDebugMarkerMarkerInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pMarkerName = " .+ showsPrec d (getField @"pMarkerName" x) .+ showString ", " .+ (showString "color = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "color" VkDebugMarkerMarkerInfoEXT)+ o = fieldOffset @"color" @VkDebugMarkerMarkerInfoEXT+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "color" VkDebugMarkerMarkerInfoEXT)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 4 - 1])+ . showChar ']')+ . showChar '}'++-- | > typedef struct VkDebugMarkerObjectNameInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDebugReportObjectTypeEXT objectType;+-- > uint64_t object;+-- > const char* pObjectName;+-- > } VkDebugMarkerObjectNameInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org>+data VkDebugMarkerObjectNameInfoEXT = VkDebugMarkerObjectNameInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugMarkerObjectNameInfoEXT where+ (VkDebugMarkerObjectNameInfoEXT## a _) ==+ x@(VkDebugMarkerObjectNameInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugMarkerObjectNameInfoEXT where+ (VkDebugMarkerObjectNameInfoEXT## a _) `compare`+ x@(VkDebugMarkerObjectNameInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugMarkerObjectNameInfoEXT where+ sizeOf ~_ = #{size VkDebugMarkerObjectNameInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugMarkerObjectNameInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugMarkerObjectNameInfoEXT where+ unsafeAddr (VkDebugMarkerObjectNameInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugMarkerObjectNameInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugMarkerObjectNameInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugMarkerObjectNameInfoEXT where+ type StructFields VkDebugMarkerObjectNameInfoEXT =+ '["sType", "pNext", "objectType", "object", "pObjectName"] -- ' closing tick for hsc2hs+ type CUnionType VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugMarkerObjectNameInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugMarkerObjectNameInfoEXT where+ type FieldType "sType" VkDebugMarkerObjectNameInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugMarkerObjectNameInfoEXT =+ #{offset VkDebugMarkerObjectNameInfoEXT, sType}+ type FieldIsArray "sType" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugMarkerObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugMarkerObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugMarkerObjectNameInfoEXT where+ type FieldType "pNext" VkDebugMarkerObjectNameInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugMarkerObjectNameInfoEXT =+ #{offset VkDebugMarkerObjectNameInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugMarkerObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugMarkerObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectType" VkDebugMarkerObjectNameInfoEXT where+ type FieldType "objectType" VkDebugMarkerObjectNameInfoEXT =+ VkDebugReportObjectTypeEXT+ type FieldOptional "objectType" VkDebugMarkerObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectType" VkDebugMarkerObjectNameInfoEXT =+ #{offset VkDebugMarkerObjectNameInfoEXT, objectType}+ type FieldIsArray "objectType" VkDebugMarkerObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanReadField "objectType" VkDebugMarkerObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, objectType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanWriteField "objectType" VkDebugMarkerObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ HasField "object" VkDebugMarkerObjectNameInfoEXT where+ type FieldType "object" VkDebugMarkerObjectNameInfoEXT = Word64+ type FieldOptional "object" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "object" VkDebugMarkerObjectNameInfoEXT =+ #{offset VkDebugMarkerObjectNameInfoEXT, object}+ type FieldIsArray "object" VkDebugMarkerObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectNameInfoEXT, object}++instance {-# OVERLAPPING #-}+ CanReadField "object" VkDebugMarkerObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, object})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}++instance {-# OVERLAPPING #-}+ CanWriteField "object" VkDebugMarkerObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, object}++instance {-# OVERLAPPING #-}+ HasField "pObjectName" VkDebugMarkerObjectNameInfoEXT where+ type FieldType "pObjectName" VkDebugMarkerObjectNameInfoEXT =+ CString+ type FieldOptional "pObjectName" VkDebugMarkerObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pObjectName" VkDebugMarkerObjectNameInfoEXT =+ #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}+ type FieldIsArray "pObjectName" VkDebugMarkerObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+ CanReadField "pObjectName" VkDebugMarkerObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+ CanWriteField "pObjectName" VkDebugMarkerObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectNameInfoEXT, pObjectName}++instance Show VkDebugMarkerObjectNameInfoEXT where+ showsPrec d x+ = showString "VkDebugMarkerObjectNameInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectType = " .+ showsPrec d (getField @"objectType" x) .+ showString ", " .+ showString "object = " .+ showsPrec d (getField @"object" x) .+ showString ", " .+ showString "pObjectName = " .+ showsPrec d (getField @"pObjectName" x) . showChar '}'++-- | > typedef struct VkDebugMarkerObjectTagInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDebugReportObjectTypeEXT objectType;+-- > uint64_t object;+-- > uint64_t tagName;+-- > size_t tagSize;+-- > const void* pTag;+-- > } VkDebugMarkerObjectTagInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT registry at www.khronos.org>+data VkDebugMarkerObjectTagInfoEXT = VkDebugMarkerObjectTagInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugMarkerObjectTagInfoEXT where+ (VkDebugMarkerObjectTagInfoEXT## a _) ==+ x@(VkDebugMarkerObjectTagInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugMarkerObjectTagInfoEXT where+ (VkDebugMarkerObjectTagInfoEXT## a _) `compare`+ x@(VkDebugMarkerObjectTagInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugMarkerObjectTagInfoEXT where+ sizeOf ~_ = #{size VkDebugMarkerObjectTagInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugMarkerObjectTagInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugMarkerObjectTagInfoEXT where+ unsafeAddr (VkDebugMarkerObjectTagInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugMarkerObjectTagInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugMarkerObjectTagInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugMarkerObjectTagInfoEXT where+ type StructFields VkDebugMarkerObjectTagInfoEXT =+ '["sType", "pNext", "objectType", "object", "tagName", "tagSize", -- ' closing tick for hsc2hs+ "pTag"]+ type CUnionType VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugMarkerObjectTagInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "sType" VkDebugMarkerObjectTagInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, sType}+ type FieldIsArray "sType" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "pNext" VkDebugMarkerObjectTagInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectType" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "objectType" VkDebugMarkerObjectTagInfoEXT =+ VkDebugReportObjectTypeEXT+ type FieldOptional "objectType" VkDebugMarkerObjectTagInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectType" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, objectType}+ type FieldIsArray "objectType" VkDebugMarkerObjectTagInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanReadField "objectType" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, objectType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanWriteField "objectType" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ HasField "object" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "object" VkDebugMarkerObjectTagInfoEXT = Word64+ type FieldOptional "object" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "object" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, object}+ type FieldIsArray "object" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, object}++instance {-# OVERLAPPING #-}+ CanReadField "object" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, object})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}++instance {-# OVERLAPPING #-}+ CanWriteField "object" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, object}++instance {-# OVERLAPPING #-}+ HasField "tagName" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "tagName" VkDebugMarkerObjectTagInfoEXT = Word64+ type FieldOptional "tagName" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tagName" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, tagName}+ type FieldIsArray "tagName" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+ CanReadField "tagName" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+ CanWriteField "tagName" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+ HasField "tagSize" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "tagSize" VkDebugMarkerObjectTagInfoEXT = CSize+ type FieldOptional "tagSize" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tagSize" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}+ type FieldIsArray "tagSize" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+ CanReadField "tagSize" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, tagSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+ CanWriteField "tagSize" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+ HasField "pTag" VkDebugMarkerObjectTagInfoEXT where+ type FieldType "pTag" VkDebugMarkerObjectTagInfoEXT = Ptr Void+ type FieldOptional "pTag" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pTag" VkDebugMarkerObjectTagInfoEXT =+ #{offset VkDebugMarkerObjectTagInfoEXT, pTag}+ type FieldIsArray "pTag" VkDebugMarkerObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+ CanReadField "pTag" VkDebugMarkerObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugMarkerObjectTagInfoEXT, pTag})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+ CanWriteField "pTag" VkDebugMarkerObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugMarkerObjectTagInfoEXT, pTag}++instance Show VkDebugMarkerObjectTagInfoEXT where+ showsPrec d x+ = showString "VkDebugMarkerObjectTagInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectType = " .+ showsPrec d (getField @"objectType" x) .+ showString ", " .+ showString "object = " .+ showsPrec d (getField @"object" x) .+ showString ", " .+ showString "tagName = " .+ showsPrec d (getField @"tagName" x) .+ showString ", " .+ showString "tagSize = " .+ showsPrec d (getField @"tagSize" x) .+ showString ", " .+ showString "pTag = " .+ showsPrec d (getField @"pTag" x) . showChar '}'++-- | > typedef struct VkDebugReportCallbackCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDebugReportFlagsEXT flags;+-- > PFN_vkDebugReportCallbackEXT pfnCallback;+-- > void* pUserData;+-- > } VkDebugReportCallbackCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org>+data VkDebugReportCallbackCreateInfoEXT = VkDebugReportCallbackCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugReportCallbackCreateInfoEXT where+ (VkDebugReportCallbackCreateInfoEXT## a _) ==+ x@(VkDebugReportCallbackCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugReportCallbackCreateInfoEXT where+ (VkDebugReportCallbackCreateInfoEXT## a _) `compare`+ x@(VkDebugReportCallbackCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugReportCallbackCreateInfoEXT where+ sizeOf ~_ = #{size VkDebugReportCallbackCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugReportCallbackCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugReportCallbackCreateInfoEXT where+ unsafeAddr (VkDebugReportCallbackCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugReportCallbackCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugReportCallbackCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugReportCallbackCreateInfoEXT where+ type StructFields VkDebugReportCallbackCreateInfoEXT =+ '["sType", "pNext", "flags", "pfnCallback", "pUserData"] -- ' closing tick for hsc2hs+ type CUnionType VkDebugReportCallbackCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugReportCallbackCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugReportCallbackCreateInfoEXT =+ '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugReportCallbackCreateInfoEXT where+ type FieldType "sType" VkDebugReportCallbackCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugReportCallbackCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugReportCallbackCreateInfoEXT =+ #{offset VkDebugReportCallbackCreateInfoEXT, sType}+ type FieldIsArray "sType" VkDebugReportCallbackCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugReportCallbackCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugReportCallbackCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugReportCallbackCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugReportCallbackCreateInfoEXT where+ type FieldType "pNext" VkDebugReportCallbackCreateInfoEXT =+ Ptr Void+ type FieldOptional "pNext" VkDebugReportCallbackCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugReportCallbackCreateInfoEXT =+ #{offset VkDebugReportCallbackCreateInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugReportCallbackCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugReportCallbackCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugReportCallbackCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugReportCallbackCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDebugReportCallbackCreateInfoEXT where+ type FieldType "flags" VkDebugReportCallbackCreateInfoEXT =+ VkDebugReportFlagsEXT+ type FieldOptional "flags" VkDebugReportCallbackCreateInfoEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDebugReportCallbackCreateInfoEXT =+ #{offset VkDebugReportCallbackCreateInfoEXT, flags}+ type FieldIsArray "flags" VkDebugReportCallbackCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugReportCallbackCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDebugReportCallbackCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDebugReportCallbackCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ HasField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where+ type FieldType "pfnCallback" VkDebugReportCallbackCreateInfoEXT =+ PFN_vkDebugReportCallbackEXT+ type FieldOptional "pfnCallback" VkDebugReportCallbackCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pfnCallback" VkDebugReportCallbackCreateInfoEXT =+ #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}+ type FieldIsArray "pfnCallback" VkDebugReportCallbackCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++instance {-# OVERLAPPING #-}+ CanReadField "pfnCallback" VkDebugReportCallbackCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnCallback" VkDebugReportCallbackCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pfnCallback}++instance {-# OVERLAPPING #-}+ HasField "pUserData" VkDebugReportCallbackCreateInfoEXT where+ type FieldType "pUserData" VkDebugReportCallbackCreateInfoEXT =+ Ptr Void+ type FieldOptional "pUserData" VkDebugReportCallbackCreateInfoEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pUserData" VkDebugReportCallbackCreateInfoEXT =+ #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}+ type FieldIsArray "pUserData" VkDebugReportCallbackCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}++instance {-# OVERLAPPING #-}+ CanReadField "pUserData" VkDebugReportCallbackCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugReportCallbackCreateInfoEXT, pUserData})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}++instance {-# OVERLAPPING #-}+ CanWriteField "pUserData" VkDebugReportCallbackCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugReportCallbackCreateInfoEXT, pUserData}++instance Show VkDebugReportCallbackCreateInfoEXT where+ showsPrec d x+ = showString "VkDebugReportCallbackCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pfnCallback = " .+ showsPrec d (getField @"pfnCallback" x) .+ showString ", " .+ showString "pUserData = " .+ showsPrec d (getField @"pUserData" x) . showChar '}'++-- | > typedef struct VkDebugUtilsObjectTagInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkObjectType objectType;+-- > uint64_t objectHandle;+-- > uint64_t tagName;+-- > size_t tagSize;+-- > const void* pTag;+-- > } VkDebugUtilsObjectTagInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT registry at www.khronos.org>+data VkDebugUtilsObjectTagInfoEXT = VkDebugUtilsObjectTagInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugUtilsObjectTagInfoEXT where+ (VkDebugUtilsObjectTagInfoEXT## a _) ==+ x@(VkDebugUtilsObjectTagInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugUtilsObjectTagInfoEXT where+ (VkDebugUtilsObjectTagInfoEXT## a _) `compare`+ x@(VkDebugUtilsObjectTagInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugUtilsObjectTagInfoEXT where+ sizeOf ~_ = #{size VkDebugUtilsObjectTagInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugUtilsObjectTagInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsObjectTagInfoEXT where+ unsafeAddr (VkDebugUtilsObjectTagInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugUtilsObjectTagInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugUtilsObjectTagInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsObjectTagInfoEXT where+ type StructFields VkDebugUtilsObjectTagInfoEXT =+ '["sType", "pNext", "objectType", "objectHandle", "tagName", -- ' closing tick for hsc2hs+ "tagSize", "pTag"]+ type CUnionType VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugUtilsObjectTagInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "sType" VkDebugUtilsObjectTagInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, sType}+ type FieldIsArray "sType" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "pNext" VkDebugUtilsObjectTagInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectType" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "objectType" VkDebugUtilsObjectTagInfoEXT =+ VkObjectType+ type FieldOptional "objectType" VkDebugUtilsObjectTagInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectType" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, objectType}+ type FieldIsArray "objectType" VkDebugUtilsObjectTagInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanReadField "objectType" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, objectType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanWriteField "objectType" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ HasField "objectHandle" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "objectHandle" VkDebugUtilsObjectTagInfoEXT = Word64+ type FieldOptional "objectHandle" VkDebugUtilsObjectTagInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectHandle" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}+ type FieldIsArray "objectHandle" VkDebugUtilsObjectTagInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+ CanReadField "objectHandle" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+ CanWriteField "objectHandle" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+ HasField "tagName" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "tagName" VkDebugUtilsObjectTagInfoEXT = Word64+ type FieldOptional "tagName" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tagName" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, tagName}+ type FieldIsArray "tagName" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+ CanReadField "tagName" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, tagName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+ CanWriteField "tagName" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagName}++instance {-# OVERLAPPING #-}+ HasField "tagSize" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "tagSize" VkDebugUtilsObjectTagInfoEXT = CSize+ type FieldOptional "tagSize" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tagSize" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}+ type FieldIsArray "tagSize" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+ CanReadField "tagSize" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, tagSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+ CanWriteField "tagSize" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, tagSize}++instance {-# OVERLAPPING #-}+ HasField "pTag" VkDebugUtilsObjectTagInfoEXT where+ type FieldType "pTag" VkDebugUtilsObjectTagInfoEXT = Ptr Void+ type FieldOptional "pTag" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pTag" VkDebugUtilsObjectTagInfoEXT =+ #{offset VkDebugUtilsObjectTagInfoEXT, pTag}+ type FieldIsArray "pTag" VkDebugUtilsObjectTagInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+ CanReadField "pTag" VkDebugUtilsObjectTagInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectTagInfoEXT, pTag})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pTag}++instance {-# OVERLAPPING #-}+ CanWriteField "pTag" VkDebugUtilsObjectTagInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectTagInfoEXT, pTag}++instance Show VkDebugUtilsObjectTagInfoEXT where+ showsPrec d x+ = showString "VkDebugUtilsObjectTagInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectType = " .+ showsPrec d (getField @"objectType" x) .+ showString ", " .+ showString "objectHandle = " .+ showsPrec d (getField @"objectHandle" x) .+ showString ", " .+ showString "tagName = " .+ showsPrec d (getField @"tagName" x) .+ showString ", " .+ showString "tagSize = " .+ showsPrec d (getField @"tagSize" x) .+ showString ", " .+ showString "pTag = " .+ showsPrec d (getField @"pTag" x) . showChar '}'
@@ -0,0 +1,275 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT+ (VkDebugUtilsLabelEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##, proxy##)+import GHC.TypeLits (KnownNat, natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsLabelEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const char* pLabelName;+-- > float color[4];+-- > } VkDebugUtilsLabelEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsLabelEXT VkDebugUtilsLabelEXT registry at www.khronos.org>+data VkDebugUtilsLabelEXT = VkDebugUtilsLabelEXT## Addr## ByteArray##++instance Eq VkDebugUtilsLabelEXT where+ (VkDebugUtilsLabelEXT## a _) == x@(VkDebugUtilsLabelEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugUtilsLabelEXT where+ (VkDebugUtilsLabelEXT## a _) `compare` x@(VkDebugUtilsLabelEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugUtilsLabelEXT where+ sizeOf ~_ = #{size VkDebugUtilsLabelEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDebugUtilsLabelEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsLabelEXT where+ unsafeAddr (VkDebugUtilsLabelEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugUtilsLabelEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugUtilsLabelEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsLabelEXT where+ type StructFields VkDebugUtilsLabelEXT =+ '["sType", "pNext", "pLabelName", "color"] -- ' closing tick for hsc2hs+ type CUnionType VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugUtilsLabelEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDebugUtilsLabelEXT+ where+ type FieldType "sType" VkDebugUtilsLabelEXT = VkStructureType+ type FieldOptional "sType" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugUtilsLabelEXT =+ #{offset VkDebugUtilsLabelEXT, sType}+ type FieldIsArray "sType" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDebugUtilsLabelEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugUtilsLabelEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsLabelEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugUtilsLabelEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsLabelEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDebugUtilsLabelEXT+ where+ type FieldType "pNext" VkDebugUtilsLabelEXT = Ptr Void+ type FieldOptional "pNext" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugUtilsLabelEXT =+ #{offset VkDebugUtilsLabelEXT, pNext}+ type FieldIsArray "pNext" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDebugUtilsLabelEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugUtilsLabelEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsLabelEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugUtilsLabelEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsLabelEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "pLabelName" VkDebugUtilsLabelEXT where+ type FieldType "pLabelName" VkDebugUtilsLabelEXT = CString+ type FieldOptional "pLabelName" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pLabelName" VkDebugUtilsLabelEXT =+ #{offset VkDebugUtilsLabelEXT, pLabelName}+ type FieldIsArray "pLabelName" VkDebugUtilsLabelEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsLabelEXT, pLabelName}++instance {-# OVERLAPPING #-}+ CanReadField "pLabelName" VkDebugUtilsLabelEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsLabelEXT, pLabelName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsLabelEXT, pLabelName}++instance {-# OVERLAPPING #-}+ CanWriteField "pLabelName" VkDebugUtilsLabelEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsLabelEXT, pLabelName}++instance {-# OVERLAPPING #-} HasField "color" VkDebugUtilsLabelEXT+ where+ type FieldType "color" VkDebugUtilsLabelEXT =+ #{type float}+ type FieldOptional "color" VkDebugUtilsLabelEXT = 'True -- ' closing tick for hsc2hs+ type FieldOffset "color" VkDebugUtilsLabelEXT =+ #{offset VkDebugUtilsLabelEXT, color}+ type FieldIsArray "color" VkDebugUtilsLabelEXT = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDebugUtilsLabelEXT, color}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "color" idx VkDebugUtilsLabelEXT) =>+ CanReadFieldArray "color" idx VkDebugUtilsLabelEXT+ where+ {-# SPECIALISE instance+ CanReadFieldArray "color" 0 VkDebugUtilsLabelEXT #-}++ {-# SPECIALISE instance+ CanReadFieldArray "color" 1 VkDebugUtilsLabelEXT #-}++ {-# SPECIALISE instance+ CanReadFieldArray "color" 2 VkDebugUtilsLabelEXT #-}++ {-# SPECIALISE instance+ CanReadFieldArray "color" 3 VkDebugUtilsLabelEXT #-}+ type FieldArrayLength "color" VkDebugUtilsLabelEXT = 4++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 4++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkDebugUtilsLabelEXT, color} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkDebugUtilsLabelEXT, color} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "color" idx VkDebugUtilsLabelEXT) =>+ CanWriteFieldArray "color" idx VkDebugUtilsLabelEXT+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "color" 0 VkDebugUtilsLabelEXT #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "color" 1 VkDebugUtilsLabelEXT #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "color" 2 VkDebugUtilsLabelEXT #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "color" 3 VkDebugUtilsLabelEXT #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkDebugUtilsLabelEXT, color} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkDebugUtilsLabelEXT where+ showsPrec d x+ = showString "VkDebugUtilsLabelEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pLabelName = " .+ showsPrec d (getField @"pLabelName" x) .+ showString ", " .+ (showString "color = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "color" VkDebugUtilsLabelEXT)+ o = fieldOffset @"color" @VkDebugUtilsLabelEXT+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "color" VkDebugUtilsLabelEXT)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 4 - 1])+ . showChar ']')+ . showChar '}'
@@ -0,0 +1,625 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT+ (VkDebugUtilsMessengerCallbackDataEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkDebugUtilsMessengerCallbackDataFlagsEXT)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT (VkDebugUtilsLabelEXT)+import Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT (VkDebugUtilsObjectNameInfoEXT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsMessengerCallbackDataEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDebugUtilsMessengerCallbackDataFlagsEXT flags;+-- > const char* pMessageIdName;+-- > int32_t messageIdNumber;+-- > const char* pMessage;+-- > uint32_t queueLabelCount;+-- > VkDebugUtilsLabelEXT* pQueueLabels;+-- > uint32_t cmdBufLabelCount;+-- > VkDebugUtilsLabelEXT* pCmdBufLabels;+-- > uint32_t objectCount;+-- > VkDebugUtilsObjectNameInfoEXT* pObjects;+-- > } VkDebugUtilsMessengerCallbackDataEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT registry at www.khronos.org>+data VkDebugUtilsMessengerCallbackDataEXT = VkDebugUtilsMessengerCallbackDataEXT## Addr##+ ByteArray##++instance Eq VkDebugUtilsMessengerCallbackDataEXT where+ (VkDebugUtilsMessengerCallbackDataEXT## a _) ==+ x@(VkDebugUtilsMessengerCallbackDataEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugUtilsMessengerCallbackDataEXT where+ (VkDebugUtilsMessengerCallbackDataEXT## a _) `compare`+ x@(VkDebugUtilsMessengerCallbackDataEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugUtilsMessengerCallbackDataEXT where+ sizeOf ~_+ = #{size VkDebugUtilsMessengerCallbackDataEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugUtilsMessengerCallbackDataEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsMessengerCallbackDataEXT+ where+ unsafeAddr (VkDebugUtilsMessengerCallbackDataEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugUtilsMessengerCallbackDataEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugUtilsMessengerCallbackDataEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsMessengerCallbackDataEXT where+ type StructFields VkDebugUtilsMessengerCallbackDataEXT =+ '["sType", "pNext", "flags", "pMessageIdName", "messageIdNumber", -- ' closing tick for hsc2hs+ "pMessage", "queueLabelCount", "pQueueLabels", "cmdBufLabelCount",+ "pCmdBufLabels", "objectCount", "pObjects"]+ type CUnionType VkDebugUtilsMessengerCallbackDataEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugUtilsMessengerCallbackDataEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugUtilsMessengerCallbackDataEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "sType" VkDebugUtilsMessengerCallbackDataEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugUtilsMessengerCallbackDataEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugUtilsMessengerCallbackDataEXT =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}+ type FieldIsArray "sType" VkDebugUtilsMessengerCallbackDataEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugUtilsMessengerCallbackDataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugUtilsMessengerCallbackDataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "pNext" VkDebugUtilsMessengerCallbackDataEXT =+ Ptr Void+ type FieldOptional "pNext" VkDebugUtilsMessengerCallbackDataEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugUtilsMessengerCallbackDataEXT =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}+ type FieldIsArray "pNext" VkDebugUtilsMessengerCallbackDataEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugUtilsMessengerCallbackDataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugUtilsMessengerCallbackDataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "flags" VkDebugUtilsMessengerCallbackDataEXT =+ VkDebugUtilsMessengerCallbackDataFlagsEXT+ type FieldOptional "flags" VkDebugUtilsMessengerCallbackDataEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDebugUtilsMessengerCallbackDataEXT =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}+ type FieldIsArray "flags" VkDebugUtilsMessengerCallbackDataEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDebugUtilsMessengerCallbackDataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDebugUtilsMessengerCallbackDataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, flags}++instance {-# OVERLAPPING #-}+ HasField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT+ where+ type FieldType "pMessageIdName"+ VkDebugUtilsMessengerCallbackDataEXT+ = CString+ type FieldOptional "pMessageIdName"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pMessageIdName"+ VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}+ type FieldIsArray "pMessageIdName"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}++instance {-# OVERLAPPING #-}+ CanReadField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}++instance {-# OVERLAPPING #-}+ CanWriteField "pMessageIdName" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessageIdName}++instance {-# OVERLAPPING #-}+ HasField "messageIdNumber" VkDebugUtilsMessengerCallbackDataEXT+ where+ type FieldType "messageIdNumber"+ VkDebugUtilsMessengerCallbackDataEXT+ = Int32+ type FieldOptional "messageIdNumber"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "messageIdNumber"+ VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}+ type FieldIsArray "messageIdNumber"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}++instance {-# OVERLAPPING #-}+ CanReadField "messageIdNumber" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}++instance {-# OVERLAPPING #-}+ CanWriteField "messageIdNumber"+ VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, messageIdNumber}++instance {-# OVERLAPPING #-}+ HasField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "pMessage" VkDebugUtilsMessengerCallbackDataEXT =+ CString+ type FieldOptional "pMessage" VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pMessage" VkDebugUtilsMessengerCallbackDataEXT =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}+ type FieldIsArray "pMessage" VkDebugUtilsMessengerCallbackDataEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}++instance {-# OVERLAPPING #-}+ CanReadField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}++instance {-# OVERLAPPING #-}+ CanWriteField "pMessage" VkDebugUtilsMessengerCallbackDataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pMessage}++instance {-# OVERLAPPING #-}+ HasField "queueLabelCount" VkDebugUtilsMessengerCallbackDataEXT+ where+ type FieldType "queueLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = Word32+ type FieldOptional "queueLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "queueLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}+ type FieldIsArray "queueLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueLabelCount" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, queueLabelCount}++instance {-# OVERLAPPING #-}+ HasField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT+ = Ptr VkDebugUtilsLabelEXT+ type FieldOptional "pQueueLabels"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pQueueLabels"+ VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}+ type FieldIsArray "pQueueLabels"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}++instance {-# OVERLAPPING #-}+ CanReadField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}++instance {-# OVERLAPPING #-}+ CanWriteField "pQueueLabels" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pQueueLabels}++instance {-# OVERLAPPING #-}+ HasField "cmdBufLabelCount" VkDebugUtilsMessengerCallbackDataEXT+ where+ type FieldType "cmdBufLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = Word32+ type FieldOptional "cmdBufLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "cmdBufLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}+ type FieldIsArray "cmdBufLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}++instance {-# OVERLAPPING #-}+ CanReadField "cmdBufLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}++instance {-# OVERLAPPING #-}+ CanWriteField "cmdBufLabelCount"+ VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, cmdBufLabelCount}++instance {-# OVERLAPPING #-}+ HasField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT+ = Ptr VkDebugUtilsLabelEXT+ type FieldOptional "pCmdBufLabels"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pCmdBufLabels"+ VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}+ type FieldIsArray "pCmdBufLabels"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}++instance {-# OVERLAPPING #-}+ CanReadField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}++instance {-# OVERLAPPING #-}+ CanWriteField "pCmdBufLabels" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pCmdBufLabels}++instance {-# OVERLAPPING #-}+ HasField "objectCount" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "objectCount" VkDebugUtilsMessengerCallbackDataEXT =+ Word32+ type FieldOptional "objectCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectCount" VkDebugUtilsMessengerCallbackDataEXT+ =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}+ type FieldIsArray "objectCount"+ VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}++instance {-# OVERLAPPING #-}+ CanReadField "objectCount" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}++instance {-# OVERLAPPING #-}+ CanWriteField "objectCount" VkDebugUtilsMessengerCallbackDataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, objectCount}++instance {-# OVERLAPPING #-}+ HasField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where+ type FieldType "pObjects" VkDebugUtilsMessengerCallbackDataEXT =+ Ptr VkDebugUtilsObjectNameInfoEXT+ type FieldOptional "pObjects" VkDebugUtilsMessengerCallbackDataEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pObjects" VkDebugUtilsMessengerCallbackDataEXT =+ #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}+ type FieldIsArray "pObjects" VkDebugUtilsMessengerCallbackDataEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}++instance {-# OVERLAPPING #-}+ CanReadField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}++instance {-# OVERLAPPING #-}+ CanWriteField "pObjects" VkDebugUtilsMessengerCallbackDataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCallbackDataEXT, pObjects}++instance Show VkDebugUtilsMessengerCallbackDataEXT where+ showsPrec d x+ = showString "VkDebugUtilsMessengerCallbackDataEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pMessageIdName = " .+ showsPrec d (getField @"pMessageIdName" x) .+ showString ", " .+ showString "messageIdNumber = " .+ showsPrec d (getField @"messageIdNumber" x) .+ showString ", " .+ showString "pMessage = " .+ showsPrec d (getField @"pMessage" x) .+ showString ", " .+ showString "queueLabelCount = " .+ showsPrec d (getField @"queueLabelCount" x) .+ showString ", " .+ showString "pQueueLabels = " .+ showsPrec d (getField @"pQueueLabels" x) .+ showString ", " .+ showString "cmdBufLabelCount = " .+ showsPrec d+ (getField @"cmdBufLabelCount" x)+ .+ showString ", " .+ showString "pCmdBufLabels = " .+ showsPrec d+ (getField @"pCmdBufLabels"+ x)+ .+ showString ", " .+ showString+ "objectCount = "+ .+ showsPrec d+ (getField+ @"objectCount"+ x)+ .+ showString ", " .+ showString+ "pObjects = "+ .+ showsPrec d+ (getField+ @"pObjects"+ x)+ . showChar '}'
@@ -0,0 +1,374 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCreateInfoEXT+ (VkDebugUtilsMessengerCreateInfoEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkDebugUtilsMessengerCreateFlagsEXT)+import Graphics.Vulkan.Types.Enum.Debug (VkDebugUtilsMessageSeverityFlagsEXT,+ VkDebugUtilsMessageTypeFlagsEXT)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Funcpointers (PFN_vkDebugUtilsMessengerCallbackEXT)+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsMessengerCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDebugUtilsMessengerCreateFlagsEXT flags;+-- > VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;+-- > VkDebugUtilsMessageTypeFlagsEXT messageType;+-- > PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;+-- > void* pUserData;+-- > } VkDebugUtilsMessengerCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsMessengerCreateInfoEXT VkDebugUtilsMessengerCreateInfoEXT registry at www.khronos.org>+data VkDebugUtilsMessengerCreateInfoEXT = VkDebugUtilsMessengerCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugUtilsMessengerCreateInfoEXT where+ (VkDebugUtilsMessengerCreateInfoEXT## a _) ==+ x@(VkDebugUtilsMessengerCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugUtilsMessengerCreateInfoEXT where+ (VkDebugUtilsMessengerCreateInfoEXT## a _) `compare`+ x@(VkDebugUtilsMessengerCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugUtilsMessengerCreateInfoEXT where+ sizeOf ~_ = #{size VkDebugUtilsMessengerCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugUtilsMessengerCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsMessengerCreateInfoEXT where+ unsafeAddr (VkDebugUtilsMessengerCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugUtilsMessengerCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugUtilsMessengerCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsMessengerCreateInfoEXT where+ type StructFields VkDebugUtilsMessengerCreateInfoEXT =+ '["sType", "pNext", "flags", "messageSeverity", "messageType", -- ' closing tick for hsc2hs+ "pfnUserCallback", "pUserData"]+ type CUnionType VkDebugUtilsMessengerCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugUtilsMessengerCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugUtilsMessengerCreateInfoEXT =+ '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "sType" VkDebugUtilsMessengerCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugUtilsMessengerCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugUtilsMessengerCreateInfoEXT =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}+ type FieldIsArray "sType" VkDebugUtilsMessengerCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugUtilsMessengerCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugUtilsMessengerCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "pNext" VkDebugUtilsMessengerCreateInfoEXT =+ Ptr Void+ type FieldOptional "pNext" VkDebugUtilsMessengerCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugUtilsMessengerCreateInfoEXT =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugUtilsMessengerCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugUtilsMessengerCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugUtilsMessengerCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "flags" VkDebugUtilsMessengerCreateInfoEXT =+ VkDebugUtilsMessengerCreateFlagsEXT+ type FieldOptional "flags" VkDebugUtilsMessengerCreateInfoEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDebugUtilsMessengerCreateInfoEXT =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}+ type FieldIsArray "flags" VkDebugUtilsMessengerCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDebugUtilsMessengerCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDebugUtilsMessengerCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ HasField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT+ = VkDebugUtilsMessageSeverityFlagsEXT+ type FieldOptional "messageSeverity"+ VkDebugUtilsMessengerCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "messageSeverity"+ VkDebugUtilsMessengerCreateInfoEXT+ =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}+ type FieldIsArray "messageSeverity"+ VkDebugUtilsMessengerCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}++instance {-# OVERLAPPING #-}+ CanReadField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}++instance {-# OVERLAPPING #-}+ CanWriteField "messageSeverity" VkDebugUtilsMessengerCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageSeverity}++instance {-# OVERLAPPING #-}+ HasField "messageType" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "messageType" VkDebugUtilsMessengerCreateInfoEXT =+ VkDebugUtilsMessageTypeFlagsEXT+ type FieldOptional "messageType" VkDebugUtilsMessengerCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "messageType" VkDebugUtilsMessengerCreateInfoEXT =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}+ type FieldIsArray "messageType" VkDebugUtilsMessengerCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}++instance {-# OVERLAPPING #-}+ CanReadField "messageType" VkDebugUtilsMessengerCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}++instance {-# OVERLAPPING #-}+ CanWriteField "messageType" VkDebugUtilsMessengerCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, messageType}++instance {-# OVERLAPPING #-}+ HasField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT+ = PFN_vkDebugUtilsMessengerCallbackEXT+ type FieldOptional "pfnUserCallback"+ VkDebugUtilsMessengerCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pfnUserCallback"+ VkDebugUtilsMessengerCreateInfoEXT+ =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}+ type FieldIsArray "pfnUserCallback"+ VkDebugUtilsMessengerCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}++instance {-# OVERLAPPING #-}+ CanReadField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}++instance {-# OVERLAPPING #-}+ CanWriteField "pfnUserCallback" VkDebugUtilsMessengerCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pfnUserCallback}++instance {-# OVERLAPPING #-}+ HasField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where+ type FieldType "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+ Ptr Void+ type FieldOptional "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+ #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}+ type FieldIsArray "pUserData" VkDebugUtilsMessengerCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}++instance {-# OVERLAPPING #-}+ CanReadField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}++instance {-# OVERLAPPING #-}+ CanWriteField "pUserData" VkDebugUtilsMessengerCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsMessengerCreateInfoEXT, pUserData}++instance Show VkDebugUtilsMessengerCreateInfoEXT where+ showsPrec d x+ = showString "VkDebugUtilsMessengerCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "messageSeverity = " .+ showsPrec d (getField @"messageSeverity" x) .+ showString ", " .+ showString "messageType = " .+ showsPrec d (getField @"messageType" x) .+ showString ", " .+ showString "pfnUserCallback = " .+ showsPrec d (getField @"pfnUserCallback" x) .+ showString ", " .+ showString "pUserData = " .+ showsPrec d (getField @"pUserData" x) .+ showChar '}'
@@ -0,0 +1,269 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT+ (VkDebugUtilsObjectNameInfoEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Object (VkObjectType)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDebugUtilsObjectNameInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkObjectType objectType;+-- > uint64_t objectHandle;+-- > const char* pObjectName;+-- > } VkDebugUtilsObjectNameInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDebugUtilsObjectNameInfoEXT VkDebugUtilsObjectNameInfoEXT registry at www.khronos.org>+data VkDebugUtilsObjectNameInfoEXT = VkDebugUtilsObjectNameInfoEXT## Addr##+ ByteArray##++instance Eq VkDebugUtilsObjectNameInfoEXT where+ (VkDebugUtilsObjectNameInfoEXT## a _) ==+ x@(VkDebugUtilsObjectNameInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDebugUtilsObjectNameInfoEXT where+ (VkDebugUtilsObjectNameInfoEXT## a _) `compare`+ x@(VkDebugUtilsObjectNameInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDebugUtilsObjectNameInfoEXT where+ sizeOf ~_ = #{size VkDebugUtilsObjectNameInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDebugUtilsObjectNameInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDebugUtilsObjectNameInfoEXT where+ unsafeAddr (VkDebugUtilsObjectNameInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDebugUtilsObjectNameInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDebugUtilsObjectNameInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDebugUtilsObjectNameInfoEXT where+ type StructFields VkDebugUtilsObjectNameInfoEXT =+ '["sType", "pNext", "objectType", "objectHandle", "pObjectName"] -- ' closing tick for hsc2hs+ type CUnionType VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDebugUtilsObjectNameInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDebugUtilsObjectNameInfoEXT where+ type FieldType "sType" VkDebugUtilsObjectNameInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDebugUtilsObjectNameInfoEXT =+ #{offset VkDebugUtilsObjectNameInfoEXT, sType}+ type FieldIsArray "sType" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDebugUtilsObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDebugUtilsObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDebugUtilsObjectNameInfoEXT where+ type FieldType "pNext" VkDebugUtilsObjectNameInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDebugUtilsObjectNameInfoEXT =+ #{offset VkDebugUtilsObjectNameInfoEXT, pNext}+ type FieldIsArray "pNext" VkDebugUtilsObjectNameInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDebugUtilsObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDebugUtilsObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectType" VkDebugUtilsObjectNameInfoEXT where+ type FieldType "objectType" VkDebugUtilsObjectNameInfoEXT =+ VkObjectType+ type FieldOptional "objectType" VkDebugUtilsObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectType" VkDebugUtilsObjectNameInfoEXT =+ #{offset VkDebugUtilsObjectNameInfoEXT, objectType}+ type FieldIsArray "objectType" VkDebugUtilsObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanReadField "objectType" VkDebugUtilsObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, objectType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ CanWriteField "objectType" VkDebugUtilsObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectType}++instance {-# OVERLAPPING #-}+ HasField "objectHandle" VkDebugUtilsObjectNameInfoEXT where+ type FieldType "objectHandle" VkDebugUtilsObjectNameInfoEXT =+ Word64+ type FieldOptional "objectHandle" VkDebugUtilsObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectHandle" VkDebugUtilsObjectNameInfoEXT =+ #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}+ type FieldIsArray "objectHandle" VkDebugUtilsObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+ CanReadField "objectHandle" VkDebugUtilsObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+ CanWriteField "objectHandle" VkDebugUtilsObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, objectHandle}++instance {-# OVERLAPPING #-}+ HasField "pObjectName" VkDebugUtilsObjectNameInfoEXT where+ type FieldType "pObjectName" VkDebugUtilsObjectNameInfoEXT =+ CString+ type FieldOptional "pObjectName" VkDebugUtilsObjectNameInfoEXT =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pObjectName" VkDebugUtilsObjectNameInfoEXT =+ #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}+ type FieldIsArray "pObjectName" VkDebugUtilsObjectNameInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+ CanReadField "pObjectName" VkDebugUtilsObjectNameInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}++instance {-# OVERLAPPING #-}+ CanWriteField "pObjectName" VkDebugUtilsObjectNameInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDebugUtilsObjectNameInfoEXT, pObjectName}++instance Show VkDebugUtilsObjectNameInfoEXT where+ showsPrec d x+ = showString "VkDebugUtilsObjectNameInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectType = " .+ showsPrec d (getField @"objectType" x) .+ showString ", " .+ showString "objectHandle = " .+ showsPrec d (getField @"objectHandle" x) .+ showString ", " .+ showString "pObjectName = " .+ showsPrec d (getField @"pObjectName" x) . showChar '}'
@@ -0,0 +1,650 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.DedicatedAllocation+ (VkDedicatedAllocationBufferCreateInfoNV(..),+ VkDedicatedAllocationImageCreateInfoNV(..),+ VkDedicatedAllocationMemoryAllocateInfoNV(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer, VkImage)+import Graphics.Vulkan.Types.Struct.Buffer (VkBufferCreateInfo)+import Graphics.Vulkan.Types.Struct.Image (VkImageCreateInfo)+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryAllocateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDedicatedAllocationBufferCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 dedicatedAllocation;+-- > } VkDedicatedAllocationBufferCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDedicatedAllocationBufferCreateInfoNV VkDedicatedAllocationBufferCreateInfoNV registry at www.khronos.org>+data VkDedicatedAllocationBufferCreateInfoNV = VkDedicatedAllocationBufferCreateInfoNV## Addr##+ ByteArray##++instance Eq VkDedicatedAllocationBufferCreateInfoNV where+ (VkDedicatedAllocationBufferCreateInfoNV## a _) ==+ x@(VkDedicatedAllocationBufferCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDedicatedAllocationBufferCreateInfoNV where+ (VkDedicatedAllocationBufferCreateInfoNV## a _) `compare`+ x@(VkDedicatedAllocationBufferCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDedicatedAllocationBufferCreateInfoNV where+ sizeOf ~_+ = #{size VkDedicatedAllocationBufferCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDedicatedAllocationBufferCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDedicatedAllocationBufferCreateInfoNV+ where+ unsafeAddr (VkDedicatedAllocationBufferCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDedicatedAllocationBufferCreateInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDedicatedAllocationBufferCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDedicatedAllocationBufferCreateInfoNV+ where+ type StructFields VkDedicatedAllocationBufferCreateInfoNV =+ '["sType", "pNext", "dedicatedAllocation"] -- ' closing tick for hsc2hs+ type CUnionType VkDedicatedAllocationBufferCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDedicatedAllocationBufferCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDedicatedAllocationBufferCreateInfoNV =+ '[VkBufferCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDedicatedAllocationBufferCreateInfoNV where+ type FieldType "sType" VkDedicatedAllocationBufferCreateInfoNV =+ VkStructureType+ type FieldOptional "sType" VkDedicatedAllocationBufferCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDedicatedAllocationBufferCreateInfoNV =+ #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}+ type FieldIsArray "sType" VkDedicatedAllocationBufferCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDedicatedAllocationBufferCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDedicatedAllocationBufferCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDedicatedAllocationBufferCreateInfoNV where+ type FieldType "pNext" VkDedicatedAllocationBufferCreateInfoNV =+ Ptr Void+ type FieldOptional "pNext" VkDedicatedAllocationBufferCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDedicatedAllocationBufferCreateInfoNV =+ #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}+ type FieldIsArray "pNext" VkDedicatedAllocationBufferCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDedicatedAllocationBufferCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDedicatedAllocationBufferCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ where+ type FieldType "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ = VkBool32+ type FieldOptional "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ =+ #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}+ type FieldIsArray "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "dedicatedAllocation"+ VkDedicatedAllocationBufferCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationBufferCreateInfoNV, dedicatedAllocation}++instance Show VkDedicatedAllocationBufferCreateInfoNV where+ showsPrec d x+ = showString "VkDedicatedAllocationBufferCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "dedicatedAllocation = " .+ showsPrec d (getField @"dedicatedAllocation" x) . showChar '}'++-- | > typedef struct VkDedicatedAllocationImageCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 dedicatedAllocation;+-- > } VkDedicatedAllocationImageCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDedicatedAllocationImageCreateInfoNV VkDedicatedAllocationImageCreateInfoNV registry at www.khronos.org>+data VkDedicatedAllocationImageCreateInfoNV = VkDedicatedAllocationImageCreateInfoNV## Addr##+ ByteArray##++instance Eq VkDedicatedAllocationImageCreateInfoNV where+ (VkDedicatedAllocationImageCreateInfoNV## a _) ==+ x@(VkDedicatedAllocationImageCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDedicatedAllocationImageCreateInfoNV where+ (VkDedicatedAllocationImageCreateInfoNV## a _) `compare`+ x@(VkDedicatedAllocationImageCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDedicatedAllocationImageCreateInfoNV where+ sizeOf ~_+ = #{size VkDedicatedAllocationImageCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDedicatedAllocationImageCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDedicatedAllocationImageCreateInfoNV+ where+ unsafeAddr (VkDedicatedAllocationImageCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDedicatedAllocationImageCreateInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDedicatedAllocationImageCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDedicatedAllocationImageCreateInfoNV where+ type StructFields VkDedicatedAllocationImageCreateInfoNV =+ '["sType", "pNext", "dedicatedAllocation"] -- ' closing tick for hsc2hs+ type CUnionType VkDedicatedAllocationImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDedicatedAllocationImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDedicatedAllocationImageCreateInfoNV =+ '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDedicatedAllocationImageCreateInfoNV where+ type FieldType "sType" VkDedicatedAllocationImageCreateInfoNV =+ VkStructureType+ type FieldOptional "sType" VkDedicatedAllocationImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDedicatedAllocationImageCreateInfoNV =+ #{offset VkDedicatedAllocationImageCreateInfoNV, sType}+ type FieldIsArray "sType" VkDedicatedAllocationImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationImageCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDedicatedAllocationImageCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDedicatedAllocationImageCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDedicatedAllocationImageCreateInfoNV where+ type FieldType "pNext" VkDedicatedAllocationImageCreateInfoNV =+ Ptr Void+ type FieldOptional "pNext" VkDedicatedAllocationImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDedicatedAllocationImageCreateInfoNV =+ #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}+ type FieldIsArray "pNext" VkDedicatedAllocationImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDedicatedAllocationImageCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDedicatedAllocationImageCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ where+ type FieldType "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ = VkBool32+ type FieldOptional "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ =+ #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}+ type FieldIsArray "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "dedicatedAllocation"+ VkDedicatedAllocationImageCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationImageCreateInfoNV, dedicatedAllocation}++instance Show VkDedicatedAllocationImageCreateInfoNV where+ showsPrec d x+ = showString "VkDedicatedAllocationImageCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "dedicatedAllocation = " .+ showsPrec d (getField @"dedicatedAllocation" x) . showChar '}'++-- | > typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImage image;+-- > VkBuffer buffer;+-- > } VkDedicatedAllocationMemoryAllocateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDedicatedAllocationMemoryAllocateInfoNV VkDedicatedAllocationMemoryAllocateInfoNV registry at www.khronos.org>+data VkDedicatedAllocationMemoryAllocateInfoNV = VkDedicatedAllocationMemoryAllocateInfoNV## Addr##+ ByteArray##++instance Eq VkDedicatedAllocationMemoryAllocateInfoNV where+ (VkDedicatedAllocationMemoryAllocateInfoNV## a _) ==+ x@(VkDedicatedAllocationMemoryAllocateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDedicatedAllocationMemoryAllocateInfoNV where+ (VkDedicatedAllocationMemoryAllocateInfoNV## a _) `compare`+ x@(VkDedicatedAllocationMemoryAllocateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDedicatedAllocationMemoryAllocateInfoNV where+ sizeOf ~_+ = #{size VkDedicatedAllocationMemoryAllocateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDedicatedAllocationMemoryAllocateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkDedicatedAllocationMemoryAllocateInfoNV+ where+ unsafeAddr (VkDedicatedAllocationMemoryAllocateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDedicatedAllocationMemoryAllocateInfoNV## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDedicatedAllocationMemoryAllocateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDedicatedAllocationMemoryAllocateInfoNV+ where+ type StructFields VkDedicatedAllocationMemoryAllocateInfoNV =+ '["sType", "pNext", "image", "buffer"] -- ' closing tick for hsc2hs+ type CUnionType VkDedicatedAllocationMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDedicatedAllocationMemoryAllocateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkDedicatedAllocationMemoryAllocateInfoNV =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDedicatedAllocationMemoryAllocateInfoNV where+ type FieldType "sType" VkDedicatedAllocationMemoryAllocateInfoNV =+ VkStructureType+ type FieldOptional "sType"+ VkDedicatedAllocationMemoryAllocateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDedicatedAllocationMemoryAllocateInfoNV+ =+ #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}+ type FieldIsArray "sType" VkDedicatedAllocationMemoryAllocateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV where+ type FieldType "pNext" VkDedicatedAllocationMemoryAllocateInfoNV =+ Ptr Void+ type FieldOptional "pNext"+ VkDedicatedAllocationMemoryAllocateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDedicatedAllocationMemoryAllocateInfoNV+ =+ #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}+ type FieldIsArray "pNext" VkDedicatedAllocationMemoryAllocateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "image" VkDedicatedAllocationMemoryAllocateInfoNV where+ type FieldType "image" VkDedicatedAllocationMemoryAllocateInfoNV =+ VkImage+ type FieldOptional "image"+ VkDedicatedAllocationMemoryAllocateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "image" VkDedicatedAllocationMemoryAllocateInfoNV+ =+ #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}+ type FieldIsArray "image" VkDedicatedAllocationMemoryAllocateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, image}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV where+ type FieldType "buffer" VkDedicatedAllocationMemoryAllocateInfoNV =+ VkBuffer+ type FieldOptional "buffer"+ VkDedicatedAllocationMemoryAllocateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkDedicatedAllocationMemoryAllocateInfoNV+ =+ #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}+ type FieldIsArray "buffer"+ VkDedicatedAllocationMemoryAllocateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkDedicatedAllocationMemoryAllocateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDedicatedAllocationMemoryAllocateInfoNV, buffer}++instance Show VkDedicatedAllocationMemoryAllocateInfoNV where+ showsPrec d x+ = showString "VkDedicatedAllocationMemoryAllocateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) . showChar '}'
@@ -0,0 +1,3306 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Descriptor+ (VkDescriptorBufferInfo(..), VkDescriptorImageInfo(..),+ VkDescriptorPoolCreateInfo(..), VkDescriptorPoolSize(..),+ VkDescriptorSetAllocateInfo(..), VkDescriptorSetLayoutBinding(..),+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(..),+ VkDescriptorSetLayoutCreateInfo(..),+ VkDescriptorSetLayoutSupport(..), VkDescriptorSetLayoutSupportKHR,+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(..),+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(..),+ VkDescriptorUpdateTemplateCreateInfo(..),+ VkDescriptorUpdateTemplateCreateInfoKHR,+ VkDescriptorUpdateTemplateEntry(..),+ VkDescriptorUpdateTemplateEntryKHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32,+ VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks (VkDescriptorUpdateTemplateCreateFlags)+import Graphics.Vulkan.Types.Enum.Descriptor (VkDescriptorBindingFlagsEXT,+ VkDescriptorPoolCreateFlags,+ VkDescriptorSetLayoutCreateFlags,+ VkDescriptorType,+ VkDescriptorUpdateTemplateType)+import Graphics.Vulkan.Types.Enum.Image (VkImageLayout)+import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineBindPoint)+import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer,+ VkDescriptorPool,+ VkDescriptorSetLayout,+ VkImageView,+ VkPipelineLayout,+ VkSampler)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDescriptorBufferInfo {+-- > VkBuffer buffer;+-- > VkDeviceSize offset;+-- > VkDeviceSize range;+-- > } VkDescriptorBufferInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorBufferInfo VkDescriptorBufferInfo registry at www.khronos.org>+data VkDescriptorBufferInfo = VkDescriptorBufferInfo## Addr##+ ByteArray##++instance Eq VkDescriptorBufferInfo where+ (VkDescriptorBufferInfo## a _) == x@(VkDescriptorBufferInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorBufferInfo where+ (VkDescriptorBufferInfo## a _) `compare`+ x@(VkDescriptorBufferInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorBufferInfo where+ sizeOf ~_ = #{size VkDescriptorBufferInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDescriptorBufferInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorBufferInfo where+ unsafeAddr (VkDescriptorBufferInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorBufferInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorBufferInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorBufferInfo where+ type StructFields VkDescriptorBufferInfo =+ '["buffer", "offset", "range"] -- ' closing tick for hsc2hs+ type CUnionType VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorBufferInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "buffer" VkDescriptorBufferInfo where+ type FieldType "buffer" VkDescriptorBufferInfo = VkBuffer+ type FieldOptional "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkDescriptorBufferInfo =+ #{offset VkDescriptorBufferInfo, buffer}+ type FieldIsArray "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDescriptorBufferInfo, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkDescriptorBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorBufferInfo, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkDescriptorBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorBufferInfo, buffer}++instance {-# OVERLAPPING #-}+ HasField "offset" VkDescriptorBufferInfo where+ type FieldType "offset" VkDescriptorBufferInfo = VkDeviceSize+ type FieldOptional "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkDescriptorBufferInfo =+ #{offset VkDescriptorBufferInfo, offset}+ type FieldIsArray "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDescriptorBufferInfo, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkDescriptorBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorBufferInfo, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkDescriptorBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorBufferInfo, offset}++instance {-# OVERLAPPING #-}+ HasField "range" VkDescriptorBufferInfo where+ type FieldType "range" VkDescriptorBufferInfo = VkDeviceSize+ type FieldOptional "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "range" VkDescriptorBufferInfo =+ #{offset VkDescriptorBufferInfo, range}+ type FieldIsArray "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDescriptorBufferInfo, range}++instance {-# OVERLAPPING #-}+ CanReadField "range" VkDescriptorBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorBufferInfo, range})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorBufferInfo, range}++instance {-# OVERLAPPING #-}+ CanWriteField "range" VkDescriptorBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorBufferInfo, range}++instance Show VkDescriptorBufferInfo where+ showsPrec d x+ = showString "VkDescriptorBufferInfo {" .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "range = " .+ showsPrec d (getField @"range" x) . showChar '}'++-- | > typedef struct VkDescriptorImageInfo {+-- > VkSampler sampler;+-- > VkImageView imageView;+-- > VkImageLayout imageLayout;+-- > } VkDescriptorImageInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorImageInfo VkDescriptorImageInfo registry at www.khronos.org>+data VkDescriptorImageInfo = VkDescriptorImageInfo## Addr##+ ByteArray##++instance Eq VkDescriptorImageInfo where+ (VkDescriptorImageInfo## a _) == x@(VkDescriptorImageInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorImageInfo where+ (VkDescriptorImageInfo## a _) `compare`+ x@(VkDescriptorImageInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorImageInfo where+ sizeOf ~_ = #{size VkDescriptorImageInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDescriptorImageInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorImageInfo where+ unsafeAddr (VkDescriptorImageInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorImageInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorImageInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorImageInfo where+ type StructFields VkDescriptorImageInfo =+ '["sampler", "imageView", "imageLayout"] -- ' closing tick for hsc2hs+ type CUnionType VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorImageInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sampler" VkDescriptorImageInfo where+ type FieldType "sampler" VkDescriptorImageInfo = VkSampler+ type FieldOptional "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampler" VkDescriptorImageInfo =+ #{offset VkDescriptorImageInfo, sampler}+ type FieldIsArray "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDescriptorImageInfo, sampler}++instance {-# OVERLAPPING #-}+ CanReadField "sampler" VkDescriptorImageInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, sampler})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorImageInfo, sampler}++instance {-# OVERLAPPING #-}+ CanWriteField "sampler" VkDescriptorImageInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorImageInfo, sampler}++instance {-# OVERLAPPING #-}+ HasField "imageView" VkDescriptorImageInfo where+ type FieldType "imageView" VkDescriptorImageInfo = VkImageView+ type FieldOptional "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageView" VkDescriptorImageInfo =+ #{offset VkDescriptorImageInfo, imageView}+ type FieldIsArray "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorImageInfo, imageView}++instance {-# OVERLAPPING #-}+ CanReadField "imageView" VkDescriptorImageInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageView})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorImageInfo, imageView}++instance {-# OVERLAPPING #-}+ CanWriteField "imageView" VkDescriptorImageInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorImageInfo, imageView}++instance {-# OVERLAPPING #-}+ HasField "imageLayout" VkDescriptorImageInfo where+ type FieldType "imageLayout" VkDescriptorImageInfo = VkImageLayout+ type FieldOptional "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageLayout" VkDescriptorImageInfo =+ #{offset VkDescriptorImageInfo, imageLayout}+ type FieldIsArray "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorImageInfo, imageLayout}++instance {-# OVERLAPPING #-}+ CanReadField "imageLayout" VkDescriptorImageInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorImageInfo, imageLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorImageInfo, imageLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "imageLayout" VkDescriptorImageInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorImageInfo, imageLayout}++instance Show VkDescriptorImageInfo where+ showsPrec d x+ = showString "VkDescriptorImageInfo {" .+ showString "sampler = " .+ showsPrec d (getField @"sampler" x) .+ showString ", " .+ showString "imageView = " .+ showsPrec d (getField @"imageView" x) .+ showString ", " .+ showString "imageLayout = " .+ showsPrec d (getField @"imageLayout" x) . showChar '}'++-- | > typedef struct VkDescriptorPoolCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDescriptorPoolCreateFlags flags;+-- > uint32_t maxSets;+-- > uint32_t poolSizeCount;+-- > const VkDescriptorPoolSize* pPoolSizes;+-- > } VkDescriptorPoolCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo registry at www.khronos.org>+data VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateInfo## Addr##+ ByteArray##++instance Eq VkDescriptorPoolCreateInfo where+ (VkDescriptorPoolCreateInfo## a _) ==+ x@(VkDescriptorPoolCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorPoolCreateInfo where+ (VkDescriptorPoolCreateInfo## a _) `compare`+ x@(VkDescriptorPoolCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorPoolCreateInfo where+ sizeOf ~_ = #{size VkDescriptorPoolCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDescriptorPoolCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorPoolCreateInfo where+ unsafeAddr (VkDescriptorPoolCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorPoolCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorPoolCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorPoolCreateInfo where+ type StructFields VkDescriptorPoolCreateInfo =+ '["sType", "pNext", "flags", "maxSets", "poolSizeCount", -- ' closing tick for hsc2hs+ "pPoolSizes"]+ type CUnionType VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorPoolCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDescriptorPoolCreateInfo where+ type FieldType "sType" VkDescriptorPoolCreateInfo = VkStructureType+ type FieldOptional "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDescriptorPoolCreateInfo =+ #{offset VkDescriptorPoolCreateInfo, sType}+ type FieldIsArray "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDescriptorPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDescriptorPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDescriptorPoolCreateInfo where+ type FieldType "pNext" VkDescriptorPoolCreateInfo = Ptr Void+ type FieldOptional "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDescriptorPoolCreateInfo =+ #{offset VkDescriptorPoolCreateInfo, pNext}+ type FieldIsArray "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDescriptorPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDescriptorPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDescriptorPoolCreateInfo where+ type FieldType "flags" VkDescriptorPoolCreateInfo =+ VkDescriptorPoolCreateFlags+ type FieldOptional "flags" VkDescriptorPoolCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDescriptorPoolCreateInfo =+ #{offset VkDescriptorPoolCreateInfo, flags}+ type FieldIsArray "flags" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDescriptorPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDescriptorPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "maxSets" VkDescriptorPoolCreateInfo where+ type FieldType "maxSets" VkDescriptorPoolCreateInfo = Word32+ type FieldOptional "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSets" VkDescriptorPoolCreateInfo =+ #{offset VkDescriptorPoolCreateInfo, maxSets}+ type FieldIsArray "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolCreateInfo, maxSets}++instance {-# OVERLAPPING #-}+ CanReadField "maxSets" VkDescriptorPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, maxSets})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSets" VkDescriptorPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets}++instance {-# OVERLAPPING #-}+ HasField "poolSizeCount" VkDescriptorPoolCreateInfo where+ type FieldType "poolSizeCount" VkDescriptorPoolCreateInfo = Word32+ type FieldOptional "poolSizeCount" VkDescriptorPoolCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "poolSizeCount" VkDescriptorPoolCreateInfo =+ #{offset VkDescriptorPoolCreateInfo, poolSizeCount}+ type FieldIsArray "poolSizeCount" VkDescriptorPoolCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolCreateInfo, poolSizeCount}++instance {-# OVERLAPPING #-}+ CanReadField "poolSizeCount" VkDescriptorPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, poolSizeCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}++instance {-# OVERLAPPING #-}+ CanWriteField "poolSizeCount" VkDescriptorPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount}++instance {-# OVERLAPPING #-}+ HasField "pPoolSizes" VkDescriptorPoolCreateInfo where+ type FieldType "pPoolSizes" VkDescriptorPoolCreateInfo =+ Ptr VkDescriptorPoolSize+ type FieldOptional "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pPoolSizes" VkDescriptorPoolCreateInfo =+ #{offset VkDescriptorPoolCreateInfo, pPoolSizes}+ type FieldIsArray "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++instance {-# OVERLAPPING #-}+ CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pPoolSizes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++instance {-# OVERLAPPING #-}+ CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes}++instance Show VkDescriptorPoolCreateInfo where+ showsPrec d x+ = showString "VkDescriptorPoolCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "maxSets = " .+ showsPrec d (getField @"maxSets" x) .+ showString ", " .+ showString "poolSizeCount = " .+ showsPrec d (getField @"poolSizeCount" x) .+ showString ", " .+ showString "pPoolSizes = " .+ showsPrec d (getField @"pPoolSizes" x) . showChar '}'++-- | > typedef struct VkDescriptorPoolSize {+-- > VkDescriptorType type;+-- > uint32_t descriptorCount;+-- > } VkDescriptorPoolSize;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolSize VkDescriptorPoolSize registry at www.khronos.org>+data VkDescriptorPoolSize = VkDescriptorPoolSize## Addr## ByteArray##++instance Eq VkDescriptorPoolSize where+ (VkDescriptorPoolSize## a _) == x@(VkDescriptorPoolSize## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorPoolSize where+ (VkDescriptorPoolSize## a _) `compare` x@(VkDescriptorPoolSize## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorPoolSize where+ sizeOf ~_ = #{size VkDescriptorPoolSize}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDescriptorPoolSize}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorPoolSize where+ unsafeAddr (VkDescriptorPoolSize## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorPoolSize## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorPoolSize## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorPoolSize where+ type StructFields VkDescriptorPoolSize =+ '["type", "descriptorCount"] -- ' closing tick for hsc2hs+ type CUnionType VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorPoolSize = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "type" VkDescriptorPoolSize+ where+ type FieldType "type" VkDescriptorPoolSize = VkDescriptorType+ type FieldOptional "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkDescriptorPoolSize =+ #{offset VkDescriptorPoolSize, type}+ type FieldIsArray "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDescriptorPoolSize, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkDescriptorPoolSize where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolSize, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkDescriptorPoolSize where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolSize, type}++instance {-# OVERLAPPING #-}+ HasField "descriptorCount" VkDescriptorPoolSize where+ type FieldType "descriptorCount" VkDescriptorPoolSize = Word32+ type FieldOptional "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorCount" VkDescriptorPoolSize =+ #{offset VkDescriptorPoolSize, descriptorCount}+ type FieldIsArray "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorPoolSize, descriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorCount" VkDescriptorPoolSize where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolSize, descriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorPoolSize, descriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorCount" VkDescriptorPoolSize where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorPoolSize, descriptorCount}++instance Show VkDescriptorPoolSize where+ showsPrec d x+ = showString "VkDescriptorPoolSize {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "descriptorCount = " .+ showsPrec d (getField @"descriptorCount" x) . showChar '}'++-- | > typedef struct VkDescriptorSetAllocateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDescriptorPool descriptorPool;+-- > uint32_t descriptorSetCount;+-- > const VkDescriptorSetLayout* pSetLayouts;+-- > } VkDescriptorSetAllocateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo registry at www.khronos.org>+data VkDescriptorSetAllocateInfo = VkDescriptorSetAllocateInfo## Addr##+ ByteArray##++instance Eq VkDescriptorSetAllocateInfo where+ (VkDescriptorSetAllocateInfo## a _) ==+ x@(VkDescriptorSetAllocateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetAllocateInfo where+ (VkDescriptorSetAllocateInfo## a _) `compare`+ x@(VkDescriptorSetAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorSetAllocateInfo where+ sizeOf ~_ = #{size VkDescriptorSetAllocateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDescriptorSetAllocateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetAllocateInfo where+ unsafeAddr (VkDescriptorSetAllocateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorSetAllocateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetAllocateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetAllocateInfo where+ type StructFields VkDescriptorSetAllocateInfo =+ '["sType", "pNext", "descriptorPool", "descriptorSetCount", -- ' closing tick for hsc2hs+ "pSetLayouts"]+ type CUnionType VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorSetAllocateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDescriptorSetAllocateInfo where+ type FieldType "sType" VkDescriptorSetAllocateInfo =+ VkStructureType+ type FieldOptional "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDescriptorSetAllocateInfo =+ #{offset VkDescriptorSetAllocateInfo, sType}+ type FieldIsArray "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDescriptorSetAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDescriptorSetAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDescriptorSetAllocateInfo where+ type FieldType "pNext" VkDescriptorSetAllocateInfo = Ptr Void+ type FieldOptional "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDescriptorSetAllocateInfo =+ #{offset VkDescriptorSetAllocateInfo, pNext}+ type FieldIsArray "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDescriptorSetAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDescriptorSetAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "descriptorPool" VkDescriptorSetAllocateInfo where+ type FieldType "descriptorPool" VkDescriptorSetAllocateInfo =+ VkDescriptorPool+ type FieldOptional "descriptorPool" VkDescriptorSetAllocateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorPool" VkDescriptorSetAllocateInfo =+ #{offset VkDescriptorSetAllocateInfo, descriptorPool}+ type FieldIsArray "descriptorPool" VkDescriptorSetAllocateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetAllocateInfo, descriptorPool}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorPool" VkDescriptorSetAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorPool})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorPool" VkDescriptorSetAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorPool}++instance {-# OVERLAPPING #-}+ HasField "descriptorSetCount" VkDescriptorSetAllocateInfo where+ type FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo =+ Word32+ type FieldOptional "descriptorSetCount" VkDescriptorSetAllocateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorSetCount" VkDescriptorSetAllocateInfo =+ #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}+ type FieldIsArray "descriptorSetCount" VkDescriptorSetAllocateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorSetCount" VkDescriptorSetAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, descriptorSetCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorSetCount" VkDescriptorSetAllocateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, descriptorSetCount}++instance {-# OVERLAPPING #-}+ HasField "pSetLayouts" VkDescriptorSetAllocateInfo where+ type FieldType "pSetLayouts" VkDescriptorSetAllocateInfo =+ Ptr VkDescriptorSetLayout+ type FieldOptional "pSetLayouts" VkDescriptorSetAllocateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSetLayouts" VkDescriptorSetAllocateInfo =+ #{offset VkDescriptorSetAllocateInfo, pSetLayouts}+ type FieldIsArray "pSetLayouts" VkDescriptorSetAllocateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetAllocateInfo, pSetLayouts}++instance {-# OVERLAPPING #-}+ CanReadField "pSetLayouts" VkDescriptorSetAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetAllocateInfo, pSetLayouts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}++instance {-# OVERLAPPING #-}+ CanWriteField "pSetLayouts" VkDescriptorSetAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetAllocateInfo, pSetLayouts}++instance Show VkDescriptorSetAllocateInfo where+ showsPrec d x+ = showString "VkDescriptorSetAllocateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "descriptorPool = " .+ showsPrec d (getField @"descriptorPool" x) .+ showString ", " .+ showString "descriptorSetCount = " .+ showsPrec d (getField @"descriptorSetCount" x) .+ showString ", " .+ showString "pSetLayouts = " .+ showsPrec d (getField @"pSetLayouts" x) . showChar '}'++-- | > typedef struct VkDescriptorSetLayoutBinding {+-- > uint32_t binding;+-- > VkDescriptorType descriptorType;+-- > uint32_t descriptorCount;+-- > VkShaderStageFlags stageFlags;+-- > const VkSampler* pImmutableSamplers;+-- > } VkDescriptorSetLayoutBinding;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding registry at www.khronos.org>+data VkDescriptorSetLayoutBinding = VkDescriptorSetLayoutBinding## Addr##+ ByteArray##++instance Eq VkDescriptorSetLayoutBinding where+ (VkDescriptorSetLayoutBinding## a _) ==+ x@(VkDescriptorSetLayoutBinding## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutBinding where+ (VkDescriptorSetLayoutBinding## a _) `compare`+ x@(VkDescriptorSetLayoutBinding## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutBinding where+ sizeOf ~_ = #{size VkDescriptorSetLayoutBinding}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorSetLayoutBinding}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetLayoutBinding where+ unsafeAddr (VkDescriptorSetLayoutBinding## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorSetLayoutBinding## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetLayoutBinding##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetLayoutBinding where+ type StructFields VkDescriptorSetLayoutBinding =+ '["binding", "descriptorType", "descriptorCount", "stageFlags", -- ' closing tick for hsc2hs+ "pImmutableSamplers"]+ type CUnionType VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorSetLayoutBinding = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "binding" VkDescriptorSetLayoutBinding where+ type FieldType "binding" VkDescriptorSetLayoutBinding = Word32+ type FieldOptional "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs+ type FieldOffset "binding" VkDescriptorSetLayoutBinding =+ #{offset VkDescriptorSetLayoutBinding, binding}+ type FieldIsArray "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBinding, binding}++instance {-# OVERLAPPING #-}+ CanReadField "binding" VkDescriptorSetLayoutBinding where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, binding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBinding, binding}++instance {-# OVERLAPPING #-}+ CanWriteField "binding" VkDescriptorSetLayoutBinding where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, binding}++instance {-# OVERLAPPING #-}+ HasField "descriptorType" VkDescriptorSetLayoutBinding where+ type FieldType "descriptorType" VkDescriptorSetLayoutBinding =+ VkDescriptorType+ type FieldOptional "descriptorType" VkDescriptorSetLayoutBinding =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorType" VkDescriptorSetLayoutBinding =+ #{offset VkDescriptorSetLayoutBinding, descriptorType}+ type FieldIsArray "descriptorType" VkDescriptorSetLayoutBinding =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBinding, descriptorType}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorType" VkDescriptorSetLayoutBinding where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorType" VkDescriptorSetLayoutBinding where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorType}++instance {-# OVERLAPPING #-}+ HasField "descriptorCount" VkDescriptorSetLayoutBinding where+ type FieldType "descriptorCount" VkDescriptorSetLayoutBinding =+ Word32+ type FieldOptional "descriptorCount" VkDescriptorSetLayoutBinding =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "descriptorCount" VkDescriptorSetLayoutBinding =+ #{offset VkDescriptorSetLayoutBinding, descriptorCount}+ type FieldIsArray "descriptorCount" VkDescriptorSetLayoutBinding =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBinding, descriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorCount" VkDescriptorSetLayoutBinding where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, descriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorCount" VkDescriptorSetLayoutBinding where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, descriptorCount}++instance {-# OVERLAPPING #-}+ HasField "stageFlags" VkDescriptorSetLayoutBinding where+ type FieldType "stageFlags" VkDescriptorSetLayoutBinding =+ VkShaderStageFlags+ type FieldOptional "stageFlags" VkDescriptorSetLayoutBinding =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "stageFlags" VkDescriptorSetLayoutBinding =+ #{offset VkDescriptorSetLayoutBinding, stageFlags}+ type FieldIsArray "stageFlags" VkDescriptorSetLayoutBinding =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBinding, stageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "stageFlags" VkDescriptorSetLayoutBinding where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, stageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "stageFlags" VkDescriptorSetLayoutBinding where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, stageFlags}++instance {-# OVERLAPPING #-}+ HasField "pImmutableSamplers" VkDescriptorSetLayoutBinding where+ type FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding =+ Ptr VkSampler+ type FieldOptional "pImmutableSamplers"+ VkDescriptorSetLayoutBinding+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pImmutableSamplers" VkDescriptorSetLayoutBinding+ =+ #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}+ type FieldIsArray "pImmutableSamplers" VkDescriptorSetLayoutBinding+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++instance {-# OVERLAPPING #-}+ CanReadField "pImmutableSamplers" VkDescriptorSetLayoutBinding+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++instance {-# OVERLAPPING #-}+ CanWriteField "pImmutableSamplers" VkDescriptorSetLayoutBinding+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBinding, pImmutableSamplers}++instance Show VkDescriptorSetLayoutBinding where+ showsPrec d x+ = showString "VkDescriptorSetLayoutBinding {" .+ showString "binding = " .+ showsPrec d (getField @"binding" x) .+ showString ", " .+ showString "descriptorType = " .+ showsPrec d (getField @"descriptorType" x) .+ showString ", " .+ showString "descriptorCount = " .+ showsPrec d (getField @"descriptorCount" x) .+ showString ", " .+ showString "stageFlags = " .+ showsPrec d (getField @"stageFlags" x) .+ showString ", " .+ showString "pImmutableSamplers = " .+ showsPrec d (getField @"pImmutableSamplers" x) .+ showChar '}'++-- | > typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t bindingCount;+-- > const VkDescriptorBindingFlagsEXT* pBindingFlags;+-- > } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at www.khronos.org>+data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where+ (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## a _) ==+ x@(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where+ (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## a _) `compare`+ x@(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ sizeOf ~_+ = #{size VkDescriptorSetLayoutBindingFlagsCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorSetLayoutBindingFlagsCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ unsafeAddr (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetLayoutBindingFlagsCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ type StructFields VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =+ '["sType", "pNext", "bindingCount", "pBindingFlags"] -- ' closing tick for hsc2hs+ type CUnionType VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =+ '[VkDescriptorSetLayoutCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ type FieldType "sType"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ =+ #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ type FieldType "pNext"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ =+ #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ type FieldType "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = Word32+ type FieldOptional "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ =+ #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}+ type FieldIsArray "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}++instance {-# OVERLAPPING #-}+ CanReadField "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}++instance {-# OVERLAPPING #-}+ CanWriteField "bindingCount"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, bindingCount}++instance {-# OVERLAPPING #-}+ HasField "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ type FieldType "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = Ptr VkDescriptorBindingFlagsEXT+ type FieldOptional "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ =+ #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}+ type FieldIsArray "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}++instance {-# OVERLAPPING #-}+ CanReadField "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "pBindingFlags"+ VkDescriptorSetLayoutBindingFlagsCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutBindingFlagsCreateInfoEXT, pBindingFlags}++instance Show VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where+ showsPrec d x+ = showString "VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "bindingCount = " .+ showsPrec d (getField @"bindingCount" x) .+ showString ", " .+ showString "pBindingFlags = " .+ showsPrec d (getField @"pBindingFlags" x) . showChar '}'++-- | > typedef struct VkDescriptorSetLayoutCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDescriptorSetLayoutCreateFlags flags;+-- > uint32_t bindingCount;+-- > const VkDescriptorSetLayoutBinding* pBindings;+-- > } VkDescriptorSetLayoutCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo registry at www.khronos.org>+data VkDescriptorSetLayoutCreateInfo = VkDescriptorSetLayoutCreateInfo## Addr##+ ByteArray##++instance Eq VkDescriptorSetLayoutCreateInfo where+ (VkDescriptorSetLayoutCreateInfo## a _) ==+ x@(VkDescriptorSetLayoutCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutCreateInfo where+ (VkDescriptorSetLayoutCreateInfo## a _) `compare`+ x@(VkDescriptorSetLayoutCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutCreateInfo where+ sizeOf ~_ = #{size VkDescriptorSetLayoutCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorSetLayoutCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetLayoutCreateInfo where+ unsafeAddr (VkDescriptorSetLayoutCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorSetLayoutCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetLayoutCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetLayoutCreateInfo where+ type StructFields VkDescriptorSetLayoutCreateInfo =+ '["sType", "pNext", "flags", "bindingCount", "pBindings"] -- ' closing tick for hsc2hs+ type CUnionType VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorSetLayoutCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDescriptorSetLayoutCreateInfo where+ type FieldType "sType" VkDescriptorSetLayoutCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDescriptorSetLayoutCreateInfo =+ #{offset VkDescriptorSetLayoutCreateInfo, sType}+ type FieldIsArray "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDescriptorSetLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDescriptorSetLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDescriptorSetLayoutCreateInfo where+ type FieldType "pNext" VkDescriptorSetLayoutCreateInfo = Ptr Void+ type FieldOptional "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDescriptorSetLayoutCreateInfo =+ #{offset VkDescriptorSetLayoutCreateInfo, pNext}+ type FieldIsArray "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDescriptorSetLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDescriptorSetLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDescriptorSetLayoutCreateInfo where+ type FieldType "flags" VkDescriptorSetLayoutCreateInfo =+ VkDescriptorSetLayoutCreateFlags+ type FieldOptional "flags" VkDescriptorSetLayoutCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDescriptorSetLayoutCreateInfo =+ #{offset VkDescriptorSetLayoutCreateInfo, flags}+ type FieldIsArray "flags" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDescriptorSetLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDescriptorSetLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "bindingCount" VkDescriptorSetLayoutCreateInfo where+ type FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo =+ Word32+ type FieldOptional "bindingCount" VkDescriptorSetLayoutCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "bindingCount" VkDescriptorSetLayoutCreateInfo =+ #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}+ type FieldIsArray "bindingCount" VkDescriptorSetLayoutCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}++instance {-# OVERLAPPING #-}+ CanReadField "bindingCount" VkDescriptorSetLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, bindingCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}++instance {-# OVERLAPPING #-}+ CanWriteField "bindingCount" VkDescriptorSetLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, bindingCount}++instance {-# OVERLAPPING #-}+ HasField "pBindings" VkDescriptorSetLayoutCreateInfo where+ type FieldType "pBindings" VkDescriptorSetLayoutCreateInfo =+ Ptr VkDescriptorSetLayoutBinding+ type FieldOptional "pBindings" VkDescriptorSetLayoutCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pBindings" VkDescriptorSetLayoutCreateInfo =+ #{offset VkDescriptorSetLayoutCreateInfo, pBindings}+ type FieldIsArray "pBindings" VkDescriptorSetLayoutCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++instance {-# OVERLAPPING #-}+ CanReadField "pBindings" VkDescriptorSetLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutCreateInfo, pBindings})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++instance {-# OVERLAPPING #-}+ CanWriteField "pBindings" VkDescriptorSetLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutCreateInfo, pBindings}++instance Show VkDescriptorSetLayoutCreateInfo where+ showsPrec d x+ = showString "VkDescriptorSetLayoutCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "bindingCount = " .+ showsPrec d (getField @"bindingCount" x) .+ showString ", " .+ showString "pBindings = " .+ showsPrec d (getField @"pBindings" x) . showChar '}'++-- | > typedef struct VkDescriptorSetLayoutSupport {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 supported;+-- > } VkDescriptorSetLayoutSupport;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport registry at www.khronos.org>+data VkDescriptorSetLayoutSupport = VkDescriptorSetLayoutSupport## Addr##+ ByteArray##++instance Eq VkDescriptorSetLayoutSupport where+ (VkDescriptorSetLayoutSupport## a _) ==+ x@(VkDescriptorSetLayoutSupport## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetLayoutSupport where+ (VkDescriptorSetLayoutSupport## a _) `compare`+ x@(VkDescriptorSetLayoutSupport## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorSetLayoutSupport where+ sizeOf ~_ = #{size VkDescriptorSetLayoutSupport}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorSetLayoutSupport}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorSetLayoutSupport where+ unsafeAddr (VkDescriptorSetLayoutSupport## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorSetLayoutSupport## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetLayoutSupport##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorSetLayoutSupport where+ type StructFields VkDescriptorSetLayoutSupport =+ '["sType", "pNext", "supported"] -- ' closing tick for hsc2hs+ type CUnionType VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorSetLayoutSupport = 'True -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorSetLayoutSupport = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDescriptorSetLayoutSupport where+ type FieldType "sType" VkDescriptorSetLayoutSupport =+ VkStructureType+ type FieldOptional "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDescriptorSetLayoutSupport =+ #{offset VkDescriptorSetLayoutSupport, sType}+ type FieldIsArray "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutSupport, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDescriptorSetLayoutSupport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutSupport, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDescriptorSetLayoutSupport where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDescriptorSetLayoutSupport where+ type FieldType "pNext" VkDescriptorSetLayoutSupport = Ptr Void+ type FieldOptional "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDescriptorSetLayoutSupport =+ #{offset VkDescriptorSetLayoutSupport, pNext}+ type FieldIsArray "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutSupport, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDescriptorSetLayoutSupport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutSupport, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDescriptorSetLayoutSupport where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, pNext}++instance {-# OVERLAPPING #-}+ HasField "supported" VkDescriptorSetLayoutSupport where+ type FieldType "supported" VkDescriptorSetLayoutSupport = VkBool32+ type FieldOptional "supported" VkDescriptorSetLayoutSupport =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "supported" VkDescriptorSetLayoutSupport =+ #{offset VkDescriptorSetLayoutSupport, supported}+ type FieldIsArray "supported" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetLayoutSupport, supported}++instance {-# OVERLAPPING #-}+ CanReadField "supported" VkDescriptorSetLayoutSupport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetLayoutSupport, supported})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetLayoutSupport, supported}++instance {-# OVERLAPPING #-}+ CanWriteField "supported" VkDescriptorSetLayoutSupport where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetLayoutSupport, supported}++instance Show VkDescriptorSetLayoutSupport where+ showsPrec d x+ = showString "VkDescriptorSetLayoutSupport {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "supported = " .+ showsPrec d (getField @"supported" x) . showChar '}'++-- | Alias for `VkDescriptorSetLayoutSupport`+type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport++-- | > typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t descriptorSetCount;+-- > const uint32_t* pDescriptorCounts;+-- > } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at www.khronos.org>+data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## Addr##+ ByteArray##++instance Eq VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## a _) ==+ x@(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## a _)+ `compare`+ x@(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ sizeOf ~_+ = #{size VkDescriptorSetVariableDescriptorCountAllocateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorSetVariableDescriptorCountAllocateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ unsafeAddr+ (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetVariableDescriptorCountAllocateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ type StructFields+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = '["sType", "pNext", "descriptorSetCount", "pDescriptorCounts"] -- ' closing tick for hsc2hs+ type CUnionType+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = '[VkDescriptorSetAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ type FieldType "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}+ type FieldIsArray "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ type FieldType "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ type FieldType "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = Word32+ type FieldOptional "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}+ type FieldIsArray "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorSetCount"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, descriptorSetCount}++instance {-# OVERLAPPING #-}+ HasField "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ type FieldType "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = Ptr Word32+ type FieldOptional "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}+ type FieldIsArray "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}++instance {-# OVERLAPPING #-}+ CanReadField "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "pDescriptorCounts"+ VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountAllocateInfoEXT, pDescriptorCounts}++instance Show VkDescriptorSetVariableDescriptorCountAllocateInfoEXT+ where+ showsPrec d x+ = showString+ "VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "descriptorSetCount = " .+ showsPrec d (getField @"descriptorSetCount" x) .+ showString ", " .+ showString "pDescriptorCounts = " .+ showsPrec d (getField @"pDescriptorCounts" x) . showChar '}'++-- | > typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxVariableDescriptorCount;+-- > } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at www.khronos.org>+data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## Addr##+ ByteArray##++instance Eq VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## a _) ==+ x@(VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## a _)+ `compare`+ x@(VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ sizeOf ~_+ = #{size VkDescriptorSetVariableDescriptorCountLayoutSupportEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorSetVariableDescriptorCountLayoutSupportEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ unsafeAddr+ (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorSetVariableDescriptorCountLayoutSupportEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ type StructFields+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = '["sType", "pNext", "maxVariableDescriptorCount"] -- ' closing tick for hsc2hs+ type CUnionType+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'True -- ' closing tick for hsc2hs+ type StructExtends+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = '[VkDescriptorSetLayoutSupport] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ type FieldType "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = VkStructureType+ type FieldOptional "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}+ type FieldIsArray "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ type FieldType "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}+ type FieldIsArray "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ type FieldType "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = Word32+ type FieldOptional "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ =+ #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}+ type FieldIsArray "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVariableDescriptorCount"+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorSetVariableDescriptorCountLayoutSupportEXT, maxVariableDescriptorCount}++instance Show+ VkDescriptorSetVariableDescriptorCountLayoutSupportEXT+ where+ showsPrec d x+ = showString+ "VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxVariableDescriptorCount = " .+ showsPrec d (getField @"maxVariableDescriptorCount" x) .+ showChar '}'++-- | > typedef struct VkDescriptorUpdateTemplateCreateInfo {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkDescriptorUpdateTemplateCreateFlags flags;+-- > uint32_t descriptorUpdateEntryCount;+-- > const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;+-- > VkDescriptorUpdateTemplateType templateType;+-- > VkDescriptorSetLayout descriptorSetLayout;+-- > VkPipelineBindPoint pipelineBindPoint;+-- > VkPipelineLayoutpipelineLayout;+-- > uint32_t set;+-- > } VkDescriptorUpdateTemplateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo registry at www.khronos.org>+data VkDescriptorUpdateTemplateCreateInfo = VkDescriptorUpdateTemplateCreateInfo## Addr##+ ByteArray##++instance Eq VkDescriptorUpdateTemplateCreateInfo where+ (VkDescriptorUpdateTemplateCreateInfo## a _) ==+ x@(VkDescriptorUpdateTemplateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorUpdateTemplateCreateInfo where+ (VkDescriptorUpdateTemplateCreateInfo## a _) `compare`+ x@(VkDescriptorUpdateTemplateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorUpdateTemplateCreateInfo where+ sizeOf ~_+ = #{size VkDescriptorUpdateTemplateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorUpdateTemplateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorUpdateTemplateCreateInfo+ where+ unsafeAddr (VkDescriptorUpdateTemplateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorUpdateTemplateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorUpdateTemplateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorUpdateTemplateCreateInfo where+ type StructFields VkDescriptorUpdateTemplateCreateInfo =+ '["sType", "pNext", "flags", "descriptorUpdateEntryCount", -- ' closing tick for hsc2hs+ "pDescriptorUpdateEntries", "templateType", "descriptorSetLayout",+ "pipelineBindPoint", "pipelineLayout", "set"]+ type CUnionType VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorUpdateTemplateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDescriptorUpdateTemplateCreateInfo where+ type FieldType "sType" VkDescriptorUpdateTemplateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDescriptorUpdateTemplateCreateInfo =+ #{offset VkDescriptorUpdateTemplateCreateInfo, sType}+ type FieldIsArray "sType" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDescriptorUpdateTemplateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDescriptorUpdateTemplateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDescriptorUpdateTemplateCreateInfo where+ type FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDescriptorUpdateTemplateCreateInfo =+ #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}+ type FieldIsArray "pNext" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDescriptorUpdateTemplateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDescriptorUpdateTemplateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDescriptorUpdateTemplateCreateInfo where+ type FieldType "flags" VkDescriptorUpdateTemplateCreateInfo =+ VkDescriptorUpdateTemplateCreateFlags+ type FieldOptional "flags" VkDescriptorUpdateTemplateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDescriptorUpdateTemplateCreateInfo =+ #{offset VkDescriptorUpdateTemplateCreateInfo, flags}+ type FieldIsArray "flags" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDescriptorUpdateTemplateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDescriptorUpdateTemplateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ where+ type FieldType "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ = Word32+ type FieldOptional "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ =+ #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}+ type FieldIsArray "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorUpdateEntryCount"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorUpdateEntryCount}++instance {-# OVERLAPPING #-}+ HasField "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ where+ type FieldType "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ = Ptr VkDescriptorUpdateTemplateEntry+ type FieldOptional "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ =+ #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}+ type FieldIsArray "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}++instance {-# OVERLAPPING #-}+ CanReadField "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}++instance {-# OVERLAPPING #-}+ CanWriteField "pDescriptorUpdateEntries"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pDescriptorUpdateEntries}++instance {-# OVERLAPPING #-}+ HasField "templateType" VkDescriptorUpdateTemplateCreateInfo where+ type FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo+ = VkDescriptorUpdateTemplateType+ type FieldOptional "templateType"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "templateType"+ VkDescriptorUpdateTemplateCreateInfo+ =+ #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}+ type FieldIsArray "templateType"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}++instance {-# OVERLAPPING #-}+ CanReadField "templateType" VkDescriptorUpdateTemplateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, templateType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}++instance {-# OVERLAPPING #-}+ CanWriteField "templateType" VkDescriptorUpdateTemplateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, templateType}++instance {-# OVERLAPPING #-}+ HasField "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo+ where+ type FieldType "descriptorSetLayout"+ VkDescriptorUpdateTemplateCreateInfo+ = VkDescriptorSetLayout+ type FieldOptional "descriptorSetLayout"+ VkDescriptorUpdateTemplateCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "descriptorSetLayout"+ VkDescriptorUpdateTemplateCreateInfo+ =+ #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}+ type FieldIsArray "descriptorSetLayout"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorSetLayout"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorSetLayout"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, descriptorSetLayout}++instance {-# OVERLAPPING #-}+ HasField "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo+ where+ type FieldType "pipelineBindPoint"+ VkDescriptorUpdateTemplateCreateInfo+ = VkPipelineBindPoint+ type FieldOptional "pipelineBindPoint"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineBindPoint"+ VkDescriptorUpdateTemplateCreateInfo+ =+ #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}+ type FieldIsArray "pipelineBindPoint"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineBindPoint"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineBindPoint"+ VkDescriptorUpdateTemplateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ HasField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo+ where+ type FieldType "pipelineLayout"+ VkDescriptorUpdateTemplateCreateInfo+ = VkPipelineLayout+ type FieldOptional "pipelineLayout"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineLayout"+ VkDescriptorUpdateTemplateCreateInfo+ =+ #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}+ type FieldIsArray "pipelineLayout"+ VkDescriptorUpdateTemplateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, pipelineLayout}++instance {-# OVERLAPPING #-}+ HasField "set" VkDescriptorUpdateTemplateCreateInfo where+ type FieldType "set" VkDescriptorUpdateTemplateCreateInfo = Word32+ type FieldOptional "set" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "set" VkDescriptorUpdateTemplateCreateInfo =+ #{offset VkDescriptorUpdateTemplateCreateInfo, set}+ type FieldIsArray "set" VkDescriptorUpdateTemplateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateCreateInfo, set}++instance {-# OVERLAPPING #-}+ CanReadField "set" VkDescriptorUpdateTemplateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateCreateInfo, set})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, set}++instance {-# OVERLAPPING #-}+ CanWriteField "set" VkDescriptorUpdateTemplateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateCreateInfo, set}++instance Show VkDescriptorUpdateTemplateCreateInfo where+ showsPrec d x+ = showString "VkDescriptorUpdateTemplateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "descriptorUpdateEntryCount = " .+ showsPrec d (getField @"descriptorUpdateEntryCount" x) .+ showString ", " .+ showString "pDescriptorUpdateEntries = " .+ showsPrec d (getField @"pDescriptorUpdateEntries" x) .+ showString ", " .+ showString "templateType = " .+ showsPrec d (getField @"templateType" x) .+ showString ", " .+ showString "descriptorSetLayout = " .+ showsPrec d (getField @"descriptorSetLayout" x)+ .+ showString ", " .+ showString "pipelineBindPoint = " .+ showsPrec d+ (getField @"pipelineBindPoint" x)+ .+ showString ", " .+ showString "pipelineLayout = " .+ showsPrec d+ (getField @"pipelineLayout" x)+ .+ showString ", " .+ showString "set = " .+ showsPrec d+ (getField @"set" x)+ . showChar '}'++-- | Alias for `VkDescriptorUpdateTemplateCreateInfo`+type VkDescriptorUpdateTemplateCreateInfoKHR =+ VkDescriptorUpdateTemplateCreateInfo++-- | > typedef struct VkDescriptorUpdateTemplateEntry {+-- > uint32_t dstBinding;+-- > uint32_t dstArrayElement;+-- > uint32_t descriptorCount;+-- > VkDescriptorType descriptorType;+-- > size_t offset;+-- > size_t stride;+-- > } VkDescriptorUpdateTemplateEntry;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry registry at www.khronos.org>+data VkDescriptorUpdateTemplateEntry = VkDescriptorUpdateTemplateEntry## Addr##+ ByteArray##++instance Eq VkDescriptorUpdateTemplateEntry where+ (VkDescriptorUpdateTemplateEntry## a _) ==+ x@(VkDescriptorUpdateTemplateEntry## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDescriptorUpdateTemplateEntry where+ (VkDescriptorUpdateTemplateEntry## a _) `compare`+ x@(VkDescriptorUpdateTemplateEntry## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDescriptorUpdateTemplateEntry where+ sizeOf ~_ = #{size VkDescriptorUpdateTemplateEntry}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDescriptorUpdateTemplateEntry}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDescriptorUpdateTemplateEntry where+ unsafeAddr (VkDescriptorUpdateTemplateEntry## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDescriptorUpdateTemplateEntry## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDescriptorUpdateTemplateEntry##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDescriptorUpdateTemplateEntry where+ type StructFields VkDescriptorUpdateTemplateEntry =+ '["dstBinding", "dstArrayElement", "descriptorCount", -- ' closing tick for hsc2hs+ "descriptorType", "offset", "stride"]+ type CUnionType VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDescriptorUpdateTemplateEntry = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "dstBinding" VkDescriptorUpdateTemplateEntry where+ type FieldType "dstBinding" VkDescriptorUpdateTemplateEntry =+ Word32+ type FieldOptional "dstBinding" VkDescriptorUpdateTemplateEntry =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstBinding" VkDescriptorUpdateTemplateEntry =+ #{offset VkDescriptorUpdateTemplateEntry, dstBinding}+ type FieldIsArray "dstBinding" VkDescriptorUpdateTemplateEntry =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateEntry, dstBinding}++instance {-# OVERLAPPING #-}+ CanReadField "dstBinding" VkDescriptorUpdateTemplateEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, dstBinding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstBinding}++instance {-# OVERLAPPING #-}+ CanWriteField "dstBinding" VkDescriptorUpdateTemplateEntry where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstBinding}++instance {-# OVERLAPPING #-}+ HasField "dstArrayElement" VkDescriptorUpdateTemplateEntry where+ type FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry =+ Word32+ type FieldOptional "dstArrayElement"+ VkDescriptorUpdateTemplateEntry+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstArrayElement" VkDescriptorUpdateTemplateEntry+ =+ #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}+ type FieldIsArray "dstArrayElement" VkDescriptorUpdateTemplateEntry+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}++instance {-# OVERLAPPING #-}+ CanReadField "dstArrayElement" VkDescriptorUpdateTemplateEntry+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}++instance {-# OVERLAPPING #-}+ CanWriteField "dstArrayElement" VkDescriptorUpdateTemplateEntry+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, dstArrayElement}++instance {-# OVERLAPPING #-}+ HasField "descriptorCount" VkDescriptorUpdateTemplateEntry where+ type FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry =+ Word32+ type FieldOptional "descriptorCount"+ VkDescriptorUpdateTemplateEntry+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorCount" VkDescriptorUpdateTemplateEntry+ =+ #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}+ type FieldIsArray "descriptorCount" VkDescriptorUpdateTemplateEntry+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorCount" VkDescriptorUpdateTemplateEntry+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, descriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorCount" VkDescriptorUpdateTemplateEntry+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorCount}++instance {-# OVERLAPPING #-}+ HasField "descriptorType" VkDescriptorUpdateTemplateEntry where+ type FieldType "descriptorType" VkDescriptorUpdateTemplateEntry =+ VkDescriptorType+ type FieldOptional "descriptorType" VkDescriptorUpdateTemplateEntry+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorType" VkDescriptorUpdateTemplateEntry =+ #{offset VkDescriptorUpdateTemplateEntry, descriptorType}+ type FieldIsArray "descriptorType" VkDescriptorUpdateTemplateEntry+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateEntry, descriptorType}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorType" VkDescriptorUpdateTemplateEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, descriptorType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorType}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorType" VkDescriptorUpdateTemplateEntry+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, descriptorType}++instance {-# OVERLAPPING #-}+ HasField "offset" VkDescriptorUpdateTemplateEntry where+ type FieldType "offset" VkDescriptorUpdateTemplateEntry = CSize+ type FieldOptional "offset" VkDescriptorUpdateTemplateEntry =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkDescriptorUpdateTemplateEntry =+ #{offset VkDescriptorUpdateTemplateEntry, offset}+ type FieldIsArray "offset" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateEntry, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkDescriptorUpdateTemplateEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkDescriptorUpdateTemplateEntry where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, offset}++instance {-# OVERLAPPING #-}+ HasField "stride" VkDescriptorUpdateTemplateEntry where+ type FieldType "stride" VkDescriptorUpdateTemplateEntry = CSize+ type FieldOptional "stride" VkDescriptorUpdateTemplateEntry =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "stride" VkDescriptorUpdateTemplateEntry =+ #{offset VkDescriptorUpdateTemplateEntry, stride}+ type FieldIsArray "stride" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDescriptorUpdateTemplateEntry, stride}++instance {-# OVERLAPPING #-}+ CanReadField "stride" VkDescriptorUpdateTemplateEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDescriptorUpdateTemplateEntry, stride})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDescriptorUpdateTemplateEntry, stride}++instance {-# OVERLAPPING #-}+ CanWriteField "stride" VkDescriptorUpdateTemplateEntry where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDescriptorUpdateTemplateEntry, stride}++instance Show VkDescriptorUpdateTemplateEntry where+ showsPrec d x+ = showString "VkDescriptorUpdateTemplateEntry {" .+ showString "dstBinding = " .+ showsPrec d (getField @"dstBinding" x) .+ showString ", " .+ showString "dstArrayElement = " .+ showsPrec d (getField @"dstArrayElement" x) .+ showString ", " .+ showString "descriptorCount = " .+ showsPrec d (getField @"descriptorCount" x) .+ showString ", " .+ showString "descriptorType = " .+ showsPrec d (getField @"descriptorType" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "stride = " .+ showsPrec d (getField @"stride" x) . showChar '}'++-- | Alias for `VkDescriptorUpdateTemplateEntry`+type VkDescriptorUpdateTemplateEntryKHR =+ VkDescriptorUpdateTemplateEntry
@@ -0,0 +1,3982 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.Device+ (VkDeviceCreateInfo(..), VkDeviceEventInfoEXT(..),+ VkDeviceGeneratedCommandsFeaturesNVX(..),+ VkDeviceGeneratedCommandsLimitsNVX(..),+ VkDeviceGroupBindSparseInfo(..), VkDeviceGroupBindSparseInfoKHR,+ VkDeviceGroupCommandBufferBeginInfo(..),+ VkDeviceGroupCommandBufferBeginInfoKHR,+ VkDeviceGroupDeviceCreateInfo(..),+ VkDeviceGroupDeviceCreateInfoKHR,+ VkDeviceGroupPresentCapabilitiesKHR(..),+ VkDeviceGroupPresentInfoKHR(..),+ VkDeviceGroupRenderPassBeginInfo(..),+ VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo(..),+ VkDeviceGroupSubmitInfoKHR,+ VkDeviceGroupSwapchainCreateInfoKHR(..),+ VkDeviceQueueCreateInfo(..),+ VkDeviceQueueGlobalPriorityCreateInfoEXT(..),+ VkDeviceQueueInfo2(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##,+ proxy##)+import GHC.TypeLits (KnownNat,+ natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Constants (VK_MAX_DEVICE_GROUP_SIZE,+ pattern VK_MAX_DEVICE_GROUP_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Bitmasks (VkDeviceCreateFlags)+import Graphics.Vulkan.Types.Enum.Device (VkDeviceEventTypeEXT,+ VkDeviceGroupPresentModeFlagBitsKHR,+ VkDeviceGroupPresentModeFlagsKHR,+ VkDeviceQueueCreateFlags)+import Graphics.Vulkan.Types.Enum.Queue (VkQueueGlobalPriorityEXT)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkPhysicalDevice)+import Graphics.Vulkan.Types.Struct.Bind (VkBindSparseInfo)+import Graphics.Vulkan.Types.Struct.Command (VkCommandBufferBeginInfo)+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)+import Graphics.Vulkan.Types.Struct.Present (VkPresentInfoKHR)+import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)+import Graphics.Vulkan.Types.Struct.RenderPass (VkRenderPassBeginInfo)+import Graphics.Vulkan.Types.Struct.SubmitInfo (VkSubmitInfo)+import Graphics.Vulkan.Types.Struct.SwapchainC (VkSwapchainCreateInfoKHR)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDeviceCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceCreateFlags flags;+-- > uint32_t queueCreateInfoCount;+-- > const VkDeviceQueueCreateInfo* pQueueCreateInfos;+-- > uint32_t enabledLayerCount;+-- > const char* const* ppEnabledLayerNames;+-- > uint32_t enabledExtensionCount;+-- > const char* const* ppEnabledExtensionNames;+-- > const VkPhysicalDeviceFeatures* pEnabledFeatures;+-- > } VkDeviceCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceCreateInfo VkDeviceCreateInfo registry at www.khronos.org>+data VkDeviceCreateInfo = VkDeviceCreateInfo## Addr## ByteArray##++instance Eq VkDeviceCreateInfo where+ (VkDeviceCreateInfo## a _) == x@(VkDeviceCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceCreateInfo where+ (VkDeviceCreateInfo## a _) `compare` x@(VkDeviceCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceCreateInfo where+ sizeOf ~_ = #{size VkDeviceCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceCreateInfo where+ unsafeAddr (VkDeviceCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceCreateInfo where+ type StructFields VkDeviceCreateInfo =+ '["sType", "pNext", "flags", "queueCreateInfoCount", -- ' closing tick for hsc2hs+ "pQueueCreateInfos", "enabledLayerCount", "ppEnabledLayerNames",+ "enabledExtensionCount", "ppEnabledExtensionNames",+ "pEnabledFeatures"]+ type CUnionType VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDeviceCreateInfo+ where+ type FieldType "sType" VkDeviceCreateInfo = VkStructureType+ type FieldOptional "sType" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, sType}+ type FieldIsArray "sType" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceCreateInfo+ where+ type FieldType "pNext" VkDeviceCreateInfo = Ptr Void+ type FieldOptional "pNext" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, pNext}+ type FieldIsArray "pNext" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkDeviceCreateInfo+ where+ type FieldType "flags" VkDeviceCreateInfo = VkDeviceCreateFlags+ type FieldOptional "flags" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, flags}+ type FieldIsArray "flags" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "queueCreateInfoCount" VkDeviceCreateInfo where+ type FieldType "queueCreateInfoCount" VkDeviceCreateInfo = Word32+ type FieldOptional "queueCreateInfoCount" VkDeviceCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueCreateInfoCount" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, queueCreateInfoCount}+ type FieldIsArray "queueCreateInfoCount" VkDeviceCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, queueCreateInfoCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueCreateInfoCount" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, queueCreateInfoCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueCreateInfoCount" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, queueCreateInfoCount}++instance {-# OVERLAPPING #-}+ HasField "pQueueCreateInfos" VkDeviceCreateInfo where+ type FieldType "pQueueCreateInfos" VkDeviceCreateInfo =+ Ptr VkDeviceQueueCreateInfo+ type FieldOptional "pQueueCreateInfos" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pQueueCreateInfos" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, pQueueCreateInfos}+ type FieldIsArray "pQueueCreateInfos" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, pQueueCreateInfos}++instance {-# OVERLAPPING #-}+ CanReadField "pQueueCreateInfos" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pQueueCreateInfos})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}++instance {-# OVERLAPPING #-}+ CanWriteField "pQueueCreateInfos" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, pQueueCreateInfos}++instance {-# OVERLAPPING #-}+ HasField "enabledLayerCount" VkDeviceCreateInfo where+ type FieldType "enabledLayerCount" VkDeviceCreateInfo = Word32+ type FieldOptional "enabledLayerCount" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "enabledLayerCount" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, enabledLayerCount}+ type FieldIsArray "enabledLayerCount" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+ CanReadField "enabledLayerCount" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledLayerCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+ CanWriteField "enabledLayerCount" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+ HasField "ppEnabledLayerNames" VkDeviceCreateInfo where+ type FieldType "ppEnabledLayerNames" VkDeviceCreateInfo =+ Ptr CString+ type FieldOptional "ppEnabledLayerNames" VkDeviceCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "ppEnabledLayerNames" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, ppEnabledLayerNames}+ type FieldIsArray "ppEnabledLayerNames" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+ CanReadField "ppEnabledLayerNames" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledLayerNames})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+ CanWriteField "ppEnabledLayerNames" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+ HasField "enabledExtensionCount" VkDeviceCreateInfo where+ type FieldType "enabledExtensionCount" VkDeviceCreateInfo = Word32+ type FieldOptional "enabledExtensionCount" VkDeviceCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "enabledExtensionCount" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, enabledExtensionCount}+ type FieldIsArray "enabledExtensionCount" VkDeviceCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+ CanReadField "enabledExtensionCount" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, enabledExtensionCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+ CanWriteField "enabledExtensionCount" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+ HasField "ppEnabledExtensionNames" VkDeviceCreateInfo where+ type FieldType "ppEnabledExtensionNames" VkDeviceCreateInfo =+ Ptr CString+ type FieldOptional "ppEnabledExtensionNames" VkDeviceCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "ppEnabledExtensionNames" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}+ type FieldIsArray "ppEnabledExtensionNames" VkDeviceCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+ CanReadField "ppEnabledExtensionNames" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, ppEnabledExtensionNames})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+ CanWriteField "ppEnabledExtensionNames" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+ HasField "pEnabledFeatures" VkDeviceCreateInfo where+ type FieldType "pEnabledFeatures" VkDeviceCreateInfo =+ Ptr VkPhysicalDeviceFeatures+ type FieldOptional "pEnabledFeatures" VkDeviceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pEnabledFeatures" VkDeviceCreateInfo =+ #{offset VkDeviceCreateInfo, pEnabledFeatures}+ type FieldIsArray "pEnabledFeatures" VkDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceCreateInfo, pEnabledFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "pEnabledFeatures" VkDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceCreateInfo, pEnabledFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "pEnabledFeatures" VkDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceCreateInfo, pEnabledFeatures}++instance Show VkDeviceCreateInfo where+ showsPrec d x+ = showString "VkDeviceCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "queueCreateInfoCount = " .+ showsPrec d (getField @"queueCreateInfoCount" x) .+ showString ", " .+ showString "pQueueCreateInfos = " .+ showsPrec d (getField @"pQueueCreateInfos" x) .+ showString ", " .+ showString "enabledLayerCount = " .+ showsPrec d (getField @"enabledLayerCount" x) .+ showString ", " .+ showString "ppEnabledLayerNames = " .+ showsPrec d (getField @"ppEnabledLayerNames" x)+ .+ showString ", " .+ showString "enabledExtensionCount = " .+ showsPrec d+ (getField @"enabledExtensionCount" x)+ .+ showString ", " .+ showString+ "ppEnabledExtensionNames = "+ .+ showsPrec d+ (getField+ @"ppEnabledExtensionNames"+ x)+ .+ showString ", " .+ showString "pEnabledFeatures = "+ .+ showsPrec d+ (getField+ @"pEnabledFeatures"+ x)+ . showChar '}'++-- | > typedef struct VkDeviceEventInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceEventTypeEXT deviceEvent;+-- > } VkDeviceEventInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceEventInfoEXT VkDeviceEventInfoEXT registry at www.khronos.org>+data VkDeviceEventInfoEXT = VkDeviceEventInfoEXT## Addr## ByteArray##++instance Eq VkDeviceEventInfoEXT where+ (VkDeviceEventInfoEXT## a _) == x@(VkDeviceEventInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceEventInfoEXT where+ (VkDeviceEventInfoEXT## a _) `compare` x@(VkDeviceEventInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceEventInfoEXT where+ sizeOf ~_ = #{size VkDeviceEventInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceEventInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceEventInfoEXT where+ unsafeAddr (VkDeviceEventInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceEventInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceEventInfoEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceEventInfoEXT where+ type StructFields VkDeviceEventInfoEXT =+ '["sType", "pNext", "deviceEvent"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceEventInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDeviceEventInfoEXT+ where+ type FieldType "sType" VkDeviceEventInfoEXT = VkStructureType+ type FieldOptional "sType" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceEventInfoEXT =+ #{offset VkDeviceEventInfoEXT, sType}+ type FieldIsArray "sType" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceEventInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceEventInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceEventInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceEventInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceEventInfoEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceEventInfoEXT+ where+ type FieldType "pNext" VkDeviceEventInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceEventInfoEXT =+ #{offset VkDeviceEventInfoEXT, pNext}+ type FieldIsArray "pNext" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceEventInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceEventInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceEventInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceEventInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceEventInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "deviceEvent" VkDeviceEventInfoEXT where+ type FieldType "deviceEvent" VkDeviceEventInfoEXT =+ VkDeviceEventTypeEXT+ type FieldOptional "deviceEvent" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceEvent" VkDeviceEventInfoEXT =+ #{offset VkDeviceEventInfoEXT, deviceEvent}+ type FieldIsArray "deviceEvent" VkDeviceEventInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceEventInfoEXT, deviceEvent}++instance {-# OVERLAPPING #-}+ CanReadField "deviceEvent" VkDeviceEventInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceEventInfoEXT, deviceEvent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceEvent" VkDeviceEventInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceEventInfoEXT, deviceEvent}++instance Show VkDeviceEventInfoEXT where+ showsPrec d x+ = showString "VkDeviceEventInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "deviceEvent = " .+ showsPrec d (getField @"deviceEvent" x) . showChar '}'++-- | > typedef struct VkDeviceGeneratedCommandsFeaturesNVX {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 computeBindingPointSupport;+-- > } VkDeviceGeneratedCommandsFeaturesNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX registry at www.khronos.org>+data VkDeviceGeneratedCommandsFeaturesNVX = VkDeviceGeneratedCommandsFeaturesNVX## Addr##+ ByteArray##++instance Eq VkDeviceGeneratedCommandsFeaturesNVX where+ (VkDeviceGeneratedCommandsFeaturesNVX## a _) ==+ x@(VkDeviceGeneratedCommandsFeaturesNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGeneratedCommandsFeaturesNVX where+ (VkDeviceGeneratedCommandsFeaturesNVX## a _) `compare`+ x@(VkDeviceGeneratedCommandsFeaturesNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGeneratedCommandsFeaturesNVX where+ sizeOf ~_+ = #{size VkDeviceGeneratedCommandsFeaturesNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGeneratedCommandsFeaturesNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGeneratedCommandsFeaturesNVX+ where+ unsafeAddr (VkDeviceGeneratedCommandsFeaturesNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGeneratedCommandsFeaturesNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGeneratedCommandsFeaturesNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGeneratedCommandsFeaturesNVX where+ type StructFields VkDeviceGeneratedCommandsFeaturesNVX =+ '["sType", "pNext", "computeBindingPointSupport"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGeneratedCommandsFeaturesNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGeneratedCommandsFeaturesNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGeneratedCommandsFeaturesNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGeneratedCommandsFeaturesNVX where+ type FieldType "sType" VkDeviceGeneratedCommandsFeaturesNVX =+ VkStructureType+ type FieldOptional "sType" VkDeviceGeneratedCommandsFeaturesNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGeneratedCommandsFeaturesNVX =+ #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}+ type FieldIsArray "sType" VkDeviceGeneratedCommandsFeaturesNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGeneratedCommandsFeaturesNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGeneratedCommandsFeaturesNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where+ type FieldType "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+ Ptr Void+ type FieldOptional "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+ #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}+ type FieldIsArray "pNext" VkDeviceGeneratedCommandsFeaturesNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGeneratedCommandsFeaturesNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ where+ type FieldType "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ = VkBool32+ type FieldOptional "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ =+ #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}+ type FieldIsArray "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++instance {-# OVERLAPPING #-}+ CanReadField "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++instance {-# OVERLAPPING #-}+ CanWriteField "computeBindingPointSupport"+ VkDeviceGeneratedCommandsFeaturesNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsFeaturesNVX, computeBindingPointSupport}++instance Show VkDeviceGeneratedCommandsFeaturesNVX where+ showsPrec d x+ = showString "VkDeviceGeneratedCommandsFeaturesNVX {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "computeBindingPointSupport = " .+ showsPrec d (getField @"computeBindingPointSupport" x) .+ showChar '}'++-- | > typedef struct VkDeviceGeneratedCommandsLimitsNVX {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t maxIndirectCommandsLayoutTokenCount;+-- > uint32_t maxObjectEntryCounts;+-- > uint32_t minSequenceCountBufferOffsetAlignment;+-- > uint32_t minSequenceIndexBufferOffsetAlignment;+-- > uint32_t minCommandsTokenBufferOffsetAlignment;+-- > } VkDeviceGeneratedCommandsLimitsNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org>+data VkDeviceGeneratedCommandsLimitsNVX = VkDeviceGeneratedCommandsLimitsNVX## Addr##+ ByteArray##++instance Eq VkDeviceGeneratedCommandsLimitsNVX where+ (VkDeviceGeneratedCommandsLimitsNVX## a _) ==+ x@(VkDeviceGeneratedCommandsLimitsNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGeneratedCommandsLimitsNVX where+ (VkDeviceGeneratedCommandsLimitsNVX## a _) `compare`+ x@(VkDeviceGeneratedCommandsLimitsNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGeneratedCommandsLimitsNVX where+ sizeOf ~_ = #{size VkDeviceGeneratedCommandsLimitsNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGeneratedCommandsLimitsNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGeneratedCommandsLimitsNVX where+ unsafeAddr (VkDeviceGeneratedCommandsLimitsNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGeneratedCommandsLimitsNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGeneratedCommandsLimitsNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGeneratedCommandsLimitsNVX where+ type StructFields VkDeviceGeneratedCommandsLimitsNVX =+ '["sType", "pNext", "maxIndirectCommandsLayoutTokenCount", -- ' closing tick for hsc2hs+ "maxObjectEntryCounts", "minSequenceCountBufferOffsetAlignment",+ "minSequenceIndexBufferOffsetAlignment",+ "minCommandsTokenBufferOffsetAlignment"]+ type CUnionType VkDeviceGeneratedCommandsLimitsNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGeneratedCommandsLimitsNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGeneratedCommandsLimitsNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGeneratedCommandsLimitsNVX where+ type FieldType "sType" VkDeviceGeneratedCommandsLimitsNVX =+ VkStructureType+ type FieldOptional "sType" VkDeviceGeneratedCommandsLimitsNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGeneratedCommandsLimitsNVX =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}+ type FieldIsArray "sType" VkDeviceGeneratedCommandsLimitsNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGeneratedCommandsLimitsNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGeneratedCommandsLimitsNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGeneratedCommandsLimitsNVX where+ type FieldType "pNext" VkDeviceGeneratedCommandsLimitsNVX =+ Ptr Void+ type FieldOptional "pNext" VkDeviceGeneratedCommandsLimitsNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGeneratedCommandsLimitsNVX =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}+ type FieldIsArray "pNext" VkDeviceGeneratedCommandsLimitsNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGeneratedCommandsLimitsNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGeneratedCommandsLimitsNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ type FieldType "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ = Word32+ type FieldOptional "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}+ type FieldIsArray "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxIndirectCommandsLayoutTokenCount"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxIndirectCommandsLayoutTokenCount}++instance {-# OVERLAPPING #-}+ HasField "maxObjectEntryCounts" VkDeviceGeneratedCommandsLimitsNVX+ where+ type FieldType "maxObjectEntryCounts"+ VkDeviceGeneratedCommandsLimitsNVX+ = Word32+ type FieldOptional "maxObjectEntryCounts"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxObjectEntryCounts"+ VkDeviceGeneratedCommandsLimitsNVX+ =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}+ type FieldIsArray "maxObjectEntryCounts"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}++instance {-# OVERLAPPING #-}+ CanReadField "maxObjectEntryCounts"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "maxObjectEntryCounts"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, maxObjectEntryCounts}++instance {-# OVERLAPPING #-}+ HasField "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ type FieldType "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = Word32+ type FieldOptional "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}+ type FieldIsArray "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minSequenceCountBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceCountBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ HasField "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ type FieldType "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = Word32+ type FieldOptional "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}+ type FieldIsArray "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minSequenceIndexBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minSequenceIndexBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ HasField "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ type FieldType "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = Word32+ type FieldOptional "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ =+ #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}+ type FieldIsArray "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minCommandsTokenBufferOffsetAlignment"+ VkDeviceGeneratedCommandsLimitsNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGeneratedCommandsLimitsNVX, minCommandsTokenBufferOffsetAlignment}++instance Show VkDeviceGeneratedCommandsLimitsNVX where+ showsPrec d x+ = showString "VkDeviceGeneratedCommandsLimitsNVX {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxIndirectCommandsLayoutTokenCount = " .+ showsPrec d (getField @"maxIndirectCommandsLayoutTokenCount" x) .+ showString ", " .+ showString "maxObjectEntryCounts = " .+ showsPrec d (getField @"maxObjectEntryCounts" x) .+ showString ", " .+ showString "minSequenceCountBufferOffsetAlignment = " .+ showsPrec d+ (getField @"minSequenceCountBufferOffsetAlignment" x)+ .+ showString ", " .+ showString "minSequenceIndexBufferOffsetAlignment = " .+ showsPrec d+ (getField @"minSequenceIndexBufferOffsetAlignment"+ x)+ .+ showString ", " .+ showString+ "minCommandsTokenBufferOffsetAlignment = "+ .+ showsPrec d+ (getField+ @"minCommandsTokenBufferOffsetAlignment"+ x)+ . showChar '}'++-- | > typedef struct VkDeviceGroupBindSparseInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t resourceDeviceIndex;+-- > uint32_t memoryDeviceIndex;+-- > } VkDeviceGroupBindSparseInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo registry at www.khronos.org>+data VkDeviceGroupBindSparseInfo = VkDeviceGroupBindSparseInfo## Addr##+ ByteArray##++instance Eq VkDeviceGroupBindSparseInfo where+ (VkDeviceGroupBindSparseInfo## a _) ==+ x@(VkDeviceGroupBindSparseInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupBindSparseInfo where+ (VkDeviceGroupBindSparseInfo## a _) `compare`+ x@(VkDeviceGroupBindSparseInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupBindSparseInfo where+ sizeOf ~_ = #{size VkDeviceGroupBindSparseInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceGroupBindSparseInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupBindSparseInfo where+ unsafeAddr (VkDeviceGroupBindSparseInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupBindSparseInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupBindSparseInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupBindSparseInfo where+ type StructFields VkDeviceGroupBindSparseInfo =+ '["sType", "pNext", "resourceDeviceIndex", "memoryDeviceIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupBindSparseInfo =+ '[VkBindSparseInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupBindSparseInfo where+ type FieldType "sType" VkDeviceGroupBindSparseInfo =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupBindSparseInfo =+ #{offset VkDeviceGroupBindSparseInfo, sType}+ type FieldIsArray "sType" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupBindSparseInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupBindSparseInfo where+ type FieldType "pNext" VkDeviceGroupBindSparseInfo = Ptr Void+ type FieldOptional "pNext" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupBindSparseInfo =+ #{offset VkDeviceGroupBindSparseInfo, pNext}+ type FieldIsArray "pNext" VkDeviceGroupBindSparseInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo where+ type FieldType "resourceDeviceIndex" VkDeviceGroupBindSparseInfo =+ Word32+ type FieldOptional "resourceDeviceIndex"+ VkDeviceGroupBindSparseInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+ =+ #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}+ type FieldIsArray "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}++instance {-# OVERLAPPING #-}+ CanReadField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "resourceDeviceIndex" VkDeviceGroupBindSparseInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, resourceDeviceIndex}++instance {-# OVERLAPPING #-}+ HasField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where+ type FieldType "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =+ Word32+ type FieldOptional "memoryDeviceIndex" VkDeviceGroupBindSparseInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =+ #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}+ type FieldIsArray "memoryDeviceIndex" VkDeviceGroupBindSparseInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}++instance {-# OVERLAPPING #-}+ CanReadField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryDeviceIndex" VkDeviceGroupBindSparseInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupBindSparseInfo, memoryDeviceIndex}++instance Show VkDeviceGroupBindSparseInfo where+ showsPrec d x+ = showString "VkDeviceGroupBindSparseInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "resourceDeviceIndex = " .+ showsPrec d (getField @"resourceDeviceIndex" x) .+ showString ", " .+ showString "memoryDeviceIndex = " .+ showsPrec d (getField @"memoryDeviceIndex" x) . showChar '}'++-- | Alias for `VkDeviceGroupBindSparseInfo`+type VkDeviceGroupBindSparseInfoKHR = VkDeviceGroupBindSparseInfo++-- | > typedef struct VkDeviceGroupCommandBufferBeginInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t deviceMask;+-- > } VkDeviceGroupCommandBufferBeginInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo registry at www.khronos.org>+data VkDeviceGroupCommandBufferBeginInfo = VkDeviceGroupCommandBufferBeginInfo## Addr##+ ByteArray##++instance Eq VkDeviceGroupCommandBufferBeginInfo where+ (VkDeviceGroupCommandBufferBeginInfo## a _) ==+ x@(VkDeviceGroupCommandBufferBeginInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupCommandBufferBeginInfo where+ (VkDeviceGroupCommandBufferBeginInfo## a _) `compare`+ x@(VkDeviceGroupCommandBufferBeginInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupCommandBufferBeginInfo where+ sizeOf ~_ = #{size VkDeviceGroupCommandBufferBeginInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGroupCommandBufferBeginInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupCommandBufferBeginInfo+ where+ unsafeAddr (VkDeviceGroupCommandBufferBeginInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupCommandBufferBeginInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupCommandBufferBeginInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupCommandBufferBeginInfo where+ type StructFields VkDeviceGroupCommandBufferBeginInfo =+ '["sType", "pNext", "deviceMask"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGroupCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupCommandBufferBeginInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupCommandBufferBeginInfo =+ '[VkCommandBufferBeginInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupCommandBufferBeginInfo where+ type FieldType "sType" VkDeviceGroupCommandBufferBeginInfo =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupCommandBufferBeginInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupCommandBufferBeginInfo =+ #{offset VkDeviceGroupCommandBufferBeginInfo, sType}+ type FieldIsArray "sType" VkDeviceGroupCommandBufferBeginInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupCommandBufferBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupCommandBufferBeginInfo where+ type FieldType "pNext" VkDeviceGroupCommandBufferBeginInfo =+ Ptr Void+ type FieldOptional "pNext" VkDeviceGroupCommandBufferBeginInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupCommandBufferBeginInfo =+ #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}+ type FieldIsArray "pNext" VkDeviceGroupCommandBufferBeginInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupCommandBufferBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "deviceMask" VkDeviceGroupCommandBufferBeginInfo where+ type FieldType "deviceMask" VkDeviceGroupCommandBufferBeginInfo =+ Word32+ type FieldOptional "deviceMask" VkDeviceGroupCommandBufferBeginInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceMask" VkDeviceGroupCommandBufferBeginInfo =+ #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}+ type FieldIsArray "deviceMask" VkDeviceGroupCommandBufferBeginInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+ CanReadField "deviceMask" VkDeviceGroupCommandBufferBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceMask" VkDeviceGroupCommandBufferBeginInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupCommandBufferBeginInfo, deviceMask}++instance Show VkDeviceGroupCommandBufferBeginInfo where+ showsPrec d x+ = showString "VkDeviceGroupCommandBufferBeginInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "deviceMask = " .+ showsPrec d (getField @"deviceMask" x) . showChar '}'++-- | Alias for `VkDeviceGroupCommandBufferBeginInfo`+type VkDeviceGroupCommandBufferBeginInfoKHR =+ VkDeviceGroupCommandBufferBeginInfo++-- | > typedef struct VkDeviceGroupDeviceCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t physicalDeviceCount;+-- > const VkPhysicalDevice* pPhysicalDevices;+-- > } VkDeviceGroupDeviceCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo registry at www.khronos.org>+data VkDeviceGroupDeviceCreateInfo = VkDeviceGroupDeviceCreateInfo## Addr##+ ByteArray##++instance Eq VkDeviceGroupDeviceCreateInfo where+ (VkDeviceGroupDeviceCreateInfo## a _) ==+ x@(VkDeviceGroupDeviceCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupDeviceCreateInfo where+ (VkDeviceGroupDeviceCreateInfo## a _) `compare`+ x@(VkDeviceGroupDeviceCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupDeviceCreateInfo where+ sizeOf ~_ = #{size VkDeviceGroupDeviceCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGroupDeviceCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupDeviceCreateInfo where+ unsafeAddr (VkDeviceGroupDeviceCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupDeviceCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupDeviceCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupDeviceCreateInfo where+ type StructFields VkDeviceGroupDeviceCreateInfo =+ '["sType", "pNext", "physicalDeviceCount", "pPhysicalDevices"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupDeviceCreateInfo =+ '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupDeviceCreateInfo where+ type FieldType "sType" VkDeviceGroupDeviceCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupDeviceCreateInfo =+ #{offset VkDeviceGroupDeviceCreateInfo, sType}+ type FieldIsArray "sType" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupDeviceCreateInfo where+ type FieldType "pNext" VkDeviceGroupDeviceCreateInfo = Ptr Void+ type FieldOptional "pNext" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupDeviceCreateInfo =+ #{offset VkDeviceGroupDeviceCreateInfo, pNext}+ type FieldIsArray "pNext" VkDeviceGroupDeviceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupDeviceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo where+ type FieldType "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo+ = Word32+ type FieldOptional "physicalDeviceCount"+ VkDeviceGroupDeviceCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "physicalDeviceCount"+ VkDeviceGroupDeviceCreateInfo+ =+ #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}+ type FieldIsArray "physicalDeviceCount"+ VkDeviceGroupDeviceCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}++instance {-# OVERLAPPING #-}+ CanReadField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}++instance {-# OVERLAPPING #-}+ CanWriteField "physicalDeviceCount" VkDeviceGroupDeviceCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, physicalDeviceCount}++instance {-# OVERLAPPING #-}+ HasField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo where+ type FieldType "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo =+ Ptr VkPhysicalDevice+ type FieldOptional "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo =+ #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}+ type FieldIsArray "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}++instance {-# OVERLAPPING #-}+ CanReadField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}++instance {-# OVERLAPPING #-}+ CanWriteField "pPhysicalDevices" VkDeviceGroupDeviceCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupDeviceCreateInfo, pPhysicalDevices}++instance Show VkDeviceGroupDeviceCreateInfo where+ showsPrec d x+ = showString "VkDeviceGroupDeviceCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "physicalDeviceCount = " .+ showsPrec d (getField @"physicalDeviceCount" x) .+ showString ", " .+ showString "pPhysicalDevices = " .+ showsPrec d (getField @"pPhysicalDevices" x) . showChar '}'++-- | Alias for `VkDeviceGroupDeviceCreateInfo`+type VkDeviceGroupDeviceCreateInfoKHR =+ VkDeviceGroupDeviceCreateInfo++-- | > typedef struct VkDeviceGroupPresentCapabilitiesKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE];+-- > VkDeviceGroupPresentModeFlagsKHR modes;+-- > } VkDeviceGroupPresentCapabilitiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR registry at www.khronos.org>+data VkDeviceGroupPresentCapabilitiesKHR = VkDeviceGroupPresentCapabilitiesKHR## Addr##+ ByteArray##++instance Eq VkDeviceGroupPresentCapabilitiesKHR where+ (VkDeviceGroupPresentCapabilitiesKHR## a _) ==+ x@(VkDeviceGroupPresentCapabilitiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupPresentCapabilitiesKHR where+ (VkDeviceGroupPresentCapabilitiesKHR## a _) `compare`+ x@(VkDeviceGroupPresentCapabilitiesKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupPresentCapabilitiesKHR where+ sizeOf ~_ = #{size VkDeviceGroupPresentCapabilitiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGroupPresentCapabilitiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupPresentCapabilitiesKHR+ where+ unsafeAddr (VkDeviceGroupPresentCapabilitiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupPresentCapabilitiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupPresentCapabilitiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupPresentCapabilitiesKHR where+ type StructFields VkDeviceGroupPresentCapabilitiesKHR =+ '["sType", "pNext", "presentMask", "modes"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGroupPresentCapabilitiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupPresentCapabilitiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupPresentCapabilitiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupPresentCapabilitiesKHR where+ type FieldType "sType" VkDeviceGroupPresentCapabilitiesKHR =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupPresentCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupPresentCapabilitiesKHR =+ #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}+ type FieldIsArray "sType" VkDeviceGroupPresentCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupPresentCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupPresentCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupPresentCapabilitiesKHR where+ type FieldType "pNext" VkDeviceGroupPresentCapabilitiesKHR =+ Ptr Void+ type FieldOptional "pNext" VkDeviceGroupPresentCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupPresentCapabilitiesKHR =+ #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}+ type FieldIsArray "pNext" VkDeviceGroupPresentCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupPresentCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupPresentCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "presentMask" VkDeviceGroupPresentCapabilitiesKHR where+ type FieldType "presentMask" VkDeviceGroupPresentCapabilitiesKHR =+ Word32+ type FieldOptional "presentMask"+ VkDeviceGroupPresentCapabilitiesKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "presentMask" VkDeviceGroupPresentCapabilitiesKHR+ =+ #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+ type FieldIsArray "presentMask" VkDeviceGroupPresentCapabilitiesKHR+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "presentMask" idx+ VkDeviceGroupPresentCapabilitiesKHR) =>+ CanReadFieldArray "presentMask" idx+ VkDeviceGroupPresentCapabilitiesKHR+ where+ {-# SPECIALISE instance+ CanReadFieldArray "presentMask" 0+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "presentMask" 1+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "presentMask" 2+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "presentMask" 3+ VkDeviceGroupPresentCapabilitiesKHR+ #-}+ type FieldArrayLength "presentMask"+ VkDeviceGroupPresentCapabilitiesKHR+ = VK_MAX_DEVICE_GROUP_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_DEVICE_GROUP_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "presentMask" idx+ VkDeviceGroupPresentCapabilitiesKHR) =>+ CanWriteFieldArray "presentMask" idx+ VkDeviceGroupPresentCapabilitiesKHR+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "presentMask" 0+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "presentMask" 1+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "presentMask" 2+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "presentMask" 3+ VkDeviceGroupPresentCapabilitiesKHR+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkDeviceGroupPresentCapabilitiesKHR, presentMask}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "modes" VkDeviceGroupPresentCapabilitiesKHR where+ type FieldType "modes" VkDeviceGroupPresentCapabilitiesKHR =+ VkDeviceGroupPresentModeFlagsKHR+ type FieldOptional "modes" VkDeviceGroupPresentCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "modes" VkDeviceGroupPresentCapabilitiesKHR =+ #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}+ type FieldIsArray "modes" VkDeviceGroupPresentCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}++instance {-# OVERLAPPING #-}+ CanReadField "modes" VkDeviceGroupPresentCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentCapabilitiesKHR, modes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}++instance {-# OVERLAPPING #-}+ CanWriteField "modes" VkDeviceGroupPresentCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentCapabilitiesKHR, modes}++instance Show VkDeviceGroupPresentCapabilitiesKHR where+ showsPrec d x+ = showString "VkDeviceGroupPresentCapabilitiesKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ (showString "presentMask = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "presentMask"+ VkDeviceGroupPresentCapabilitiesKHR)+ o = fieldOffset @"presentMask"+ @VkDeviceGroupPresentCapabilitiesKHR+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "presentMask"+ VkDeviceGroupPresentCapabilitiesKHR)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_MAX_DEVICE_GROUP_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ showString "modes = " .+ showsPrec d (getField @"modes" x) . showChar '}'++-- | > typedef struct VkDeviceGroupPresentInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t swapchainCount;+-- > const uint32_t* pDeviceMasks;+-- > VkDeviceGroupPresentModeFlagBitsKHR mode;+-- > } VkDeviceGroupPresentInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR registry at www.khronos.org>+data VkDeviceGroupPresentInfoKHR = VkDeviceGroupPresentInfoKHR## Addr##+ ByteArray##++instance Eq VkDeviceGroupPresentInfoKHR where+ (VkDeviceGroupPresentInfoKHR## a _) ==+ x@(VkDeviceGroupPresentInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupPresentInfoKHR where+ (VkDeviceGroupPresentInfoKHR## a _) `compare`+ x@(VkDeviceGroupPresentInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupPresentInfoKHR where+ sizeOf ~_ = #{size VkDeviceGroupPresentInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceGroupPresentInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupPresentInfoKHR where+ unsafeAddr (VkDeviceGroupPresentInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupPresentInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupPresentInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupPresentInfoKHR where+ type StructFields VkDeviceGroupPresentInfoKHR =+ '["sType", "pNext", "swapchainCount", "pDeviceMasks", "mode"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupPresentInfoKHR =+ '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupPresentInfoKHR where+ type FieldType "sType" VkDeviceGroupPresentInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupPresentInfoKHR =+ #{offset VkDeviceGroupPresentInfoKHR, sType}+ type FieldIsArray "sType" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupPresentInfoKHR where+ type FieldType "pNext" VkDeviceGroupPresentInfoKHR = Ptr Void+ type FieldOptional "pNext" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupPresentInfoKHR =+ #{offset VkDeviceGroupPresentInfoKHR, pNext}+ type FieldIsArray "pNext" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "swapchainCount" VkDeviceGroupPresentInfoKHR where+ type FieldType "swapchainCount" VkDeviceGroupPresentInfoKHR =+ Word32+ type FieldOptional "swapchainCount" VkDeviceGroupPresentInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "swapchainCount" VkDeviceGroupPresentInfoKHR =+ #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}+ type FieldIsArray "swapchainCount" VkDeviceGroupPresentInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ CanReadField "swapchainCount" VkDeviceGroupPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, swapchainCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchainCount" VkDeviceGroupPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ HasField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where+ type FieldType "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+ Ptr Word32+ type FieldOptional "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+ #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}+ type FieldIsArray "pDeviceMasks" VkDeviceGroupPresentInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}++instance {-# OVERLAPPING #-}+ CanReadField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}++instance {-# OVERLAPPING #-}+ CanWriteField "pDeviceMasks" VkDeviceGroupPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, pDeviceMasks}++instance {-# OVERLAPPING #-}+ HasField "mode" VkDeviceGroupPresentInfoKHR where+ type FieldType "mode" VkDeviceGroupPresentInfoKHR =+ VkDeviceGroupPresentModeFlagBitsKHR+ type FieldOptional "mode" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mode" VkDeviceGroupPresentInfoKHR =+ #{offset VkDeviceGroupPresentInfoKHR, mode}+ type FieldIsArray "mode" VkDeviceGroupPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupPresentInfoKHR, mode}++instance {-# OVERLAPPING #-}+ CanReadField "mode" VkDeviceGroupPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupPresentInfoKHR, mode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupPresentInfoKHR, mode}++instance {-# OVERLAPPING #-}+ CanWriteField "mode" VkDeviceGroupPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupPresentInfoKHR, mode}++instance Show VkDeviceGroupPresentInfoKHR where+ showsPrec d x+ = showString "VkDeviceGroupPresentInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "swapchainCount = " .+ showsPrec d (getField @"swapchainCount" x) .+ showString ", " .+ showString "pDeviceMasks = " .+ showsPrec d (getField @"pDeviceMasks" x) .+ showString ", " .+ showString "mode = " .+ showsPrec d (getField @"mode" x) . showChar '}'++-- | > typedef struct VkDeviceGroupRenderPassBeginInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t deviceMask;+-- > uint32_t deviceRenderAreaCount;+-- > const VkRect2D* pDeviceRenderAreas;+-- > } VkDeviceGroupRenderPassBeginInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo registry at www.khronos.org>+data VkDeviceGroupRenderPassBeginInfo = VkDeviceGroupRenderPassBeginInfo## Addr##+ ByteArray##++instance Eq VkDeviceGroupRenderPassBeginInfo where+ (VkDeviceGroupRenderPassBeginInfo## a _) ==+ x@(VkDeviceGroupRenderPassBeginInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupRenderPassBeginInfo where+ (VkDeviceGroupRenderPassBeginInfo## a _) `compare`+ x@(VkDeviceGroupRenderPassBeginInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupRenderPassBeginInfo where+ sizeOf ~_ = #{size VkDeviceGroupRenderPassBeginInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGroupRenderPassBeginInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupRenderPassBeginInfo where+ unsafeAddr (VkDeviceGroupRenderPassBeginInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupRenderPassBeginInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupRenderPassBeginInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupRenderPassBeginInfo where+ type StructFields VkDeviceGroupRenderPassBeginInfo =+ '["sType", "pNext", "deviceMask", "deviceRenderAreaCount", -- ' closing tick for hsc2hs+ "pDeviceRenderAreas"]+ type CUnionType VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupRenderPassBeginInfo =+ '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupRenderPassBeginInfo where+ type FieldType "sType" VkDeviceGroupRenderPassBeginInfo =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupRenderPassBeginInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupRenderPassBeginInfo =+ #{offset VkDeviceGroupRenderPassBeginInfo, sType}+ type FieldIsArray "sType" VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupRenderPassBeginInfo where+ type FieldType "pNext" VkDeviceGroupRenderPassBeginInfo = Ptr Void+ type FieldOptional "pNext" VkDeviceGroupRenderPassBeginInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupRenderPassBeginInfo =+ #{offset VkDeviceGroupRenderPassBeginInfo, pNext}+ type FieldIsArray "pNext" VkDeviceGroupRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "deviceMask" VkDeviceGroupRenderPassBeginInfo where+ type FieldType "deviceMask" VkDeviceGroupRenderPassBeginInfo =+ Word32+ type FieldOptional "deviceMask" VkDeviceGroupRenderPassBeginInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceMask" VkDeviceGroupRenderPassBeginInfo =+ #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}+ type FieldIsArray "deviceMask" VkDeviceGroupRenderPassBeginInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+ CanReadField "deviceMask" VkDeviceGroupRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceMask" VkDeviceGroupRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceMask}++instance {-# OVERLAPPING #-}+ HasField "deviceRenderAreaCount" VkDeviceGroupRenderPassBeginInfo+ where+ type FieldType "deviceRenderAreaCount"+ VkDeviceGroupRenderPassBeginInfo+ = Word32+ type FieldOptional "deviceRenderAreaCount"+ VkDeviceGroupRenderPassBeginInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "deviceRenderAreaCount"+ VkDeviceGroupRenderPassBeginInfo+ =+ #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}+ type FieldIsArray "deviceRenderAreaCount"+ VkDeviceGroupRenderPassBeginInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}++instance {-# OVERLAPPING #-}+ CanReadField "deviceRenderAreaCount"+ VkDeviceGroupRenderPassBeginInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceRenderAreaCount"+ VkDeviceGroupRenderPassBeginInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, deviceRenderAreaCount}++instance {-# OVERLAPPING #-}+ HasField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo+ where+ type FieldType "pDeviceRenderAreas"+ VkDeviceGroupRenderPassBeginInfo+ = Ptr VkRect2D+ type FieldOptional "pDeviceRenderAreas"+ VkDeviceGroupRenderPassBeginInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDeviceRenderAreas"+ VkDeviceGroupRenderPassBeginInfo+ =+ #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}+ type FieldIsArray "pDeviceRenderAreas"+ VkDeviceGroupRenderPassBeginInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}++instance {-# OVERLAPPING #-}+ CanReadField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}++instance {-# OVERLAPPING #-}+ CanWriteField "pDeviceRenderAreas" VkDeviceGroupRenderPassBeginInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupRenderPassBeginInfo, pDeviceRenderAreas}++instance Show VkDeviceGroupRenderPassBeginInfo where+ showsPrec d x+ = showString "VkDeviceGroupRenderPassBeginInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "deviceMask = " .+ showsPrec d (getField @"deviceMask" x) .+ showString ", " .+ showString "deviceRenderAreaCount = " .+ showsPrec d (getField @"deviceRenderAreaCount" x) .+ showString ", " .+ showString "pDeviceRenderAreas = " .+ showsPrec d (getField @"pDeviceRenderAreas" x) .+ showChar '}'++-- | Alias for `VkDeviceGroupRenderPassBeginInfo`+type VkDeviceGroupRenderPassBeginInfoKHR =+ VkDeviceGroupRenderPassBeginInfo++-- | > typedef struct VkDeviceGroupSubmitInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t waitSemaphoreCount;+-- > const uint32_t* pWaitSemaphoreDeviceIndices;+-- > uint32_t commandBufferCount;+-- > const uint32_t* pCommandBufferDeviceMasks;+-- > uint32_t signalSemaphoreCount;+-- > const uint32_t* pSignalSemaphoreDeviceIndices;+-- > } VkDeviceGroupSubmitInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo registry at www.khronos.org>+data VkDeviceGroupSubmitInfo = VkDeviceGroupSubmitInfo## Addr##+ ByteArray##++instance Eq VkDeviceGroupSubmitInfo where+ (VkDeviceGroupSubmitInfo## a _) == x@(VkDeviceGroupSubmitInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupSubmitInfo where+ (VkDeviceGroupSubmitInfo## a _) `compare`+ x@(VkDeviceGroupSubmitInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupSubmitInfo where+ sizeOf ~_ = #{size VkDeviceGroupSubmitInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceGroupSubmitInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupSubmitInfo where+ unsafeAddr (VkDeviceGroupSubmitInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupSubmitInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupSubmitInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupSubmitInfo where+ type StructFields VkDeviceGroupSubmitInfo =+ '["sType", "pNext", "waitSemaphoreCount", -- ' closing tick for hsc2hs+ "pWaitSemaphoreDeviceIndices", "commandBufferCount",+ "pCommandBufferDeviceMasks", "signalSemaphoreCount",+ "pSignalSemaphoreDeviceIndices"]+ type CUnionType VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupSubmitInfo = '[VkSubmitInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupSubmitInfo where+ type FieldType "sType" VkDeviceGroupSubmitInfo = VkStructureType+ type FieldOptional "sType" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupSubmitInfo =+ #{offset VkDeviceGroupSubmitInfo, sType}+ type FieldIsArray "sType" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceGroupSubmitInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupSubmitInfo where+ type FieldType "pNext" VkDeviceGroupSubmitInfo = Ptr Void+ type FieldOptional "pNext" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupSubmitInfo =+ #{offset VkDeviceGroupSubmitInfo, pNext}+ type FieldIsArray "pNext" VkDeviceGroupSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceGroupSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where+ type FieldType "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+ Word32+ type FieldOptional "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+ #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}+ type FieldIsArray "waitSemaphoreCount" VkDeviceGroupSubmitInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "waitSemaphoreCount" VkDeviceGroupSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+ where+ type FieldType "pWaitSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ = Ptr Word32+ type FieldOptional "pWaitSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pWaitSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ =+ #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}+ type FieldIsArray "pWaitSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pWaitSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pWaitSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+ HasField "commandBufferCount" VkDeviceGroupSubmitInfo where+ type FieldType "commandBufferCount" VkDeviceGroupSubmitInfo =+ Word32+ type FieldOptional "commandBufferCount" VkDeviceGroupSubmitInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "commandBufferCount" VkDeviceGroupSubmitInfo =+ #{offset VkDeviceGroupSubmitInfo, commandBufferCount}+ type FieldIsArray "commandBufferCount" VkDeviceGroupSubmitInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ CanReadField "commandBufferCount" VkDeviceGroupSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, commandBufferCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ CanWriteField "commandBufferCount" VkDeviceGroupSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ HasField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo where+ type FieldType "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo+ = Ptr Word32+ type FieldOptional "pCommandBufferDeviceMasks"+ VkDeviceGroupSubmitInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pCommandBufferDeviceMasks"+ VkDeviceGroupSubmitInfo+ =+ #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}+ type FieldIsArray "pCommandBufferDeviceMasks"+ VkDeviceGroupSubmitInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}++instance {-# OVERLAPPING #-}+ CanReadField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}++instance {-# OVERLAPPING #-}+ CanWriteField "pCommandBufferDeviceMasks" VkDeviceGroupSubmitInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pCommandBufferDeviceMasks}++instance {-# OVERLAPPING #-}+ HasField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where+ type FieldType "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+ Word32+ type FieldOptional "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+ #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}+ type FieldIsArray "signalSemaphoreCount" VkDeviceGroupSubmitInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "signalSemaphoreCount" VkDeviceGroupSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pSignalSemaphoreDeviceIndices" VkDeviceGroupSubmitInfo+ where+ type FieldType "pSignalSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ = Ptr Word32+ type FieldOptional "pSignalSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSignalSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ =+ #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}+ type FieldIsArray "pSignalSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pSignalSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pSignalSemaphoreDeviceIndices"+ VkDeviceGroupSubmitInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSubmitInfo, pSignalSemaphoreDeviceIndices}++instance Show VkDeviceGroupSubmitInfo where+ showsPrec d x+ = showString "VkDeviceGroupSubmitInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "waitSemaphoreCount = " .+ showsPrec d (getField @"waitSemaphoreCount" x) .+ showString ", " .+ showString "pWaitSemaphoreDeviceIndices = " .+ showsPrec d (getField @"pWaitSemaphoreDeviceIndices" x) .+ showString ", " .+ showString "commandBufferCount = " .+ showsPrec d (getField @"commandBufferCount" x) .+ showString ", " .+ showString "pCommandBufferDeviceMasks = " .+ showsPrec d (getField @"pCommandBufferDeviceMasks" x)+ .+ showString ", " .+ showString "signalSemaphoreCount = " .+ showsPrec d (getField @"signalSemaphoreCount" x)+ .+ showString ", " .+ showString+ "pSignalSemaphoreDeviceIndices = "+ .+ showsPrec d+ (getField+ @"pSignalSemaphoreDeviceIndices"+ x)+ . showChar '}'++-- | Alias for `VkDeviceGroupSubmitInfo`+type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo++-- | > typedef struct VkDeviceGroupSwapchainCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceGroupPresentModeFlagsKHR modes;+-- > } VkDeviceGroupSwapchainCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org>+data VkDeviceGroupSwapchainCreateInfoKHR = VkDeviceGroupSwapchainCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkDeviceGroupSwapchainCreateInfoKHR where+ (VkDeviceGroupSwapchainCreateInfoKHR## a _) ==+ x@(VkDeviceGroupSwapchainCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceGroupSwapchainCreateInfoKHR where+ (VkDeviceGroupSwapchainCreateInfoKHR## a _) `compare`+ x@(VkDeviceGroupSwapchainCreateInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceGroupSwapchainCreateInfoKHR where+ sizeOf ~_ = #{size VkDeviceGroupSwapchainCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceGroupSwapchainCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceGroupSwapchainCreateInfoKHR+ where+ unsafeAddr (VkDeviceGroupSwapchainCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceGroupSwapchainCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceGroupSwapchainCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceGroupSwapchainCreateInfoKHR where+ type StructFields VkDeviceGroupSwapchainCreateInfoKHR =+ '["sType", "pNext", "modes"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceGroupSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceGroupSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceGroupSwapchainCreateInfoKHR =+ '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceGroupSwapchainCreateInfoKHR where+ type FieldType "sType" VkDeviceGroupSwapchainCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkDeviceGroupSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceGroupSwapchainCreateInfoKHR =+ #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}+ type FieldIsArray "sType" VkDeviceGroupSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceGroupSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceGroupSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where+ type FieldType "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+ Ptr Void+ type FieldOptional "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+ #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkDeviceGroupSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceGroupSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "modes" VkDeviceGroupSwapchainCreateInfoKHR where+ type FieldType "modes" VkDeviceGroupSwapchainCreateInfoKHR =+ VkDeviceGroupPresentModeFlagsKHR+ type FieldOptional "modes" VkDeviceGroupSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "modes" VkDeviceGroupSwapchainCreateInfoKHR =+ #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}+ type FieldIsArray "modes" VkDeviceGroupSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}++instance {-# OVERLAPPING #-}+ CanReadField "modes" VkDeviceGroupSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}++instance {-# OVERLAPPING #-}+ CanWriteField "modes" VkDeviceGroupSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceGroupSwapchainCreateInfoKHR, modes}++instance Show VkDeviceGroupSwapchainCreateInfoKHR where+ showsPrec d x+ = showString "VkDeviceGroupSwapchainCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "modes = " .+ showsPrec d (getField @"modes" x) . showChar '}'++-- | > typedef struct VkDeviceQueueCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceQueueCreateFlags flags;+-- > uint32_t queueFamilyIndex;+-- > uint32_t queueCount;+-- > const float* pQueuePriorities;+-- > } VkDeviceQueueCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo registry at www.khronos.org>+data VkDeviceQueueCreateInfo = VkDeviceQueueCreateInfo## Addr##+ ByteArray##++instance Eq VkDeviceQueueCreateInfo where+ (VkDeviceQueueCreateInfo## a _) == x@(VkDeviceQueueCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceQueueCreateInfo where+ (VkDeviceQueueCreateInfo## a _) `compare`+ x@(VkDeviceQueueCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceQueueCreateInfo where+ sizeOf ~_ = #{size VkDeviceQueueCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceQueueCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceQueueCreateInfo where+ unsafeAddr (VkDeviceQueueCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceQueueCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceQueueCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceQueueCreateInfo where+ type StructFields VkDeviceQueueCreateInfo =+ '["sType", "pNext", "flags", "queueFamilyIndex", "queueCount", -- ' closing tick for hsc2hs+ "pQueuePriorities"]+ type CUnionType VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceQueueCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceQueueCreateInfo where+ type FieldType "sType" VkDeviceQueueCreateInfo = VkStructureType+ type FieldOptional "sType" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceQueueCreateInfo =+ #{offset VkDeviceQueueCreateInfo, sType}+ type FieldIsArray "sType" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceQueueCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceQueueCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceQueueCreateInfo where+ type FieldType "pNext" VkDeviceQueueCreateInfo = Ptr Void+ type FieldOptional "pNext" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceQueueCreateInfo =+ #{offset VkDeviceQueueCreateInfo, pNext}+ type FieldIsArray "pNext" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceQueueCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceQueueCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDeviceQueueCreateInfo where+ type FieldType "flags" VkDeviceQueueCreateInfo =+ VkDeviceQueueCreateFlags+ type FieldOptional "flags" VkDeviceQueueCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDeviceQueueCreateInfo =+ #{offset VkDeviceQueueCreateInfo, flags}+ type FieldIsArray "flags" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDeviceQueueCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDeviceQueueCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyIndex" VkDeviceQueueCreateInfo where+ type FieldType "queueFamilyIndex" VkDeviceQueueCreateInfo = Word32+ type FieldOptional "queueFamilyIndex" VkDeviceQueueCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyIndex" VkDeviceQueueCreateInfo =+ #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}+ type FieldIsArray "queueFamilyIndex" VkDeviceQueueCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyIndex" VkDeviceQueueCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyIndex" VkDeviceQueueCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ HasField "queueCount" VkDeviceQueueCreateInfo where+ type FieldType "queueCount" VkDeviceQueueCreateInfo = Word32+ type FieldOptional "queueCount" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueCount" VkDeviceQueueCreateInfo =+ #{offset VkDeviceQueueCreateInfo, queueCount}+ type FieldIsArray "queueCount" VkDeviceQueueCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueCreateInfo, queueCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueCount" VkDeviceQueueCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, queueCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueCount" VkDeviceQueueCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueCreateInfo, queueCount}++instance {-# OVERLAPPING #-}+ HasField "pQueuePriorities" VkDeviceQueueCreateInfo where+ type FieldType "pQueuePriorities" VkDeviceQueueCreateInfo =+ Ptr #{type float}+ type FieldOptional "pQueuePriorities" VkDeviceQueueCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pQueuePriorities" VkDeviceQueueCreateInfo =+ #{offset VkDeviceQueueCreateInfo, pQueuePriorities}+ type FieldIsArray "pQueuePriorities" VkDeviceQueueCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++instance {-# OVERLAPPING #-}+ CanReadField "pQueuePriorities" VkDeviceQueueCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueCreateInfo, pQueuePriorities})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++instance {-# OVERLAPPING #-}+ CanWriteField "pQueuePriorities" VkDeviceQueueCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueCreateInfo, pQueuePriorities}++instance Show VkDeviceQueueCreateInfo where+ showsPrec d x+ = showString "VkDeviceQueueCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "queueFamilyIndex = " .+ showsPrec d (getField @"queueFamilyIndex" x) .+ showString ", " .+ showString "queueCount = " .+ showsPrec d (getField @"queueCount" x) .+ showString ", " .+ showString "pQueuePriorities = " .+ showsPrec d (getField @"pQueuePriorities" x) .+ showChar '}'++-- | > typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkQueueGlobalPriorityEXT globalPriority;+-- > } VkDeviceQueueGlobalPriorityCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT registry at www.khronos.org>+data VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkDeviceQueueGlobalPriorityCreateInfoEXT where+ (VkDeviceQueueGlobalPriorityCreateInfoEXT## a _) ==+ x@(VkDeviceQueueGlobalPriorityCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceQueueGlobalPriorityCreateInfoEXT where+ (VkDeviceQueueGlobalPriorityCreateInfoEXT## a _) `compare`+ x@(VkDeviceQueueGlobalPriorityCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceQueueGlobalPriorityCreateInfoEXT where+ sizeOf ~_+ = #{size VkDeviceQueueGlobalPriorityCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDeviceQueueGlobalPriorityCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ unsafeAddr (VkDeviceQueueGlobalPriorityCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceQueueGlobalPriorityCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceQueueGlobalPriorityCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ type StructFields VkDeviceQueueGlobalPriorityCreateInfoEXT =+ '["sType", "pNext", "globalPriority"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceQueueGlobalPriorityCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceQueueGlobalPriorityCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceQueueGlobalPriorityCreateInfoEXT =+ '[VkDeviceQueueCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT where+ type FieldType "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT =+ #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}+ type FieldIsArray "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where+ type FieldType "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT =+ Ptr Void+ type FieldOptional "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT =+ #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}+ type FieldIsArray "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "globalPriority" VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ type FieldType "globalPriority"+ VkDeviceQueueGlobalPriorityCreateInfoEXT+ = VkQueueGlobalPriorityEXT+ type FieldOptional "globalPriority"+ VkDeviceQueueGlobalPriorityCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "globalPriority"+ VkDeviceQueueGlobalPriorityCreateInfoEXT+ =+ #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}+ type FieldIsArray "globalPriority"+ VkDeviceQueueGlobalPriorityCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}++instance {-# OVERLAPPING #-}+ CanReadField "globalPriority"+ VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}++instance {-# OVERLAPPING #-}+ CanWriteField "globalPriority"+ VkDeviceQueueGlobalPriorityCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueGlobalPriorityCreateInfoEXT, globalPriority}++instance Show VkDeviceQueueGlobalPriorityCreateInfoEXT where+ showsPrec d x+ = showString "VkDeviceQueueGlobalPriorityCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "globalPriority = " .+ showsPrec d (getField @"globalPriority" x) . showChar '}'++-- | > typedef struct VkDeviceQueueInfo2 {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceQueueCreateFlags flags;+-- > uint32_t queueFamilyIndex;+-- > uint32_t queueIndex;+-- > } VkDeviceQueueInfo2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDeviceQueueInfo2 VkDeviceQueueInfo2 registry at www.khronos.org>+data VkDeviceQueueInfo2 = VkDeviceQueueInfo2## Addr## ByteArray##++instance Eq VkDeviceQueueInfo2 where+ (VkDeviceQueueInfo2## a _) == x@(VkDeviceQueueInfo2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDeviceQueueInfo2 where+ (VkDeviceQueueInfo2## a _) `compare` x@(VkDeviceQueueInfo2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDeviceQueueInfo2 where+ sizeOf ~_ = #{size VkDeviceQueueInfo2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDeviceQueueInfo2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDeviceQueueInfo2 where+ unsafeAddr (VkDeviceQueueInfo2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDeviceQueueInfo2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDeviceQueueInfo2## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDeviceQueueInfo2 where+ type StructFields VkDeviceQueueInfo2 =+ '["sType", "pNext", "flags", "queueFamilyIndex", "queueIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDeviceQueueInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDeviceQueueInfo2+ where+ type FieldType "sType" VkDeviceQueueInfo2 = VkStructureType+ type FieldOptional "sType" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDeviceQueueInfo2 =+ #{offset VkDeviceQueueInfo2, sType}+ type FieldIsArray "sType" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueInfo2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDeviceQueueInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueInfo2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDeviceQueueInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueInfo2, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDeviceQueueInfo2+ where+ type FieldType "pNext" VkDeviceQueueInfo2 = Ptr Void+ type FieldOptional "pNext" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDeviceQueueInfo2 =+ #{offset VkDeviceQueueInfo2, pNext}+ type FieldIsArray "pNext" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDeviceQueueInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDeviceQueueInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueInfo2, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkDeviceQueueInfo2+ where+ type FieldType "flags" VkDeviceQueueInfo2 =+ VkDeviceQueueCreateFlags+ type FieldOptional "flags" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDeviceQueueInfo2 =+ #{offset VkDeviceQueueInfo2, flags}+ type FieldIsArray "flags" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueInfo2, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDeviceQueueInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueInfo2, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDeviceQueueInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueInfo2, flags}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyIndex" VkDeviceQueueInfo2 where+ type FieldType "queueFamilyIndex" VkDeviceQueueInfo2 = Word32+ type FieldOptional "queueFamilyIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyIndex" VkDeviceQueueInfo2 =+ #{offset VkDeviceQueueInfo2, queueFamilyIndex}+ type FieldIsArray "queueFamilyIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDeviceQueueInfo2, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyIndex" VkDeviceQueueInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, queueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueInfo2, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyIndex" VkDeviceQueueInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueInfo2, queueFamilyIndex}++instance {-# OVERLAPPING #-}+ HasField "queueIndex" VkDeviceQueueInfo2 where+ type FieldType "queueIndex" VkDeviceQueueInfo2 = Word32+ type FieldOptional "queueIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueIndex" VkDeviceQueueInfo2 =+ #{offset VkDeviceQueueInfo2, queueIndex}+ type FieldIsArray "queueIndex" VkDeviceQueueInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDeviceQueueInfo2, queueIndex}++instance {-# OVERLAPPING #-}+ CanReadField "queueIndex" VkDeviceQueueInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDeviceQueueInfo2, queueIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDeviceQueueInfo2, queueIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "queueIndex" VkDeviceQueueInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDeviceQueueInfo2, queueIndex}++instance Show VkDeviceQueueInfo2 where+ showsPrec d x+ = showString "VkDeviceQueueInfo2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "queueFamilyIndex = " .+ showsPrec d (getField @"queueFamilyIndex" x) .+ showString ", " .+ showString "queueIndex = " .+ showsPrec d (getField @"queueIndex" x) . showChar '}'
@@ -0,0 +1,177 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.DispatchIndirectCommand+ (VkDispatchIndirectCommand(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDispatchIndirectCommand {+-- > uint32_t x;+-- > uint32_t y;+-- > uint32_t z;+-- > } VkDispatchIndirectCommand;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDispatchIndirectCommand VkDispatchIndirectCommand registry at www.khronos.org>+data VkDispatchIndirectCommand = VkDispatchIndirectCommand## Addr##+ ByteArray##++instance Eq VkDispatchIndirectCommand where+ (VkDispatchIndirectCommand## a _) ==+ x@(VkDispatchIndirectCommand## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDispatchIndirectCommand where+ (VkDispatchIndirectCommand## a _) `compare`+ x@(VkDispatchIndirectCommand## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDispatchIndirectCommand where+ sizeOf ~_ = #{size VkDispatchIndirectCommand}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDispatchIndirectCommand}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDispatchIndirectCommand where+ unsafeAddr (VkDispatchIndirectCommand## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDispatchIndirectCommand## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDispatchIndirectCommand## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDispatchIndirectCommand where+ type StructFields VkDispatchIndirectCommand = '["x", "y", "z"] -- ' closing tick for hsc2hs+ type CUnionType VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDispatchIndirectCommand = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "x" VkDispatchIndirectCommand+ where+ type FieldType "x" VkDispatchIndirectCommand = Word32+ type FieldOptional "x" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "x" VkDispatchIndirectCommand =+ #{offset VkDispatchIndirectCommand, x}+ type FieldIsArray "x" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDispatchIndirectCommand, x}++instance {-# OVERLAPPING #-}+ CanReadField "x" VkDispatchIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, x})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDispatchIndirectCommand, x}++instance {-# OVERLAPPING #-}+ CanWriteField "x" VkDispatchIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDispatchIndirectCommand, x}++instance {-# OVERLAPPING #-} HasField "y" VkDispatchIndirectCommand+ where+ type FieldType "y" VkDispatchIndirectCommand = Word32+ type FieldOptional "y" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "y" VkDispatchIndirectCommand =+ #{offset VkDispatchIndirectCommand, y}+ type FieldIsArray "y" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDispatchIndirectCommand, y}++instance {-# OVERLAPPING #-}+ CanReadField "y" VkDispatchIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, y})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDispatchIndirectCommand, y}++instance {-# OVERLAPPING #-}+ CanWriteField "y" VkDispatchIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDispatchIndirectCommand, y}++instance {-# OVERLAPPING #-} HasField "z" VkDispatchIndirectCommand+ where+ type FieldType "z" VkDispatchIndirectCommand = Word32+ type FieldOptional "z" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "z" VkDispatchIndirectCommand =+ #{offset VkDispatchIndirectCommand, z}+ type FieldIsArray "z" VkDispatchIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDispatchIndirectCommand, z}++instance {-# OVERLAPPING #-}+ CanReadField "z" VkDispatchIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDispatchIndirectCommand, z})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDispatchIndirectCommand, z}++instance {-# OVERLAPPING #-}+ CanWriteField "z" VkDispatchIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDispatchIndirectCommand, z}++instance Show VkDispatchIndirectCommand where+ showsPrec d x+ = showString "VkDispatchIndirectCommand {" .+ showString "x = " .+ showsPrec d (getField @"x" x) .+ showString ", " .+ showString "y = " .+ showsPrec d (getField @"y" x) .+ showString ", " .+ showString "z = " . showsPrec d (getField @"z" x) . showChar '}'
@@ -0,0 +1,2388 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Display+ (VkDisplayEventInfoEXT(..), VkDisplayModeCreateInfoKHR(..),+ VkDisplayModeParametersKHR(..), VkDisplayModePropertiesKHR(..),+ VkDisplayPlaneCapabilitiesKHR(..), VkDisplayPlanePropertiesKHR(..),+ VkDisplayPowerInfoEXT(..), VkDisplayPresentInfoKHR(..),+ VkDisplayPropertiesKHR(..), VkDisplaySurfaceCreateInfoKHR(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Bitmasks (VkDisplayModeCreateFlagsKHR,+ VkDisplaySurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.Display (VkDisplayEventTypeEXT,+ VkDisplayPlaneAlphaFlagBitsKHR,+ VkDisplayPlaneAlphaFlagsKHR,+ VkDisplayPowerStateEXT)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.Surface (VkSurfaceTransformFlagBitsKHR,+ VkSurfaceTransformFlagsKHR)+import Graphics.Vulkan.Types.Handles (VkDisplayKHR,+ VkDisplayModeKHR)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Offset (VkOffset2D)+import Graphics.Vulkan.Types.Struct.Present (VkPresentInfoKHR)+import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDisplayEventInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDisplayEventTypeEXT displayEvent;+-- > } VkDisplayEventInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayEventInfoEXT VkDisplayEventInfoEXT registry at www.khronos.org>+data VkDisplayEventInfoEXT = VkDisplayEventInfoEXT## Addr##+ ByteArray##++instance Eq VkDisplayEventInfoEXT where+ (VkDisplayEventInfoEXT## a _) == x@(VkDisplayEventInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayEventInfoEXT where+ (VkDisplayEventInfoEXT## a _) `compare`+ x@(VkDisplayEventInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayEventInfoEXT where+ sizeOf ~_ = #{size VkDisplayEventInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayEventInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayEventInfoEXT where+ unsafeAddr (VkDisplayEventInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayEventInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayEventInfoEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayEventInfoEXT where+ type StructFields VkDisplayEventInfoEXT =+ '["sType", "pNext", "displayEvent"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDisplayEventInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDisplayEventInfoEXT+ where+ type FieldType "sType" VkDisplayEventInfoEXT = VkStructureType+ type FieldOptional "sType" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDisplayEventInfoEXT =+ #{offset VkDisplayEventInfoEXT, sType}+ type FieldIsArray "sType" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayEventInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDisplayEventInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayEventInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDisplayEventInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayEventInfoEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayEventInfoEXT+ where+ type FieldType "pNext" VkDisplayEventInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDisplayEventInfoEXT =+ #{offset VkDisplayEventInfoEXT, pNext}+ type FieldIsArray "pNext" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayEventInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDisplayEventInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayEventInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDisplayEventInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayEventInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "displayEvent" VkDisplayEventInfoEXT where+ type FieldType "displayEvent" VkDisplayEventInfoEXT =+ VkDisplayEventTypeEXT+ type FieldOptional "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayEvent" VkDisplayEventInfoEXT =+ #{offset VkDisplayEventInfoEXT, displayEvent}+ type FieldIsArray "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayEventInfoEXT, displayEvent}++instance {-# OVERLAPPING #-}+ CanReadField "displayEvent" VkDisplayEventInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayEventInfoEXT, displayEvent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}++instance {-# OVERLAPPING #-}+ CanWriteField "displayEvent" VkDisplayEventInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayEventInfoEXT, displayEvent}++instance Show VkDisplayEventInfoEXT where+ showsPrec d x+ = showString "VkDisplayEventInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "displayEvent = " .+ showsPrec d (getField @"displayEvent" x) . showChar '}'++-- | > typedef struct VkDisplayModeCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDisplayModeCreateFlagsKHR flags;+-- > VkDisplayModeParametersKHR parameters;+-- > } VkDisplayModeCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR registry at www.khronos.org>+data VkDisplayModeCreateInfoKHR = VkDisplayModeCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkDisplayModeCreateInfoKHR where+ (VkDisplayModeCreateInfoKHR## a _) ==+ x@(VkDisplayModeCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayModeCreateInfoKHR where+ (VkDisplayModeCreateInfoKHR## a _) `compare`+ x@(VkDisplayModeCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayModeCreateInfoKHR where+ sizeOf ~_ = #{size VkDisplayModeCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayModeCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayModeCreateInfoKHR where+ unsafeAddr (VkDisplayModeCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayModeCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayModeCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayModeCreateInfoKHR where+ type StructFields VkDisplayModeCreateInfoKHR =+ '["sType", "pNext", "flags", "parameters"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDisplayModeCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDisplayModeCreateInfoKHR where+ type FieldType "sType" VkDisplayModeCreateInfoKHR = VkStructureType+ type FieldOptional "sType" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDisplayModeCreateInfoKHR =+ #{offset VkDisplayModeCreateInfoKHR, sType}+ type FieldIsArray "sType" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModeCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDisplayModeCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDisplayModeCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDisplayModeCreateInfoKHR where+ type FieldType "pNext" VkDisplayModeCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDisplayModeCreateInfoKHR =+ #{offset VkDisplayModeCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModeCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDisplayModeCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDisplayModeCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDisplayModeCreateInfoKHR where+ type FieldType "flags" VkDisplayModeCreateInfoKHR =+ VkDisplayModeCreateFlagsKHR+ type FieldOptional "flags" VkDisplayModeCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDisplayModeCreateInfoKHR =+ #{offset VkDisplayModeCreateInfoKHR, flags}+ type FieldIsArray "flags" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModeCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDisplayModeCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDisplayModeCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "parameters" VkDisplayModeCreateInfoKHR where+ type FieldType "parameters" VkDisplayModeCreateInfoKHR =+ VkDisplayModeParametersKHR+ type FieldOptional "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "parameters" VkDisplayModeCreateInfoKHR =+ #{offset VkDisplayModeCreateInfoKHR, parameters}+ type FieldIsArray "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModeCreateInfoKHR, parameters}++instance {-# OVERLAPPING #-}+ CanReadField "parameters" VkDisplayModeCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModeCreateInfoKHR, parameters})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}++instance {-# OVERLAPPING #-}+ CanWriteField "parameters" VkDisplayModeCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModeCreateInfoKHR, parameters}++instance Show VkDisplayModeCreateInfoKHR where+ showsPrec d x+ = showString "VkDisplayModeCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "parameters = " .+ showsPrec d (getField @"parameters" x) . showChar '}'++-- | > typedef struct VkDisplayModeParametersKHR {+-- > VkExtent2D visibleRegion;+-- > uint32_t refreshRate;+-- > } VkDisplayModeParametersKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeParametersKHR VkDisplayModeParametersKHR registry at www.khronos.org>+data VkDisplayModeParametersKHR = VkDisplayModeParametersKHR## Addr##+ ByteArray##++instance Eq VkDisplayModeParametersKHR where+ (VkDisplayModeParametersKHR## a _) ==+ x@(VkDisplayModeParametersKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayModeParametersKHR where+ (VkDisplayModeParametersKHR## a _) `compare`+ x@(VkDisplayModeParametersKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayModeParametersKHR where+ sizeOf ~_ = #{size VkDisplayModeParametersKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayModeParametersKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayModeParametersKHR where+ unsafeAddr (VkDisplayModeParametersKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayModeParametersKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayModeParametersKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayModeParametersKHR where+ type StructFields VkDisplayModeParametersKHR =+ '["visibleRegion", "refreshRate"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDisplayModeParametersKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "visibleRegion" VkDisplayModeParametersKHR where+ type FieldType "visibleRegion" VkDisplayModeParametersKHR =+ VkExtent2D+ type FieldOptional "visibleRegion" VkDisplayModeParametersKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "visibleRegion" VkDisplayModeParametersKHR =+ #{offset VkDisplayModeParametersKHR, visibleRegion}+ type FieldIsArray "visibleRegion" VkDisplayModeParametersKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModeParametersKHR, visibleRegion}++instance {-# OVERLAPPING #-}+ CanReadField "visibleRegion" VkDisplayModeParametersKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, visibleRegion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}++instance {-# OVERLAPPING #-}+ CanWriteField "visibleRegion" VkDisplayModeParametersKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModeParametersKHR, visibleRegion}++instance {-# OVERLAPPING #-}+ HasField "refreshRate" VkDisplayModeParametersKHR where+ type FieldType "refreshRate" VkDisplayModeParametersKHR = Word32+ type FieldOptional "refreshRate" VkDisplayModeParametersKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "refreshRate" VkDisplayModeParametersKHR =+ #{offset VkDisplayModeParametersKHR, refreshRate}+ type FieldIsArray "refreshRate" VkDisplayModeParametersKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModeParametersKHR, refreshRate}++instance {-# OVERLAPPING #-}+ CanReadField "refreshRate" VkDisplayModeParametersKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModeParametersKHR, refreshRate})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}++instance {-# OVERLAPPING #-}+ CanWriteField "refreshRate" VkDisplayModeParametersKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModeParametersKHR, refreshRate}++instance Show VkDisplayModeParametersKHR where+ showsPrec d x+ = showString "VkDisplayModeParametersKHR {" .+ showString "visibleRegion = " .+ showsPrec d (getField @"visibleRegion" x) .+ showString ", " .+ showString "refreshRate = " .+ showsPrec d (getField @"refreshRate" x) . showChar '}'++-- | > typedef struct VkDisplayModePropertiesKHR {+-- > VkDisplayModeKHR displayMode;+-- > VkDisplayModeParametersKHR parameters;+-- > } VkDisplayModePropertiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR registry at www.khronos.org>+data VkDisplayModePropertiesKHR = VkDisplayModePropertiesKHR## Addr##+ ByteArray##++instance Eq VkDisplayModePropertiesKHR where+ (VkDisplayModePropertiesKHR## a _) ==+ x@(VkDisplayModePropertiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayModePropertiesKHR where+ (VkDisplayModePropertiesKHR## a _) `compare`+ x@(VkDisplayModePropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayModePropertiesKHR where+ sizeOf ~_ = #{size VkDisplayModePropertiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayModePropertiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayModePropertiesKHR where+ unsafeAddr (VkDisplayModePropertiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayModePropertiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayModePropertiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayModePropertiesKHR where+ type StructFields VkDisplayModePropertiesKHR =+ '["displayMode", "parameters"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayModePropertiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkDisplayModePropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "displayMode" VkDisplayModePropertiesKHR where+ type FieldType "displayMode" VkDisplayModePropertiesKHR =+ VkDisplayModeKHR+ type FieldOptional "displayMode" VkDisplayModePropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayMode" VkDisplayModePropertiesKHR =+ #{offset VkDisplayModePropertiesKHR, displayMode}+ type FieldIsArray "displayMode" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModePropertiesKHR, displayMode}++instance {-# OVERLAPPING #-}+ CanReadField "displayMode" VkDisplayModePropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, displayMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}++instance {-# OVERLAPPING #-}+ CanWriteField "displayMode" VkDisplayModePropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModePropertiesKHR, displayMode}++instance {-# OVERLAPPING #-}+ HasField "parameters" VkDisplayModePropertiesKHR where+ type FieldType "parameters" VkDisplayModePropertiesKHR =+ VkDisplayModeParametersKHR+ type FieldOptional "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "parameters" VkDisplayModePropertiesKHR =+ #{offset VkDisplayModePropertiesKHR, parameters}+ type FieldIsArray "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayModePropertiesKHR, parameters}++instance {-# OVERLAPPING #-}+ CanReadField "parameters" VkDisplayModePropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayModePropertiesKHR, parameters})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayModePropertiesKHR, parameters}++instance {-# OVERLAPPING #-}+ CanWriteField "parameters" VkDisplayModePropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayModePropertiesKHR, parameters}++instance Show VkDisplayModePropertiesKHR where+ showsPrec d x+ = showString "VkDisplayModePropertiesKHR {" .+ showString "displayMode = " .+ showsPrec d (getField @"displayMode" x) .+ showString ", " .+ showString "parameters = " .+ showsPrec d (getField @"parameters" x) . showChar '}'++-- | > typedef struct VkDisplayPlaneCapabilitiesKHR {+-- > VkDisplayPlaneAlphaFlagsKHR supportedAlpha;+-- > VkOffset2D minSrcPosition;+-- > VkOffset2D maxSrcPosition;+-- > VkExtent2D minSrcExtent;+-- > VkExtent2D maxSrcExtent;+-- > VkOffset2D minDstPosition;+-- > VkOffset2D maxDstPosition;+-- > VkExtent2D minDstExtent;+-- > VkExtent2D maxDstExtent;+-- > } VkDisplayPlaneCapabilitiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>+data VkDisplayPlaneCapabilitiesKHR = VkDisplayPlaneCapabilitiesKHR## Addr##+ ByteArray##++instance Eq VkDisplayPlaneCapabilitiesKHR where+ (VkDisplayPlaneCapabilitiesKHR## a _) ==+ x@(VkDisplayPlaneCapabilitiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayPlaneCapabilitiesKHR where+ (VkDisplayPlaneCapabilitiesKHR## a _) `compare`+ x@(VkDisplayPlaneCapabilitiesKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayPlaneCapabilitiesKHR where+ sizeOf ~_ = #{size VkDisplayPlaneCapabilitiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDisplayPlaneCapabilitiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPlaneCapabilitiesKHR where+ unsafeAddr (VkDisplayPlaneCapabilitiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayPlaneCapabilitiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayPlaneCapabilitiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPlaneCapabilitiesKHR where+ type StructFields VkDisplayPlaneCapabilitiesKHR =+ '["supportedAlpha", "minSrcPosition", "maxSrcPosition", -- ' closing tick for hsc2hs+ "minSrcExtent", "maxSrcExtent", "minDstPosition", "maxDstPosition",+ "minDstExtent", "maxDstExtent"]+ type CUnionType VkDisplayPlaneCapabilitiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayPlaneCapabilitiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkDisplayPlaneCapabilitiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+ VkDisplayPlaneAlphaFlagsKHR+ type FieldOptional "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}+ type FieldIsArray "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}++instance {-# OVERLAPPING #-}+ CanReadField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, supportedAlpha}++instance {-# OVERLAPPING #-}+ HasField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ VkOffset2D+ type FieldOptional "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}+ type FieldIsArray "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}++instance {-# OVERLAPPING #-}+ CanReadField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}++instance {-# OVERLAPPING #-}+ CanWriteField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcPosition}++instance {-# OVERLAPPING #-}+ HasField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ VkOffset2D+ type FieldOptional "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}+ type FieldIsArray "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}++instance {-# OVERLAPPING #-}+ CanReadField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcPosition}++instance {-# OVERLAPPING #-}+ HasField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}+ type FieldIsArray "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}++instance {-# OVERLAPPING #-}+ CanReadField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minSrcExtent}++instance {-# OVERLAPPING #-}+ HasField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}+ type FieldIsArray "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}++instance {-# OVERLAPPING #-}+ CanReadField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxSrcExtent}++instance {-# OVERLAPPING #-}+ HasField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+ VkOffset2D+ type FieldOptional "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}+ type FieldIsArray "minDstPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}++instance {-# OVERLAPPING #-}+ CanReadField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}++instance {-# OVERLAPPING #-}+ CanWriteField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstPosition}++instance {-# OVERLAPPING #-}+ HasField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+ VkOffset2D+ type FieldOptional "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}+ type FieldIsArray "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}++instance {-# OVERLAPPING #-}+ CanReadField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstPosition}++instance {-# OVERLAPPING #-}+ HasField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}+ type FieldIsArray "minDstExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}++instance {-# OVERLAPPING #-}+ CanReadField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, minDstExtent}++instance {-# OVERLAPPING #-}+ HasField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where+ type FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+ #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}+ type FieldIsArray "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++instance {-# OVERLAPPING #-}+ CanReadField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlaneCapabilitiesKHR, maxDstExtent}++instance Show VkDisplayPlaneCapabilitiesKHR where+ showsPrec d x+ = showString "VkDisplayPlaneCapabilitiesKHR {" .+ showString "supportedAlpha = " .+ showsPrec d (getField @"supportedAlpha" x) .+ showString ", " .+ showString "minSrcPosition = " .+ showsPrec d (getField @"minSrcPosition" x) .+ showString ", " .+ showString "maxSrcPosition = " .+ showsPrec d (getField @"maxSrcPosition" x) .+ showString ", " .+ showString "minSrcExtent = " .+ showsPrec d (getField @"minSrcExtent" x) .+ showString ", " .+ showString "maxSrcExtent = " .+ showsPrec d (getField @"maxSrcExtent" x) .+ showString ", " .+ showString "minDstPosition = " .+ showsPrec d (getField @"minDstPosition" x) .+ showString ", " .+ showString "maxDstPosition = " .+ showsPrec d (getField @"maxDstPosition" x) .+ showString ", " .+ showString "minDstExtent = " .+ showsPrec d (getField @"minDstExtent" x) .+ showString ", " .+ showString "maxDstExtent = " .+ showsPrec d+ (getField @"maxDstExtent" x)+ . showChar '}'++-- | > typedef struct VkDisplayPlanePropertiesKHR {+-- > VkDisplayKHR currentDisplay;+-- > uint32_t currentStackIndex;+-- > } VkDisplayPlanePropertiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR registry at www.khronos.org>+data VkDisplayPlanePropertiesKHR = VkDisplayPlanePropertiesKHR## Addr##+ ByteArray##++instance Eq VkDisplayPlanePropertiesKHR where+ (VkDisplayPlanePropertiesKHR## a _) ==+ x@(VkDisplayPlanePropertiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayPlanePropertiesKHR where+ (VkDisplayPlanePropertiesKHR## a _) `compare`+ x@(VkDisplayPlanePropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayPlanePropertiesKHR where+ sizeOf ~_ = #{size VkDisplayPlanePropertiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayPlanePropertiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPlanePropertiesKHR where+ unsafeAddr (VkDisplayPlanePropertiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayPlanePropertiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayPlanePropertiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPlanePropertiesKHR where+ type StructFields VkDisplayPlanePropertiesKHR =+ '["currentDisplay", "currentStackIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayPlanePropertiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayPlanePropertiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkDisplayPlanePropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "currentDisplay" VkDisplayPlanePropertiesKHR where+ type FieldType "currentDisplay" VkDisplayPlanePropertiesKHR =+ VkDisplayKHR+ type FieldOptional "currentDisplay" VkDisplayPlanePropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "currentDisplay" VkDisplayPlanePropertiesKHR =+ #{offset VkDisplayPlanePropertiesKHR, currentDisplay}+ type FieldIsArray "currentDisplay" VkDisplayPlanePropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlanePropertiesKHR, currentDisplay}++instance {-# OVERLAPPING #-}+ CanReadField "currentDisplay" VkDisplayPlanePropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentDisplay})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}++instance {-# OVERLAPPING #-}+ CanWriteField "currentDisplay" VkDisplayPlanePropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentDisplay}++instance {-# OVERLAPPING #-}+ HasField "currentStackIndex" VkDisplayPlanePropertiesKHR where+ type FieldType "currentStackIndex" VkDisplayPlanePropertiesKHR =+ Word32+ type FieldOptional "currentStackIndex" VkDisplayPlanePropertiesKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "currentStackIndex" VkDisplayPlanePropertiesKHR =+ #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}+ type FieldIsArray "currentStackIndex" VkDisplayPlanePropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++instance {-# OVERLAPPING #-}+ CanReadField "currentStackIndex" VkDisplayPlanePropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPlanePropertiesKHR, currentStackIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "currentStackIndex" VkDisplayPlanePropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPlanePropertiesKHR, currentStackIndex}++instance Show VkDisplayPlanePropertiesKHR where+ showsPrec d x+ = showString "VkDisplayPlanePropertiesKHR {" .+ showString "currentDisplay = " .+ showsPrec d (getField @"currentDisplay" x) .+ showString ", " .+ showString "currentStackIndex = " .+ showsPrec d (getField @"currentStackIndex" x) . showChar '}'++-- | > typedef struct VkDisplayPowerInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDisplayPowerStateEXT powerState;+-- > } VkDisplayPowerInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT registry at www.khronos.org>+data VkDisplayPowerInfoEXT = VkDisplayPowerInfoEXT## Addr##+ ByteArray##++instance Eq VkDisplayPowerInfoEXT where+ (VkDisplayPowerInfoEXT## a _) == x@(VkDisplayPowerInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayPowerInfoEXT where+ (VkDisplayPowerInfoEXT## a _) `compare`+ x@(VkDisplayPowerInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayPowerInfoEXT where+ sizeOf ~_ = #{size VkDisplayPowerInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayPowerInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPowerInfoEXT where+ unsafeAddr (VkDisplayPowerInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayPowerInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayPowerInfoEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPowerInfoEXT where+ type StructFields VkDisplayPowerInfoEXT =+ '["sType", "pNext", "powerState"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDisplayPowerInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkDisplayPowerInfoEXT+ where+ type FieldType "sType" VkDisplayPowerInfoEXT = VkStructureType+ type FieldOptional "sType" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDisplayPowerInfoEXT =+ #{offset VkDisplayPowerInfoEXT, sType}+ type FieldIsArray "sType" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayPowerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDisplayPowerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPowerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDisplayPowerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPowerInfoEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkDisplayPowerInfoEXT+ where+ type FieldType "pNext" VkDisplayPowerInfoEXT = Ptr Void+ type FieldOptional "pNext" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDisplayPowerInfoEXT =+ #{offset VkDisplayPowerInfoEXT, pNext}+ type FieldIsArray "pNext" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayPowerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDisplayPowerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPowerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDisplayPowerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPowerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "powerState" VkDisplayPowerInfoEXT where+ type FieldType "powerState" VkDisplayPowerInfoEXT =+ VkDisplayPowerStateEXT+ type FieldOptional "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "powerState" VkDisplayPowerInfoEXT =+ #{offset VkDisplayPowerInfoEXT, powerState}+ type FieldIsArray "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPowerInfoEXT, powerState}++instance {-# OVERLAPPING #-}+ CanReadField "powerState" VkDisplayPowerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPowerInfoEXT, powerState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPowerInfoEXT, powerState}++instance {-# OVERLAPPING #-}+ CanWriteField "powerState" VkDisplayPowerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPowerInfoEXT, powerState}++instance Show VkDisplayPowerInfoEXT where+ showsPrec d x+ = showString "VkDisplayPowerInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "powerState = " .+ showsPrec d (getField @"powerState" x) . showChar '}'++-- | > typedef struct VkDisplayPresentInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkRect2D srcRect;+-- > VkRect2D dstRect;+-- > VkBool32 persistent;+-- > } VkDisplayPresentInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR registry at www.khronos.org>+data VkDisplayPresentInfoKHR = VkDisplayPresentInfoKHR## Addr##+ ByteArray##++instance Eq VkDisplayPresentInfoKHR where+ (VkDisplayPresentInfoKHR## a _) == x@(VkDisplayPresentInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayPresentInfoKHR where+ (VkDisplayPresentInfoKHR## a _) `compare`+ x@(VkDisplayPresentInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayPresentInfoKHR where+ sizeOf ~_ = #{size VkDisplayPresentInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayPresentInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPresentInfoKHR where+ unsafeAddr (VkDisplayPresentInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayPresentInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayPresentInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPresentInfoKHR where+ type StructFields VkDisplayPresentInfoKHR =+ '["sType", "pNext", "srcRect", "dstRect", "persistent"] -- ' closing tick for hsc2hs+ type CUnionType VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDisplayPresentInfoKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDisplayPresentInfoKHR where+ type FieldType "sType" VkDisplayPresentInfoKHR = VkStructureType+ type FieldOptional "sType" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDisplayPresentInfoKHR =+ #{offset VkDisplayPresentInfoKHR, sType}+ type FieldIsArray "sType" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDisplayPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDisplayPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPresentInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDisplayPresentInfoKHR where+ type FieldType "pNext" VkDisplayPresentInfoKHR = Ptr Void+ type FieldOptional "pNext" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDisplayPresentInfoKHR =+ #{offset VkDisplayPresentInfoKHR, pNext}+ type FieldIsArray "pNext" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDisplayPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDisplayPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "srcRect" VkDisplayPresentInfoKHR where+ type FieldType "srcRect" VkDisplayPresentInfoKHR = VkRect2D+ type FieldOptional "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcRect" VkDisplayPresentInfoKHR =+ #{offset VkDisplayPresentInfoKHR, srcRect}+ type FieldIsArray "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPresentInfoKHR, srcRect}++instance {-# OVERLAPPING #-}+ CanReadField "srcRect" VkDisplayPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, srcRect})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}++instance {-# OVERLAPPING #-}+ CanWriteField "srcRect" VkDisplayPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPresentInfoKHR, srcRect}++instance {-# OVERLAPPING #-}+ HasField "dstRect" VkDisplayPresentInfoKHR where+ type FieldType "dstRect" VkDisplayPresentInfoKHR = VkRect2D+ type FieldOptional "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstRect" VkDisplayPresentInfoKHR =+ #{offset VkDisplayPresentInfoKHR, dstRect}+ type FieldIsArray "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPresentInfoKHR, dstRect}++instance {-# OVERLAPPING #-}+ CanReadField "dstRect" VkDisplayPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, dstRect})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}++instance {-# OVERLAPPING #-}+ CanWriteField "dstRect" VkDisplayPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPresentInfoKHR, dstRect}++instance {-# OVERLAPPING #-}+ HasField "persistent" VkDisplayPresentInfoKHR where+ type FieldType "persistent" VkDisplayPresentInfoKHR = VkBool32+ type FieldOptional "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "persistent" VkDisplayPresentInfoKHR =+ #{offset VkDisplayPresentInfoKHR, persistent}+ type FieldIsArray "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPresentInfoKHR, persistent}++instance {-# OVERLAPPING #-}+ CanReadField "persistent" VkDisplayPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPresentInfoKHR, persistent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPresentInfoKHR, persistent}++instance {-# OVERLAPPING #-}+ CanWriteField "persistent" VkDisplayPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPresentInfoKHR, persistent}++instance Show VkDisplayPresentInfoKHR where+ showsPrec d x+ = showString "VkDisplayPresentInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "srcRect = " .+ showsPrec d (getField @"srcRect" x) .+ showString ", " .+ showString "dstRect = " .+ showsPrec d (getField @"dstRect" x) .+ showString ", " .+ showString "persistent = " .+ showsPrec d (getField @"persistent" x) . showChar '}'++-- | > typedef struct VkDisplayPropertiesKHR {+-- > VkDisplayKHR display;+-- > const char* displayName;+-- > VkExtent2D physicalDimensions;+-- > VkExtent2D physicalResolution;+-- > VkSurfaceTransformFlagsKHR supportedTransforms;+-- > VkBool32 planeReorderPossible;+-- > VkBool32 persistentContent;+-- > } VkDisplayPropertiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPropertiesKHR VkDisplayPropertiesKHR registry at www.khronos.org>+data VkDisplayPropertiesKHR = VkDisplayPropertiesKHR## Addr##+ ByteArray##++instance Eq VkDisplayPropertiesKHR where+ (VkDisplayPropertiesKHR## a _) == x@(VkDisplayPropertiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplayPropertiesKHR where+ (VkDisplayPropertiesKHR## a _) `compare`+ x@(VkDisplayPropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplayPropertiesKHR where+ sizeOf ~_ = #{size VkDisplayPropertiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDisplayPropertiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplayPropertiesKHR where+ unsafeAddr (VkDisplayPropertiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplayPropertiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplayPropertiesKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplayPropertiesKHR where+ type StructFields VkDisplayPropertiesKHR =+ '["display", "displayName", "physicalDimensions", -- ' closing tick for hsc2hs+ "physicalResolution", "supportedTransforms",+ "planeReorderPossible", "persistentContent"]+ type CUnionType VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplayPropertiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkDisplayPropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "display" VkDisplayPropertiesKHR where+ type FieldType "display" VkDisplayPropertiesKHR = VkDisplayKHR+ type FieldOptional "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "display" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, display}+ type FieldIsArray "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkDisplayPropertiesKHR, display}++instance {-# OVERLAPPING #-}+ CanReadField "display" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, display})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, display}++instance {-# OVERLAPPING #-}+ CanWriteField "display" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, display}++instance {-# OVERLAPPING #-}+ HasField "displayName" VkDisplayPropertiesKHR where+ type FieldType "displayName" VkDisplayPropertiesKHR = CString+ type FieldOptional "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayName" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, displayName}+ type FieldIsArray "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPropertiesKHR, displayName}++instance {-# OVERLAPPING #-}+ CanReadField "displayName" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, displayName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, displayName}++instance {-# OVERLAPPING #-}+ CanWriteField "displayName" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, displayName}++instance {-# OVERLAPPING #-}+ HasField "physicalDimensions" VkDisplayPropertiesKHR where+ type FieldType "physicalDimensions" VkDisplayPropertiesKHR =+ VkExtent2D+ type FieldOptional "physicalDimensions" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "physicalDimensions" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, physicalDimensions}+ type FieldIsArray "physicalDimensions" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPropertiesKHR, physicalDimensions}++instance {-# OVERLAPPING #-}+ CanReadField "physicalDimensions" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalDimensions})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}++instance {-# OVERLAPPING #-}+ CanWriteField "physicalDimensions" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalDimensions}++instance {-# OVERLAPPING #-}+ HasField "physicalResolution" VkDisplayPropertiesKHR where+ type FieldType "physicalResolution" VkDisplayPropertiesKHR =+ VkExtent2D+ type FieldOptional "physicalResolution" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "physicalResolution" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, physicalResolution}+ type FieldIsArray "physicalResolution" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPropertiesKHR, physicalResolution}++instance {-# OVERLAPPING #-}+ CanReadField "physicalResolution" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, physicalResolution})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}++instance {-# OVERLAPPING #-}+ CanWriteField "physicalResolution" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, physicalResolution}++instance {-# OVERLAPPING #-}+ HasField "supportedTransforms" VkDisplayPropertiesKHR where+ type FieldType "supportedTransforms" VkDisplayPropertiesKHR =+ VkSurfaceTransformFlagsKHR+ type FieldOptional "supportedTransforms" VkDisplayPropertiesKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedTransforms" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, supportedTransforms}+ type FieldIsArray "supportedTransforms" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPropertiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+ CanReadField "supportedTransforms" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, supportedTransforms})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedTransforms" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+ HasField "planeReorderPossible" VkDisplayPropertiesKHR where+ type FieldType "planeReorderPossible" VkDisplayPropertiesKHR =+ VkBool32+ type FieldOptional "planeReorderPossible" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "planeReorderPossible" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, planeReorderPossible}+ type FieldIsArray "planeReorderPossible" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPropertiesKHR, planeReorderPossible}++instance {-# OVERLAPPING #-}+ CanReadField "planeReorderPossible" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, planeReorderPossible})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}++instance {-# OVERLAPPING #-}+ CanWriteField "planeReorderPossible" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, planeReorderPossible}++instance {-# OVERLAPPING #-}+ HasField "persistentContent" VkDisplayPropertiesKHR where+ type FieldType "persistentContent" VkDisplayPropertiesKHR =+ VkBool32+ type FieldOptional "persistentContent" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "persistentContent" VkDisplayPropertiesKHR =+ #{offset VkDisplayPropertiesKHR, persistentContent}+ type FieldIsArray "persistentContent" VkDisplayPropertiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplayPropertiesKHR, persistentContent}++instance {-# OVERLAPPING #-}+ CanReadField "persistentContent" VkDisplayPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplayPropertiesKHR, persistentContent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}++instance {-# OVERLAPPING #-}+ CanWriteField "persistentContent" VkDisplayPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplayPropertiesKHR, persistentContent}++instance Show VkDisplayPropertiesKHR where+ showsPrec d x+ = showString "VkDisplayPropertiesKHR {" .+ showString "display = " .+ showsPrec d (getField @"display" x) .+ showString ", " .+ showString "displayName = " .+ showsPrec d (getField @"displayName" x) .+ showString ", " .+ showString "physicalDimensions = " .+ showsPrec d (getField @"physicalDimensions" x) .+ showString ", " .+ showString "physicalResolution = " .+ showsPrec d (getField @"physicalResolution" x) .+ showString ", " .+ showString "supportedTransforms = " .+ showsPrec d (getField @"supportedTransforms" x) .+ showString ", " .+ showString "planeReorderPossible = " .+ showsPrec d (getField @"planeReorderPossible" x) .+ showString ", " .+ showString "persistentContent = " .+ showsPrec d (getField @"persistentContent" x) .+ showChar '}'++-- | > typedef struct VkDisplaySurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDisplaySurfaceCreateFlagsKHR flags;+-- > VkDisplayModeKHR displayMode;+-- > uint32_t planeIndex;+-- > uint32_t planeStackIndex;+-- > VkSurfaceTransformFlagBitsKHR transform;+-- > float globalAlpha;+-- > VkDisplayPlaneAlphaFlagBitsKHR alphaMode;+-- > VkExtent2D imageExtent;+-- > } VkDisplaySurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>+data VkDisplaySurfaceCreateInfoKHR = VkDisplaySurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkDisplaySurfaceCreateInfoKHR where+ (VkDisplaySurfaceCreateInfoKHR## a _) ==+ x@(VkDisplaySurfaceCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDisplaySurfaceCreateInfoKHR where+ (VkDisplaySurfaceCreateInfoKHR## a _) `compare`+ x@(VkDisplaySurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDisplaySurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkDisplaySurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDisplaySurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDisplaySurfaceCreateInfoKHR where+ unsafeAddr (VkDisplaySurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDisplaySurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDisplaySurfaceCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDisplaySurfaceCreateInfoKHR where+ type StructFields VkDisplaySurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "displayMode", "planeIndex", -- ' closing tick for hsc2hs+ "planeStackIndex", "transform", "globalAlpha", "alphaMode",+ "imageExtent"]+ type CUnionType VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDisplaySurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "sType" VkDisplaySurfaceCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "pNext" VkDisplaySurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "flags" VkDisplaySurfaceCreateInfoKHR =+ VkDisplaySurfaceCreateFlagsKHR+ type FieldOptional "flags" VkDisplaySurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "displayMode" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR =+ VkDisplayModeKHR+ type FieldOptional "displayMode" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayMode" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}+ type FieldIsArray "displayMode" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}++instance {-# OVERLAPPING #-}+ CanReadField "displayMode" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, displayMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}++instance {-# OVERLAPPING #-}+ CanWriteField "displayMode" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, displayMode}++instance {-# OVERLAPPING #-}+ HasField "planeIndex" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "planeIndex" VkDisplaySurfaceCreateInfoKHR = Word32+ type FieldOptional "planeIndex" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "planeIndex" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}+ type FieldIsArray "planeIndex" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}++instance {-# OVERLAPPING #-}+ CanReadField "planeIndex" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "planeIndex" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeIndex}++instance {-# OVERLAPPING #-}+ HasField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =+ Word32+ type FieldOptional "planeStackIndex" VkDisplaySurfaceCreateInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}+ type FieldIsArray "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}++instance {-# OVERLAPPING #-}+ CanReadField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, planeStackIndex}++instance {-# OVERLAPPING #-}+ HasField "transform" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "transform" VkDisplaySurfaceCreateInfoKHR =+ VkSurfaceTransformFlagBitsKHR+ type FieldOptional "transform" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "transform" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, transform}+ type FieldIsArray "transform" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, transform}++instance {-# OVERLAPPING #-}+ CanReadField "transform" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, transform})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}++instance {-# OVERLAPPING #-}+ CanWriteField "transform" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, transform}++instance {-# OVERLAPPING #-}+ HasField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+ #{type float}+ type FieldOptional "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}+ type FieldIsArray "globalAlpha" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}++instance {-# OVERLAPPING #-}+ CanReadField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}++instance {-# OVERLAPPING #-}+ CanWriteField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, globalAlpha}++instance {-# OVERLAPPING #-}+ HasField "alphaMode" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR =+ VkDisplayPlaneAlphaFlagBitsKHR+ type FieldOptional "alphaMode" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "alphaMode" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}+ type FieldIsArray "alphaMode" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}++instance {-# OVERLAPPING #-}+ CanReadField "alphaMode" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}++instance {-# OVERLAPPING #-}+ CanWriteField "alphaMode" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, alphaMode}++instance {-# OVERLAPPING #-}+ HasField "imageExtent" VkDisplaySurfaceCreateInfoKHR where+ type FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR =+ VkExtent2D+ type FieldOptional "imageExtent" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageExtent" VkDisplaySurfaceCreateInfoKHR =+ #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}+ type FieldIsArray "imageExtent" VkDisplaySurfaceCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "imageExtent" VkDisplaySurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "imageExtent" VkDisplaySurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDisplaySurfaceCreateInfoKHR, imageExtent}++instance Show VkDisplaySurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkDisplaySurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "displayMode = " .+ showsPrec d (getField @"displayMode" x) .+ showString ", " .+ showString "planeIndex = " .+ showsPrec d (getField @"planeIndex" x) .+ showString ", " .+ showString "planeStackIndex = " .+ showsPrec d (getField @"planeStackIndex" x) .+ showString ", " .+ showString "transform = " .+ showsPrec d (getField @"transform" x) .+ showString ", " .+ showString "globalAlpha = " .+ showsPrec d (getField @"globalAlpha" x) .+ showString ", " .+ showString "alphaMode = " .+ showsPrec d+ (getField @"alphaMode" x)+ .+ showString ", " .+ showString "imageExtent = " .+ showsPrec d+ (getField @"imageExtent" x)+ . showChar '}'
@@ -0,0 +1,469 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.DrawInd+ (VkDrawIndexedIndirectCommand(..), VkDrawIndirectCommand(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkDrawIndexedIndirectCommand {+-- > uint32_t indexCount;+-- > uint32_t instanceCount;+-- > uint32_t firstIndex;+-- > int32_t vertexOffset;+-- > uint32_t firstInstance;+-- > } VkDrawIndexedIndirectCommand;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDrawIndexedIndirectCommand VkDrawIndexedIndirectCommand registry at www.khronos.org>+data VkDrawIndexedIndirectCommand = VkDrawIndexedIndirectCommand## Addr##+ ByteArray##++instance Eq VkDrawIndexedIndirectCommand where+ (VkDrawIndexedIndirectCommand## a _) ==+ x@(VkDrawIndexedIndirectCommand## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDrawIndexedIndirectCommand where+ (VkDrawIndexedIndirectCommand## a _) `compare`+ x@(VkDrawIndexedIndirectCommand## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDrawIndexedIndirectCommand where+ sizeOf ~_ = #{size VkDrawIndexedIndirectCommand}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkDrawIndexedIndirectCommand}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDrawIndexedIndirectCommand where+ unsafeAddr (VkDrawIndexedIndirectCommand## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDrawIndexedIndirectCommand## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDrawIndexedIndirectCommand##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDrawIndexedIndirectCommand where+ type StructFields VkDrawIndexedIndirectCommand =+ '["indexCount", "instanceCount", "firstIndex", "vertexOffset", -- ' closing tick for hsc2hs+ "firstInstance"]+ type CUnionType VkDrawIndexedIndirectCommand = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDrawIndexedIndirectCommand = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDrawIndexedIndirectCommand = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "indexCount" VkDrawIndexedIndirectCommand where+ type FieldType "indexCount" VkDrawIndexedIndirectCommand = Word32+ type FieldOptional "indexCount" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "indexCount" VkDrawIndexedIndirectCommand =+ #{offset VkDrawIndexedIndirectCommand, indexCount}+ type FieldIsArray "indexCount" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndexedIndirectCommand, indexCount}++instance {-# OVERLAPPING #-}+ CanReadField "indexCount" VkDrawIndexedIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, indexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "indexCount" VkDrawIndexedIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, indexCount}++instance {-# OVERLAPPING #-}+ HasField "instanceCount" VkDrawIndexedIndirectCommand where+ type FieldType "instanceCount" VkDrawIndexedIndirectCommand =+ Word32+ type FieldOptional "instanceCount" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "instanceCount" VkDrawIndexedIndirectCommand =+ #{offset VkDrawIndexedIndirectCommand, instanceCount}+ type FieldIsArray "instanceCount" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndexedIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+ CanReadField "instanceCount" VkDrawIndexedIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, instanceCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+ CanWriteField "instanceCount" VkDrawIndexedIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+ HasField "firstIndex" VkDrawIndexedIndirectCommand where+ type FieldType "firstIndex" VkDrawIndexedIndirectCommand = Word32+ type FieldOptional "firstIndex" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "firstIndex" VkDrawIndexedIndirectCommand =+ #{offset VkDrawIndexedIndirectCommand, firstIndex}+ type FieldIsArray "firstIndex" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndexedIndirectCommand, firstIndex}++instance {-# OVERLAPPING #-}+ CanReadField "firstIndex" VkDrawIndexedIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "firstIndex" VkDrawIndexedIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstIndex}++instance {-# OVERLAPPING #-}+ HasField "vertexOffset" VkDrawIndexedIndirectCommand where+ type FieldType "vertexOffset" VkDrawIndexedIndirectCommand = Int32+ type FieldOptional "vertexOffset" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "vertexOffset" VkDrawIndexedIndirectCommand =+ #{offset VkDrawIndexedIndirectCommand, vertexOffset}+ type FieldIsArray "vertexOffset" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndexedIndirectCommand, vertexOffset}++instance {-# OVERLAPPING #-}+ CanReadField "vertexOffset" VkDrawIndexedIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, vertexOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "vertexOffset" VkDrawIndexedIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, vertexOffset}++instance {-# OVERLAPPING #-}+ HasField "firstInstance" VkDrawIndexedIndirectCommand where+ type FieldType "firstInstance" VkDrawIndexedIndirectCommand =+ Word32+ type FieldOptional "firstInstance" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "firstInstance" VkDrawIndexedIndirectCommand =+ #{offset VkDrawIndexedIndirectCommand, firstInstance}+ type FieldIsArray "firstInstance" VkDrawIndexedIndirectCommand =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndexedIndirectCommand, firstInstance}++instance {-# OVERLAPPING #-}+ CanReadField "firstInstance" VkDrawIndexedIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndexedIndirectCommand, firstInstance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}++instance {-# OVERLAPPING #-}+ CanWriteField "firstInstance" VkDrawIndexedIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndexedIndirectCommand, firstInstance}++instance Show VkDrawIndexedIndirectCommand where+ showsPrec d x+ = showString "VkDrawIndexedIndirectCommand {" .+ showString "indexCount = " .+ showsPrec d (getField @"indexCount" x) .+ showString ", " .+ showString "instanceCount = " .+ showsPrec d (getField @"instanceCount" x) .+ showString ", " .+ showString "firstIndex = " .+ showsPrec d (getField @"firstIndex" x) .+ showString ", " .+ showString "vertexOffset = " .+ showsPrec d (getField @"vertexOffset" x) .+ showString ", " .+ showString "firstInstance = " .+ showsPrec d (getField @"firstInstance" x) . showChar '}'++-- | > typedef struct VkDrawIndirectCommand {+-- > uint32_t vertexCount;+-- > uint32_t instanceCount;+-- > uint32_t firstVertex;+-- > uint32_t firstInstance;+-- > } VkDrawIndirectCommand;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDrawIndirectCommand VkDrawIndirectCommand registry at www.khronos.org>+data VkDrawIndirectCommand = VkDrawIndirectCommand## Addr##+ ByteArray##++instance Eq VkDrawIndirectCommand where+ (VkDrawIndirectCommand## a _) == x@(VkDrawIndirectCommand## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkDrawIndirectCommand where+ (VkDrawIndirectCommand## a _) `compare`+ x@(VkDrawIndirectCommand## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkDrawIndirectCommand where+ sizeOf ~_ = #{size VkDrawIndirectCommand}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkDrawIndirectCommand}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkDrawIndirectCommand where+ unsafeAddr (VkDrawIndirectCommand## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkDrawIndirectCommand## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkDrawIndirectCommand## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkDrawIndirectCommand where+ type StructFields VkDrawIndirectCommand =+ '["vertexCount", "instanceCount", "firstVertex", "firstInstance"] -- ' closing tick for hsc2hs+ type CUnionType VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+ type StructExtends VkDrawIndirectCommand = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "vertexCount" VkDrawIndirectCommand where+ type FieldType "vertexCount" VkDrawIndirectCommand = Word32+ type FieldOptional "vertexCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "vertexCount" VkDrawIndirectCommand =+ #{offset VkDrawIndirectCommand, vertexCount}+ type FieldIsArray "vertexCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndirectCommand, vertexCount}++instance {-# OVERLAPPING #-}+ CanReadField "vertexCount" VkDrawIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, vertexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndirectCommand, vertexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "vertexCount" VkDrawIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndirectCommand, vertexCount}++instance {-# OVERLAPPING #-}+ HasField "instanceCount" VkDrawIndirectCommand where+ type FieldType "instanceCount" VkDrawIndirectCommand = Word32+ type FieldOptional "instanceCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "instanceCount" VkDrawIndirectCommand =+ #{offset VkDrawIndirectCommand, instanceCount}+ type FieldIsArray "instanceCount" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+ CanReadField "instanceCount" VkDrawIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, instanceCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+ CanWriteField "instanceCount" VkDrawIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndirectCommand, instanceCount}++instance {-# OVERLAPPING #-}+ HasField "firstVertex" VkDrawIndirectCommand where+ type FieldType "firstVertex" VkDrawIndirectCommand = Word32+ type FieldOptional "firstVertex" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "firstVertex" VkDrawIndirectCommand =+ #{offset VkDrawIndirectCommand, firstVertex}+ type FieldIsArray "firstVertex" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndirectCommand, firstVertex}++instance {-# OVERLAPPING #-}+ CanReadField "firstVertex" VkDrawIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstVertex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndirectCommand, firstVertex}++instance {-# OVERLAPPING #-}+ CanWriteField "firstVertex" VkDrawIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndirectCommand, firstVertex}++instance {-# OVERLAPPING #-}+ HasField "firstInstance" VkDrawIndirectCommand where+ type FieldType "firstInstance" VkDrawIndirectCommand = Word32+ type FieldOptional "firstInstance" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs+ type FieldOffset "firstInstance" VkDrawIndirectCommand =+ #{offset VkDrawIndirectCommand, firstInstance}+ type FieldIsArray "firstInstance" VkDrawIndirectCommand = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkDrawIndirectCommand, firstInstance}++instance {-# OVERLAPPING #-}+ CanReadField "firstInstance" VkDrawIndirectCommand where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkDrawIndirectCommand, firstInstance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkDrawIndirectCommand, firstInstance}++instance {-# OVERLAPPING #-}+ CanWriteField "firstInstance" VkDrawIndirectCommand where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkDrawIndirectCommand, firstInstance}++instance Show VkDrawIndirectCommand where+ showsPrec d x+ = showString "VkDrawIndirectCommand {" .+ showString "vertexCount = " .+ showsPrec d (getField @"vertexCount" x) .+ showString ", " .+ showString "instanceCount = " .+ showsPrec d (getField @"instanceCount" x) .+ showString ", " .+ showString "firstVertex = " .+ showsPrec d (getField @"firstVertex" x) .+ showString ", " .+ showString "firstInstance = " .+ showsPrec d (getField @"firstInstance" x) . showChar '}'
@@ -0,0 +1,178 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.EventCreateInfo+ (VkEventCreateInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkEventCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkEventCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkEventCreateFlags flags;+-- > } VkEventCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkEventCreateInfo VkEventCreateInfo registry at www.khronos.org>+data VkEventCreateInfo = VkEventCreateInfo## Addr## ByteArray##++instance Eq VkEventCreateInfo where+ (VkEventCreateInfo## a _) == x@(VkEventCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkEventCreateInfo where+ (VkEventCreateInfo## a _) `compare` x@(VkEventCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkEventCreateInfo where+ sizeOf ~_ = #{size VkEventCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkEventCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkEventCreateInfo where+ unsafeAddr (VkEventCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkEventCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkEventCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkEventCreateInfo where+ type StructFields VkEventCreateInfo = '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkEventCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkEventCreateInfo+ where+ type FieldType "sType" VkEventCreateInfo = VkStructureType+ type FieldOptional "sType" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkEventCreateInfo =+ #{offset VkEventCreateInfo, sType}+ type FieldIsArray "sType" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkEventCreateInfo, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkEventCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkEventCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkEventCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkEventCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkEventCreateInfo+ where+ type FieldType "pNext" VkEventCreateInfo = Ptr Void+ type FieldOptional "pNext" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkEventCreateInfo =+ #{offset VkEventCreateInfo, pNext}+ type FieldIsArray "pNext" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkEventCreateInfo, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkEventCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkEventCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkEventCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkEventCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkEventCreateInfo+ where+ type FieldType "flags" VkEventCreateInfo = VkEventCreateFlags+ type FieldOptional "flags" VkEventCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkEventCreateInfo =+ #{offset VkEventCreateInfo, flags}+ type FieldIsArray "flags" VkEventCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkEventCreateInfo, flags}++instance {-# OVERLAPPING #-} CanReadField "flags" VkEventCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkEventCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkEventCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkEventCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkEventCreateInfo, flags}++instance Show VkEventCreateInfo where+ showsPrec d x+ = showString "VkEventCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'
@@ -0,0 +1,712 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Export+ (VkExportFenceCreateInfo(..), VkExportFenceCreateInfoKHR,+ VkExportMemoryAllocateInfo(..), VkExportMemoryAllocateInfoKHR,+ VkExportMemoryAllocateInfoNV(..), VkExportSemaphoreCreateInfo(..),+ VkExportSemaphoreCreateInfoKHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.External (VkExternalFenceHandleTypeFlags,+ VkExternalMemoryHandleTypeFlags,+ VkExternalMemoryHandleTypeFlagsNV,+ VkExternalSemaphoreHandleTypeFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Fence (VkFenceCreateInfo)+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryAllocateInfo)+import Graphics.Vulkan.Types.Struct.Semaphore (VkSemaphoreCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkExportFenceCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalFenceHandleTypeFlags handleTypes;+-- > } VkExportFenceCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportFenceCreateInfo VkExportFenceCreateInfo registry at www.khronos.org>+data VkExportFenceCreateInfo = VkExportFenceCreateInfo## Addr##+ ByteArray##++instance Eq VkExportFenceCreateInfo where+ (VkExportFenceCreateInfo## a _) == x@(VkExportFenceCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportFenceCreateInfo where+ (VkExportFenceCreateInfo## a _) `compare`+ x@(VkExportFenceCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportFenceCreateInfo where+ sizeOf ~_ = #{size VkExportFenceCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExportFenceCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportFenceCreateInfo where+ unsafeAddr (VkExportFenceCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportFenceCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportFenceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportFenceCreateInfo where+ type StructFields VkExportFenceCreateInfo =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportFenceCreateInfo = '[VkFenceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportFenceCreateInfo where+ type FieldType "sType" VkExportFenceCreateInfo = VkStructureType+ type FieldOptional "sType" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportFenceCreateInfo =+ #{offset VkExportFenceCreateInfo, sType}+ type FieldIsArray "sType" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExportFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportFenceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportFenceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportFenceCreateInfo where+ type FieldType "pNext" VkExportFenceCreateInfo = Ptr Void+ type FieldOptional "pNext" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportFenceCreateInfo =+ #{offset VkExportFenceCreateInfo, pNext}+ type FieldIsArray "pNext" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExportFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportFenceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportFenceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExportFenceCreateInfo where+ type FieldType "handleTypes" VkExportFenceCreateInfo =+ VkExternalFenceHandleTypeFlags+ type FieldOptional "handleTypes" VkExportFenceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExportFenceCreateInfo =+ #{offset VkExportFenceCreateInfo, handleTypes}+ type FieldIsArray "handleTypes" VkExportFenceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportFenceCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExportFenceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceCreateInfo, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExportFenceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceCreateInfo, handleTypes}++instance Show VkExportFenceCreateInfo where+ showsPrec d x+ = showString "VkExportFenceCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | Alias for `VkExportFenceCreateInfo`+type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo++-- | > typedef struct VkExportMemoryAllocateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlags handleTypes;+-- > } VkExportMemoryAllocateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo registry at www.khronos.org>+data VkExportMemoryAllocateInfo = VkExportMemoryAllocateInfo## Addr##+ ByteArray##++instance Eq VkExportMemoryAllocateInfo where+ (VkExportMemoryAllocateInfo## a _) ==+ x@(VkExportMemoryAllocateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportMemoryAllocateInfo where+ (VkExportMemoryAllocateInfo## a _) `compare`+ x@(VkExportMemoryAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportMemoryAllocateInfo where+ sizeOf ~_ = #{size VkExportMemoryAllocateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExportMemoryAllocateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryAllocateInfo where+ unsafeAddr (VkExportMemoryAllocateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportMemoryAllocateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportMemoryAllocateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryAllocateInfo where+ type StructFields VkExportMemoryAllocateInfo =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportMemoryAllocateInfo =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportMemoryAllocateInfo where+ type FieldType "sType" VkExportMemoryAllocateInfo = VkStructureType+ type FieldOptional "sType" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportMemoryAllocateInfo =+ #{offset VkExportMemoryAllocateInfo, sType}+ type FieldIsArray "sType" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportMemoryAllocateInfo where+ type FieldType "pNext" VkExportMemoryAllocateInfo = Ptr Void+ type FieldOptional "pNext" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportMemoryAllocateInfo =+ #{offset VkExportMemoryAllocateInfo, pNext}+ type FieldIsArray "pNext" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExportMemoryAllocateInfo where+ type FieldType "handleTypes" VkExportMemoryAllocateInfo =+ VkExternalMemoryHandleTypeFlags+ type FieldOptional "handleTypes" VkExportMemoryAllocateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExportMemoryAllocateInfo =+ #{offset VkExportMemoryAllocateInfo, handleTypes}+ type FieldIsArray "handleTypes" VkExportMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryAllocateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExportMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfo, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryAllocateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExportMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryAllocateInfo, handleTypes}++instance Show VkExportMemoryAllocateInfo where+ showsPrec d x+ = showString "VkExportMemoryAllocateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | Alias for `VkExportMemoryAllocateInfo`+type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo++-- | > typedef struct VkExportMemoryAllocateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagsNV handleTypes;+-- > } VkExportMemoryAllocateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV registry at www.khronos.org>+data VkExportMemoryAllocateInfoNV = VkExportMemoryAllocateInfoNV## Addr##+ ByteArray##++instance Eq VkExportMemoryAllocateInfoNV where+ (VkExportMemoryAllocateInfoNV## a _) ==+ x@(VkExportMemoryAllocateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportMemoryAllocateInfoNV where+ (VkExportMemoryAllocateInfoNV## a _) `compare`+ x@(VkExportMemoryAllocateInfoNV## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportMemoryAllocateInfoNV where+ sizeOf ~_ = #{size VkExportMemoryAllocateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExportMemoryAllocateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryAllocateInfoNV where+ unsafeAddr (VkExportMemoryAllocateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportMemoryAllocateInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportMemoryAllocateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryAllocateInfoNV where+ type StructFields VkExportMemoryAllocateInfoNV =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportMemoryAllocateInfoNV =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportMemoryAllocateInfoNV where+ type FieldType "sType" VkExportMemoryAllocateInfoNV =+ VkStructureType+ type FieldOptional "sType" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportMemoryAllocateInfoNV =+ #{offset VkExportMemoryAllocateInfoNV, sType}+ type FieldIsArray "sType" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryAllocateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportMemoryAllocateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportMemoryAllocateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportMemoryAllocateInfoNV where+ type FieldType "pNext" VkExportMemoryAllocateInfoNV = Ptr Void+ type FieldOptional "pNext" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportMemoryAllocateInfoNV =+ #{offset VkExportMemoryAllocateInfoNV, pNext}+ type FieldIsArray "pNext" VkExportMemoryAllocateInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportMemoryAllocateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportMemoryAllocateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExportMemoryAllocateInfoNV where+ type FieldType "handleTypes" VkExportMemoryAllocateInfoNV =+ VkExternalMemoryHandleTypeFlagsNV+ type FieldOptional "handleTypes" VkExportMemoryAllocateInfoNV =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExportMemoryAllocateInfoNV =+ #{offset VkExportMemoryAllocateInfoNV, handleTypes}+ type FieldIsArray "handleTypes" VkExportMemoryAllocateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryAllocateInfoNV, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExportMemoryAllocateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryAllocateInfoNV, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExportMemoryAllocateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryAllocateInfoNV, handleTypes}++instance Show VkExportMemoryAllocateInfoNV where+ showsPrec d x+ = showString "VkExportMemoryAllocateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | > typedef struct VkExportSemaphoreCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalSemaphoreHandleTypeFlags handleTypes;+-- > } VkExportSemaphoreCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo registry at www.khronos.org>+data VkExportSemaphoreCreateInfo = VkExportSemaphoreCreateInfo## Addr##+ ByteArray##++instance Eq VkExportSemaphoreCreateInfo where+ (VkExportSemaphoreCreateInfo## a _) ==+ x@(VkExportSemaphoreCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportSemaphoreCreateInfo where+ (VkExportSemaphoreCreateInfo## a _) `compare`+ x@(VkExportSemaphoreCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportSemaphoreCreateInfo where+ sizeOf ~_ = #{size VkExportSemaphoreCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExportSemaphoreCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportSemaphoreCreateInfo where+ unsafeAddr (VkExportSemaphoreCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportSemaphoreCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportSemaphoreCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportSemaphoreCreateInfo where+ type StructFields VkExportSemaphoreCreateInfo =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportSemaphoreCreateInfo =+ '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportSemaphoreCreateInfo where+ type FieldType "sType" VkExportSemaphoreCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportSemaphoreCreateInfo =+ #{offset VkExportSemaphoreCreateInfo, sType}+ type FieldIsArray "sType" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportSemaphoreCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportSemaphoreCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportSemaphoreCreateInfo where+ type FieldType "pNext" VkExportSemaphoreCreateInfo = Ptr Void+ type FieldOptional "pNext" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportSemaphoreCreateInfo =+ #{offset VkExportSemaphoreCreateInfo, pNext}+ type FieldIsArray "pNext" VkExportSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportSemaphoreCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportSemaphoreCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExportSemaphoreCreateInfo where+ type FieldType "handleTypes" VkExportSemaphoreCreateInfo =+ VkExternalSemaphoreHandleTypeFlags+ type FieldOptional "handleTypes" VkExportSemaphoreCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExportSemaphoreCreateInfo =+ #{offset VkExportSemaphoreCreateInfo, handleTypes}+ type FieldIsArray "handleTypes" VkExportSemaphoreCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExportSemaphoreCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreCreateInfo, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExportSemaphoreCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreCreateInfo, handleTypes}++instance Show VkExportSemaphoreCreateInfo where+ showsPrec d x+ = showString "VkExportSemaphoreCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | Alias for `VkExportSemaphoreCreateInfo`+type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo
@@ -0,0 +1,207 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.ExtensionProperties+ (VkExtensionProperties(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##, Proxy##,+ byteArrayContents##,+ plusAddr##, proxy##)+import GHC.TypeLits (KnownNat, natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Constants (VK_MAX_EXTENSION_NAME_SIZE, pattern VK_MAX_EXTENSION_NAME_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkExtensionProperties {+-- > char extensionName[VK_MAX_EXTENSION_NAME_SIZE];+-- > uint32_t specVersion;+-- > } VkExtensionProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExtensionProperties VkExtensionProperties registry at www.khronos.org>+data VkExtensionProperties = VkExtensionProperties## Addr##+ ByteArray##++instance Eq VkExtensionProperties where+ (VkExtensionProperties## a _) == x@(VkExtensionProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExtensionProperties where+ (VkExtensionProperties## a _) `compare`+ x@(VkExtensionProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExtensionProperties where+ sizeOf ~_ = #{size VkExtensionProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExtensionProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExtensionProperties where+ unsafeAddr (VkExtensionProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExtensionProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExtensionProperties## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExtensionProperties where+ type StructFields VkExtensionProperties =+ '["extensionName", "specVersion"] -- ' closing tick for hsc2hs+ type CUnionType VkExtensionProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExtensionProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExtensionProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "extensionName" VkExtensionProperties where+ type FieldType "extensionName" VkExtensionProperties = CChar+ type FieldOptional "extensionName" VkExtensionProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extensionName" VkExtensionProperties =+ #{offset VkExtensionProperties, extensionName}+ type FieldIsArray "extensionName" VkExtensionProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExtensionProperties, extensionName}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "extensionName" idx VkExtensionProperties) =>+ CanReadFieldArray "extensionName" idx VkExtensionProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "extensionName" 0 VkExtensionProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "extensionName" 1 VkExtensionProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "extensionName" 2 VkExtensionProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "extensionName" 3 VkExtensionProperties #-}+ type FieldArrayLength "extensionName" VkExtensionProperties =+ VK_MAX_EXTENSION_NAME_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkExtensionProperties, extensionName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkExtensionProperties, extensionName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "extensionName" idx VkExtensionProperties) =>+ CanWriteFieldArray "extensionName" idx VkExtensionProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "extensionName" 0 VkExtensionProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "extensionName" 1 VkExtensionProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "extensionName" 2 VkExtensionProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "extensionName" 3 VkExtensionProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkExtensionProperties, extensionName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "specVersion" VkExtensionProperties where+ type FieldType "specVersion" VkExtensionProperties = Word32+ type FieldOptional "specVersion" VkExtensionProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "specVersion" VkExtensionProperties =+ #{offset VkExtensionProperties, specVersion}+ type FieldIsArray "specVersion" VkExtensionProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExtensionProperties, specVersion}++instance {-# OVERLAPPING #-}+ CanReadField "specVersion" VkExtensionProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExtensionProperties, specVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExtensionProperties, specVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "specVersion" VkExtensionProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExtensionProperties, specVersion}++instance Show VkExtensionProperties where+ showsPrec d x+ = showString "VkExtensionProperties {" .+ (showString "extensionName = [" .+ showsPrec d+ (let s = sizeOf+ (undefined :: FieldType "extensionName" VkExtensionProperties)+ o = fieldOffset @"extensionName" @VkExtensionProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "extensionName" VkExtensionProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_MAX_EXTENSION_NAME_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ showString "specVersion = " .+ showsPrec d (getField @"specVersion" x) . showChar '}'
@@ -0,0 +1,283 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Extent+ (VkExtent2D(..), VkExtent3D(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkExtent2D {+-- > uint32_t width;+-- > uint32_t height;+-- > } VkExtent2D;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExtent2D VkExtent2D registry at www.khronos.org>+data VkExtent2D = VkExtent2D## Addr## ByteArray##++instance Eq VkExtent2D where+ (VkExtent2D## a _) == x@(VkExtent2D## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExtent2D where+ (VkExtent2D## a _) `compare` x@(VkExtent2D## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExtent2D where+ sizeOf ~_ = #{size VkExtent2D}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExtent2D}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExtent2D where+ unsafeAddr (VkExtent2D## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExtent2D## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExtent2D## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExtent2D where+ type StructFields VkExtent2D = '["width", "height"] -- ' closing tick for hsc2hs+ type CUnionType VkExtent2D = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExtent2D = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExtent2D = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "width" VkExtent2D where+ type FieldType "width" VkExtent2D = Word32+ type FieldOptional "width" VkExtent2D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "width" VkExtent2D =+ #{offset VkExtent2D, width}+ type FieldIsArray "width" VkExtent2D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExtent2D, width}++instance {-# OVERLAPPING #-} CanReadField "width" VkExtent2D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExtent2D, width})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkExtent2D, width}++instance {-# OVERLAPPING #-} CanWriteField "width" VkExtent2D where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExtent2D, width}++instance {-# OVERLAPPING #-} HasField "height" VkExtent2D where+ type FieldType "height" VkExtent2D = Word32+ type FieldOptional "height" VkExtent2D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "height" VkExtent2D =+ #{offset VkExtent2D, height}+ type FieldIsArray "height" VkExtent2D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExtent2D, height}++instance {-# OVERLAPPING #-} CanReadField "height" VkExtent2D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExtent2D, height})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExtent2D, height}++instance {-# OVERLAPPING #-} CanWriteField "height" VkExtent2D+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExtent2D, height}++instance Show VkExtent2D where+ showsPrec d x+ = showString "VkExtent2D {" .+ showString "width = " .+ showsPrec d (getField @"width" x) .+ showString ", " .+ showString "height = " .+ showsPrec d (getField @"height" x) . showChar '}'++-- | > typedef struct VkExtent3D {+-- > uint32_t width;+-- > uint32_t height;+-- > uint32_t depth;+-- > } VkExtent3D;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExtent3D VkExtent3D registry at www.khronos.org>+data VkExtent3D = VkExtent3D## Addr## ByteArray##++instance Eq VkExtent3D where+ (VkExtent3D## a _) == x@(VkExtent3D## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExtent3D where+ (VkExtent3D## a _) `compare` x@(VkExtent3D## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExtent3D where+ sizeOf ~_ = #{size VkExtent3D}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExtent3D}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExtent3D where+ unsafeAddr (VkExtent3D## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExtent3D## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExtent3D## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExtent3D where+ type StructFields VkExtent3D = '["width", "height", "depth"] -- ' closing tick for hsc2hs+ type CUnionType VkExtent3D = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExtent3D = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExtent3D = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "width" VkExtent3D where+ type FieldType "width" VkExtent3D = Word32+ type FieldOptional "width" VkExtent3D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "width" VkExtent3D =+ #{offset VkExtent3D, width}+ type FieldIsArray "width" VkExtent3D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExtent3D, width}++instance {-# OVERLAPPING #-} CanReadField "width" VkExtent3D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExtent3D, width})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkExtent3D, width}++instance {-# OVERLAPPING #-} CanWriteField "width" VkExtent3D where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExtent3D, width}++instance {-# OVERLAPPING #-} HasField "height" VkExtent3D where+ type FieldType "height" VkExtent3D = Word32+ type FieldOptional "height" VkExtent3D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "height" VkExtent3D =+ #{offset VkExtent3D, height}+ type FieldIsArray "height" VkExtent3D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExtent3D, height}++instance {-# OVERLAPPING #-} CanReadField "height" VkExtent3D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExtent3D, height})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExtent3D, height}++instance {-# OVERLAPPING #-} CanWriteField "height" VkExtent3D+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExtent3D, height}++instance {-# OVERLAPPING #-} HasField "depth" VkExtent3D where+ type FieldType "depth" VkExtent3D = Word32+ type FieldOptional "depth" VkExtent3D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depth" VkExtent3D =+ #{offset VkExtent3D, depth}+ type FieldIsArray "depth" VkExtent3D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExtent3D, depth}++instance {-# OVERLAPPING #-} CanReadField "depth" VkExtent3D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExtent3D, depth})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkExtent3D, depth}++instance {-# OVERLAPPING #-} CanWriteField "depth" VkExtent3D where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExtent3D, depth}++instance Show VkExtent3D where+ showsPrec d x+ = showString "VkExtent3D {" .+ showString "width = " .+ showsPrec d (getField @"width" x) .+ showString ", " .+ showString "height = " .+ showsPrec d (getField @"height" x) .+ showString ", " .+ showString "depth = " .+ showsPrec d (getField @"depth" x) . showChar '}'
@@ -0,0 +1,1951 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.External+ (VkExternalBufferProperties(..), VkExternalBufferPropertiesKHR,+ VkExternalFenceProperties(..), VkExternalFencePropertiesKHR,+ VkExternalImageFormatProperties(..),+ VkExternalImageFormatPropertiesKHR,+ VkExternalImageFormatPropertiesNV(..),+ VkExternalMemoryBufferCreateInfo(..),+ VkExternalMemoryBufferCreateInfoKHR,+ VkExternalMemoryImageCreateInfo(..),+ VkExternalMemoryImageCreateInfoKHR,+ VkExternalMemoryImageCreateInfoNV(..),+ VkExternalMemoryProperties(..), VkExternalMemoryPropertiesKHR,+ VkExternalSemaphoreProperties(..),+ VkExternalSemaphorePropertiesKHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.External (VkExternalFenceFeatureFlags,+ VkExternalFenceHandleTypeFlags,+ VkExternalMemoryFeatureFlags,+ VkExternalMemoryFeatureFlagsNV,+ VkExternalMemoryHandleTypeFlags,+ VkExternalMemoryHandleTypeFlagsNV,+ VkExternalSemaphoreFeatureFlags,+ VkExternalSemaphoreHandleTypeFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Buffer (VkBufferCreateInfo)+import Graphics.Vulkan.Types.Struct.Image (VkImageCreateInfo, VkImageFormatProperties,+ VkImageFormatProperties2)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkExternalBufferProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkExternalMemoryProperties externalMemoryProperties;+-- > } VkExternalBufferProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalBufferProperties VkExternalBufferProperties registry at www.khronos.org>+data VkExternalBufferProperties = VkExternalBufferProperties## Addr##+ ByteArray##++instance Eq VkExternalBufferProperties where+ (VkExternalBufferProperties## a _) ==+ x@(VkExternalBufferProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalBufferProperties where+ (VkExternalBufferProperties## a _) `compare`+ x@(VkExternalBufferProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalBufferProperties where+ sizeOf ~_ = #{size VkExternalBufferProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExternalBufferProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalBufferProperties where+ unsafeAddr (VkExternalBufferProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalBufferProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalBufferProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalBufferProperties where+ type StructFields VkExternalBufferProperties =+ '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs+ type CUnionType VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalBufferProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExternalBufferProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalBufferProperties where+ type FieldType "sType" VkExternalBufferProperties = VkStructureType+ type FieldOptional "sType" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalBufferProperties =+ #{offset VkExternalBufferProperties, sType}+ type FieldIsArray "sType" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalBufferProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalBufferProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalBufferProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalBufferProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalBufferProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalBufferProperties where+ type FieldType "pNext" VkExternalBufferProperties = Ptr Void+ type FieldOptional "pNext" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalBufferProperties =+ #{offset VkExternalBufferProperties, pNext}+ type FieldIsArray "pNext" VkExternalBufferProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalBufferProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalBufferProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalBufferProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalBufferProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalBufferProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "externalMemoryProperties" VkExternalBufferProperties+ where+ type FieldType "externalMemoryProperties"+ VkExternalBufferProperties+ = VkExternalMemoryProperties+ type FieldOptional "externalMemoryProperties"+ VkExternalBufferProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "externalMemoryProperties"+ VkExternalBufferProperties+ =+ #{offset VkExternalBufferProperties, externalMemoryProperties}+ type FieldIsArray "externalMemoryProperties"+ VkExternalBufferProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalBufferProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+ CanReadField "externalMemoryProperties" VkExternalBufferProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalBufferProperties, externalMemoryProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalBufferProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "externalMemoryProperties" VkExternalBufferProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalBufferProperties, externalMemoryProperties}++instance Show VkExternalBufferProperties where+ showsPrec d x+ = showString "VkExternalBufferProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "externalMemoryProperties = " .+ showsPrec d (getField @"externalMemoryProperties" x) . showChar '}'++-- | Alias for `VkExternalBufferProperties`+type VkExternalBufferPropertiesKHR = VkExternalBufferProperties++-- | > typedef struct VkExternalFenceProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;+-- > VkExternalFenceHandleTypeFlags compatibleHandleTypes;+-- > VkExternalFenceFeatureFlags externalFenceFeatures;+-- > } VkExternalFenceProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalFenceProperties VkExternalFenceProperties registry at www.khronos.org>+data VkExternalFenceProperties = VkExternalFenceProperties## Addr##+ ByteArray##++instance Eq VkExternalFenceProperties where+ (VkExternalFenceProperties## a _) ==+ x@(VkExternalFenceProperties## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalFenceProperties where+ (VkExternalFenceProperties## a _) `compare`+ x@(VkExternalFenceProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalFenceProperties where+ sizeOf ~_ = #{size VkExternalFenceProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExternalFenceProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalFenceProperties where+ unsafeAddr (VkExternalFenceProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalFenceProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalFenceProperties## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalFenceProperties where+ type StructFields VkExternalFenceProperties =+ '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs+ "compatibleHandleTypes", "externalFenceFeatures"]+ type CUnionType VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalFenceProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExternalFenceProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalFenceProperties where+ type FieldType "sType" VkExternalFenceProperties = VkStructureType+ type FieldOptional "sType" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalFenceProperties =+ #{offset VkExternalFenceProperties, sType}+ type FieldIsArray "sType" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalFenceProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalFenceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFenceProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalFenceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFenceProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalFenceProperties where+ type FieldType "pNext" VkExternalFenceProperties = Ptr Void+ type FieldOptional "pNext" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalFenceProperties =+ #{offset VkExternalFenceProperties, pNext}+ type FieldIsArray "pNext" VkExternalFenceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalFenceProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalFenceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFenceProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalFenceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFenceProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "exportFromImportedHandleTypes" VkExternalFenceProperties+ where+ type FieldType "exportFromImportedHandleTypes"+ VkExternalFenceProperties+ = VkExternalFenceHandleTypeFlags+ type FieldOptional "exportFromImportedHandleTypes"+ VkExternalFenceProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "exportFromImportedHandleTypes"+ VkExternalFenceProperties+ =+ #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}+ type FieldIsArray "exportFromImportedHandleTypes"+ VkExternalFenceProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "exportFromImportedHandleTypes"+ VkExternalFenceProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, exportFromImportedHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "exportFromImportedHandleTypes"+ VkExternalFenceProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFenceProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ HasField "compatibleHandleTypes" VkExternalFenceProperties where+ type FieldType "compatibleHandleTypes" VkExternalFenceProperties =+ VkExternalFenceHandleTypeFlags+ type FieldOptional "compatibleHandleTypes"+ VkExternalFenceProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compatibleHandleTypes" VkExternalFenceProperties+ =+ #{offset VkExternalFenceProperties, compatibleHandleTypes}+ type FieldIsArray "compatibleHandleTypes" VkExternalFenceProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalFenceProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "compatibleHandleTypes" VkExternalFenceProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, compatibleHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFenceProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "compatibleHandleTypes" VkExternalFenceProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFenceProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ HasField "externalFenceFeatures" VkExternalFenceProperties where+ type FieldType "externalFenceFeatures" VkExternalFenceProperties =+ VkExternalFenceFeatureFlags+ type FieldOptional "externalFenceFeatures"+ VkExternalFenceProperties+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "externalFenceFeatures" VkExternalFenceProperties+ =+ #{offset VkExternalFenceProperties, externalFenceFeatures}+ type FieldIsArray "externalFenceFeatures" VkExternalFenceProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalFenceProperties, externalFenceFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "externalFenceFeatures" VkExternalFenceProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFenceProperties, externalFenceFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFenceProperties, externalFenceFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "externalFenceFeatures" VkExternalFenceProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFenceProperties, externalFenceFeatures}++instance Show VkExternalFenceProperties where+ showsPrec d x+ = showString "VkExternalFenceProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "exportFromImportedHandleTypes = " .+ showsPrec d (getField @"exportFromImportedHandleTypes" x) .+ showString ", " .+ showString "compatibleHandleTypes = " .+ showsPrec d (getField @"compatibleHandleTypes" x) .+ showString ", " .+ showString "externalFenceFeatures = " .+ showsPrec d (getField @"externalFenceFeatures" x) .+ showChar '}'++-- | Alias for `VkExternalFenceProperties`+type VkExternalFencePropertiesKHR = VkExternalFenceProperties++-- | > typedef struct VkExternalImageFormatProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkExternalMemoryProperties externalMemoryProperties;+-- > } VkExternalImageFormatProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalImageFormatProperties VkExternalImageFormatProperties registry at www.khronos.org>+data VkExternalImageFormatProperties = VkExternalImageFormatProperties## Addr##+ ByteArray##++instance Eq VkExternalImageFormatProperties where+ (VkExternalImageFormatProperties## a _) ==+ x@(VkExternalImageFormatProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalImageFormatProperties where+ (VkExternalImageFormatProperties## a _) `compare`+ x@(VkExternalImageFormatProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalImageFormatProperties where+ sizeOf ~_ = #{size VkExternalImageFormatProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExternalImageFormatProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalImageFormatProperties where+ unsafeAddr (VkExternalImageFormatProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalImageFormatProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalImageFormatProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalImageFormatProperties where+ type StructFields VkExternalImageFormatProperties =+ '["sType", "pNext", "externalMemoryProperties"] -- ' closing tick for hsc2hs+ type CUnionType VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalImageFormatProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExternalImageFormatProperties =+ '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalImageFormatProperties where+ type FieldType "sType" VkExternalImageFormatProperties =+ VkStructureType+ type FieldOptional "sType" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalImageFormatProperties =+ #{offset VkExternalImageFormatProperties, sType}+ type FieldIsArray "sType" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalImageFormatProperties where+ type FieldType "pNext" VkExternalImageFormatProperties = Ptr Void+ type FieldOptional "pNext" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalImageFormatProperties =+ #{offset VkExternalImageFormatProperties, pNext}+ type FieldIsArray "pNext" VkExternalImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "externalMemoryProperties" VkExternalImageFormatProperties+ where+ type FieldType "externalMemoryProperties"+ VkExternalImageFormatProperties+ = VkExternalMemoryProperties+ type FieldOptional "externalMemoryProperties"+ VkExternalImageFormatProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "externalMemoryProperties"+ VkExternalImageFormatProperties+ =+ #{offset VkExternalImageFormatProperties, externalMemoryProperties}+ type FieldIsArray "externalMemoryProperties"+ VkExternalImageFormatProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+ CanReadField "externalMemoryProperties"+ VkExternalImageFormatProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatProperties, externalMemoryProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatProperties, externalMemoryProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "externalMemoryProperties"+ VkExternalImageFormatProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatProperties, externalMemoryProperties}++instance Show VkExternalImageFormatProperties where+ showsPrec d x+ = showString "VkExternalImageFormatProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "externalMemoryProperties = " .+ showsPrec d (getField @"externalMemoryProperties" x) . showChar '}'++-- | Alias for `VkExternalImageFormatProperties`+type VkExternalImageFormatPropertiesKHR =+ VkExternalImageFormatProperties++-- | > typedef struct VkExternalImageFormatPropertiesNV {+-- > VkImageFormatProperties imageFormatProperties;+-- > VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;+-- > VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;+-- > VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;+-- > } VkExternalImageFormatPropertiesNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV registry at www.khronos.org>+data VkExternalImageFormatPropertiesNV = VkExternalImageFormatPropertiesNV## Addr##+ ByteArray##++instance Eq VkExternalImageFormatPropertiesNV where+ (VkExternalImageFormatPropertiesNV## a _) ==+ x@(VkExternalImageFormatPropertiesNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalImageFormatPropertiesNV where+ (VkExternalImageFormatPropertiesNV## a _) `compare`+ x@(VkExternalImageFormatPropertiesNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalImageFormatPropertiesNV where+ sizeOf ~_ = #{size VkExternalImageFormatPropertiesNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExternalImageFormatPropertiesNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalImageFormatPropertiesNV where+ unsafeAddr (VkExternalImageFormatPropertiesNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalImageFormatPropertiesNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalImageFormatPropertiesNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalImageFormatPropertiesNV where+ type StructFields VkExternalImageFormatPropertiesNV =+ '["imageFormatProperties", "externalMemoryFeatures", -- ' closing tick for hsc2hs+ "exportFromImportedHandleTypes", "compatibleHandleTypes"]+ type CUnionType VkExternalImageFormatPropertiesNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalImageFormatPropertiesNV = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExternalImageFormatPropertiesNV = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "imageFormatProperties" VkExternalImageFormatPropertiesNV+ where+ type FieldType "imageFormatProperties"+ VkExternalImageFormatPropertiesNV+ = VkImageFormatProperties+ type FieldOptional "imageFormatProperties"+ VkExternalImageFormatPropertiesNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageFormatProperties"+ VkExternalImageFormatPropertiesNV+ =+ #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}+ type FieldIsArray "imageFormatProperties"+ VkExternalImageFormatPropertiesNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}++instance {-# OVERLAPPING #-}+ CanReadField "imageFormatProperties"+ VkExternalImageFormatPropertiesNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "imageFormatProperties"+ VkExternalImageFormatPropertiesNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, imageFormatProperties}++instance {-# OVERLAPPING #-}+ HasField "externalMemoryFeatures" VkExternalImageFormatPropertiesNV+ where+ type FieldType "externalMemoryFeatures"+ VkExternalImageFormatPropertiesNV+ = VkExternalMemoryFeatureFlagsNV+ type FieldOptional "externalMemoryFeatures"+ VkExternalImageFormatPropertiesNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "externalMemoryFeatures"+ VkExternalImageFormatPropertiesNV+ =+ #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}+ type FieldIsArray "externalMemoryFeatures"+ VkExternalImageFormatPropertiesNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "externalMemoryFeatures"+ VkExternalImageFormatPropertiesNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "externalMemoryFeatures"+ VkExternalImageFormatPropertiesNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+ HasField "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ where+ type FieldType "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ = VkExternalMemoryHandleTypeFlagsNV+ type FieldOptional "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ =+ #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}+ type FieldIsArray "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "exportFromImportedHandleTypes"+ VkExternalImageFormatPropertiesNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ HasField "compatibleHandleTypes" VkExternalImageFormatPropertiesNV+ where+ type FieldType "compatibleHandleTypes"+ VkExternalImageFormatPropertiesNV+ = VkExternalMemoryHandleTypeFlagsNV+ type FieldOptional "compatibleHandleTypes"+ VkExternalImageFormatPropertiesNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "compatibleHandleTypes"+ VkExternalImageFormatPropertiesNV+ =+ #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}+ type FieldIsArray "compatibleHandleTypes"+ VkExternalImageFormatPropertiesNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "compatibleHandleTypes"+ VkExternalImageFormatPropertiesNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "compatibleHandleTypes"+ VkExternalImageFormatPropertiesNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalImageFormatPropertiesNV, compatibleHandleTypes}++instance Show VkExternalImageFormatPropertiesNV where+ showsPrec d x+ = showString "VkExternalImageFormatPropertiesNV {" .+ showString "imageFormatProperties = " .+ showsPrec d (getField @"imageFormatProperties" x) .+ showString ", " .+ showString "externalMemoryFeatures = " .+ showsPrec d (getField @"externalMemoryFeatures" x) .+ showString ", " .+ showString "exportFromImportedHandleTypes = " .+ showsPrec d (getField @"exportFromImportedHandleTypes" x) .+ showString ", " .+ showString "compatibleHandleTypes = " .+ showsPrec d (getField @"compatibleHandleTypes" x) . showChar '}'++-- | > typedef struct VkExternalMemoryBufferCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlags handleTypes;+-- > } VkExternalMemoryBufferCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo registry at www.khronos.org>+data VkExternalMemoryBufferCreateInfo = VkExternalMemoryBufferCreateInfo## Addr##+ ByteArray##++instance Eq VkExternalMemoryBufferCreateInfo where+ (VkExternalMemoryBufferCreateInfo## a _) ==+ x@(VkExternalMemoryBufferCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalMemoryBufferCreateInfo where+ (VkExternalMemoryBufferCreateInfo## a _) `compare`+ x@(VkExternalMemoryBufferCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalMemoryBufferCreateInfo where+ sizeOf ~_ = #{size VkExternalMemoryBufferCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExternalMemoryBufferCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryBufferCreateInfo where+ unsafeAddr (VkExternalMemoryBufferCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalMemoryBufferCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalMemoryBufferCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryBufferCreateInfo where+ type StructFields VkExternalMemoryBufferCreateInfo =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExternalMemoryBufferCreateInfo =+ '[VkBufferCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalMemoryBufferCreateInfo where+ type FieldType "sType" VkExternalMemoryBufferCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkExternalMemoryBufferCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalMemoryBufferCreateInfo =+ #{offset VkExternalMemoryBufferCreateInfo, sType}+ type FieldIsArray "sType" VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalMemoryBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalMemoryBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalMemoryBufferCreateInfo where+ type FieldType "pNext" VkExternalMemoryBufferCreateInfo = Ptr Void+ type FieldOptional "pNext" VkExternalMemoryBufferCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalMemoryBufferCreateInfo =+ #{offset VkExternalMemoryBufferCreateInfo, pNext}+ type FieldIsArray "pNext" VkExternalMemoryBufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalMemoryBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalMemoryBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExternalMemoryBufferCreateInfo where+ type FieldType "handleTypes" VkExternalMemoryBufferCreateInfo =+ VkExternalMemoryHandleTypeFlags+ type FieldOptional "handleTypes" VkExternalMemoryBufferCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExternalMemoryBufferCreateInfo =+ #{offset VkExternalMemoryBufferCreateInfo, handleTypes}+ type FieldIsArray "handleTypes" VkExternalMemoryBufferCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryBufferCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExternalMemoryBufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryBufferCreateInfo, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryBufferCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExternalMemoryBufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryBufferCreateInfo, handleTypes}++instance Show VkExternalMemoryBufferCreateInfo where+ showsPrec d x+ = showString "VkExternalMemoryBufferCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | Alias for `VkExternalMemoryBufferCreateInfo`+type VkExternalMemoryBufferCreateInfoKHR =+ VkExternalMemoryBufferCreateInfo++-- | > typedef struct VkExternalMemoryImageCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlags handleTypes;+-- > } VkExternalMemoryImageCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo registry at www.khronos.org>+data VkExternalMemoryImageCreateInfo = VkExternalMemoryImageCreateInfo## Addr##+ ByteArray##++instance Eq VkExternalMemoryImageCreateInfo where+ (VkExternalMemoryImageCreateInfo## a _) ==+ x@(VkExternalMemoryImageCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalMemoryImageCreateInfo where+ (VkExternalMemoryImageCreateInfo## a _) `compare`+ x@(VkExternalMemoryImageCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalMemoryImageCreateInfo where+ sizeOf ~_ = #{size VkExternalMemoryImageCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExternalMemoryImageCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryImageCreateInfo where+ unsafeAddr (VkExternalMemoryImageCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalMemoryImageCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalMemoryImageCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryImageCreateInfo where+ type StructFields VkExternalMemoryImageCreateInfo =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExternalMemoryImageCreateInfo =+ '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalMemoryImageCreateInfo where+ type FieldType "sType" VkExternalMemoryImageCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalMemoryImageCreateInfo =+ #{offset VkExternalMemoryImageCreateInfo, sType}+ type FieldIsArray "sType" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalMemoryImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalMemoryImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalMemoryImageCreateInfo where+ type FieldType "pNext" VkExternalMemoryImageCreateInfo = Ptr Void+ type FieldOptional "pNext" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalMemoryImageCreateInfo =+ #{offset VkExternalMemoryImageCreateInfo, pNext}+ type FieldIsArray "pNext" VkExternalMemoryImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalMemoryImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalMemoryImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExternalMemoryImageCreateInfo where+ type FieldType "handleTypes" VkExternalMemoryImageCreateInfo =+ VkExternalMemoryHandleTypeFlags+ type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfo =+ #{offset VkExternalMemoryImageCreateInfo, handleTypes}+ type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryImageCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExternalMemoryImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfo, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryImageCreateInfo, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExternalMemoryImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryImageCreateInfo, handleTypes}++instance Show VkExternalMemoryImageCreateInfo where+ showsPrec d x+ = showString "VkExternalMemoryImageCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | Alias for `VkExternalMemoryImageCreateInfo`+type VkExternalMemoryImageCreateInfoKHR =+ VkExternalMemoryImageCreateInfo++-- | > typedef struct VkExternalMemoryImageCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagsNV handleTypes;+-- > } VkExternalMemoryImageCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV registry at www.khronos.org>+data VkExternalMemoryImageCreateInfoNV = VkExternalMemoryImageCreateInfoNV## Addr##+ ByteArray##++instance Eq VkExternalMemoryImageCreateInfoNV where+ (VkExternalMemoryImageCreateInfoNV## a _) ==+ x@(VkExternalMemoryImageCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalMemoryImageCreateInfoNV where+ (VkExternalMemoryImageCreateInfoNV## a _) `compare`+ x@(VkExternalMemoryImageCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalMemoryImageCreateInfoNV where+ sizeOf ~_ = #{size VkExternalMemoryImageCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExternalMemoryImageCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryImageCreateInfoNV where+ unsafeAddr (VkExternalMemoryImageCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalMemoryImageCreateInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalMemoryImageCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryImageCreateInfoNV where+ type StructFields VkExternalMemoryImageCreateInfoNV =+ '["sType", "pNext", "handleTypes"] -- ' closing tick for hsc2hs+ type CUnionType VkExternalMemoryImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalMemoryImageCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExternalMemoryImageCreateInfoNV =+ '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalMemoryImageCreateInfoNV where+ type FieldType "sType" VkExternalMemoryImageCreateInfoNV =+ VkStructureType+ type FieldOptional "sType" VkExternalMemoryImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalMemoryImageCreateInfoNV =+ #{offset VkExternalMemoryImageCreateInfoNV, sType}+ type FieldIsArray "sType" VkExternalMemoryImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryImageCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalMemoryImageCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalMemoryImageCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalMemoryImageCreateInfoNV where+ type FieldType "pNext" VkExternalMemoryImageCreateInfoNV = Ptr Void+ type FieldOptional "pNext" VkExternalMemoryImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalMemoryImageCreateInfoNV =+ #{offset VkExternalMemoryImageCreateInfoNV, pNext}+ type FieldIsArray "pNext" VkExternalMemoryImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalMemoryImageCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalMemoryImageCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleTypes" VkExternalMemoryImageCreateInfoNV where+ type FieldType "handleTypes" VkExternalMemoryImageCreateInfoNV =+ VkExternalMemoryHandleTypeFlagsNV+ type FieldOptional "handleTypes" VkExternalMemoryImageCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleTypes" VkExternalMemoryImageCreateInfoNV =+ #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}+ type FieldIsArray "handleTypes" VkExternalMemoryImageCreateInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "handleTypes" VkExternalMemoryImageCreateInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryImageCreateInfoNV, handleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "handleTypes" VkExternalMemoryImageCreateInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryImageCreateInfoNV, handleTypes}++instance Show VkExternalMemoryImageCreateInfoNV where+ showsPrec d x+ = showString "VkExternalMemoryImageCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleTypes = " .+ showsPrec d (getField @"handleTypes" x) . showChar '}'++-- | > typedef struct VkExternalMemoryProperties {+-- > VkExternalMemoryFeatureFlags externalMemoryFeatures;+-- > VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;+-- > VkExternalMemoryHandleTypeFlags compatibleHandleTypes;+-- > } VkExternalMemoryProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalMemoryProperties VkExternalMemoryProperties registry at www.khronos.org>+data VkExternalMemoryProperties = VkExternalMemoryProperties## Addr##+ ByteArray##++instance Eq VkExternalMemoryProperties where+ (VkExternalMemoryProperties## a _) ==+ x@(VkExternalMemoryProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalMemoryProperties where+ (VkExternalMemoryProperties## a _) `compare`+ x@(VkExternalMemoryProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalMemoryProperties where+ sizeOf ~_ = #{size VkExternalMemoryProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExternalMemoryProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalMemoryProperties where+ unsafeAddr (VkExternalMemoryProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalMemoryProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalMemoryProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalMemoryProperties where+ type StructFields VkExternalMemoryProperties =+ '["externalMemoryFeatures", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs+ "compatibleHandleTypes"]+ type CUnionType VkExternalMemoryProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalMemoryProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExternalMemoryProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "externalMemoryFeatures" VkExternalMemoryProperties where+ type FieldType "externalMemoryFeatures" VkExternalMemoryProperties+ = VkExternalMemoryFeatureFlags+ type FieldOptional "externalMemoryFeatures"+ VkExternalMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "externalMemoryFeatures"+ VkExternalMemoryProperties+ =+ #{offset VkExternalMemoryProperties, externalMemoryFeatures}+ type FieldIsArray "externalMemoryFeatures"+ VkExternalMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryProperties, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "externalMemoryFeatures" VkExternalMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, externalMemoryFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryProperties, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "externalMemoryFeatures" VkExternalMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryProperties, externalMemoryFeatures}++instance {-# OVERLAPPING #-}+ HasField "exportFromImportedHandleTypes" VkExternalMemoryProperties+ where+ type FieldType "exportFromImportedHandleTypes"+ VkExternalMemoryProperties+ = VkExternalMemoryHandleTypeFlags+ type FieldOptional "exportFromImportedHandleTypes"+ VkExternalMemoryProperties+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "exportFromImportedHandleTypes"+ VkExternalMemoryProperties+ =+ #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}+ type FieldIsArray "exportFromImportedHandleTypes"+ VkExternalMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "exportFromImportedHandleTypes"+ VkExternalMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "exportFromImportedHandleTypes"+ VkExternalMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ HasField "compatibleHandleTypes" VkExternalMemoryProperties where+ type FieldType "compatibleHandleTypes" VkExternalMemoryProperties =+ VkExternalMemoryHandleTypeFlags+ type FieldOptional "compatibleHandleTypes"+ VkExternalMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compatibleHandleTypes" VkExternalMemoryProperties+ =+ #{offset VkExternalMemoryProperties, compatibleHandleTypes}+ type FieldIsArray "compatibleHandleTypes"+ VkExternalMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalMemoryProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "compatibleHandleTypes" VkExternalMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalMemoryProperties, compatibleHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalMemoryProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "compatibleHandleTypes" VkExternalMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalMemoryProperties, compatibleHandleTypes}++instance Show VkExternalMemoryProperties where+ showsPrec d x+ = showString "VkExternalMemoryProperties {" .+ showString "externalMemoryFeatures = " .+ showsPrec d (getField @"externalMemoryFeatures" x) .+ showString ", " .+ showString "exportFromImportedHandleTypes = " .+ showsPrec d (getField @"exportFromImportedHandleTypes" x) .+ showString ", " .+ showString "compatibleHandleTypes = " .+ showsPrec d (getField @"compatibleHandleTypes" x) . showChar '}'++-- | Alias for `VkExternalMemoryProperties`+type VkExternalMemoryPropertiesKHR = VkExternalMemoryProperties++-- | > typedef struct VkExternalSemaphoreProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;+-- > VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;+-- > VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;+-- > } VkExternalSemaphoreProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalSemaphoreProperties VkExternalSemaphoreProperties registry at www.khronos.org>+data VkExternalSemaphoreProperties = VkExternalSemaphoreProperties## Addr##+ ByteArray##++instance Eq VkExternalSemaphoreProperties where+ (VkExternalSemaphoreProperties## a _) ==+ x@(VkExternalSemaphoreProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalSemaphoreProperties where+ (VkExternalSemaphoreProperties## a _) `compare`+ x@(VkExternalSemaphoreProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalSemaphoreProperties where+ sizeOf ~_ = #{size VkExternalSemaphoreProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExternalSemaphoreProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalSemaphoreProperties where+ unsafeAddr (VkExternalSemaphoreProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalSemaphoreProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalSemaphoreProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalSemaphoreProperties where+ type StructFields VkExternalSemaphoreProperties =+ '["sType", "pNext", "exportFromImportedHandleTypes", -- ' closing tick for hsc2hs+ "compatibleHandleTypes", "externalSemaphoreFeatures"]+ type CUnionType VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalSemaphoreProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkExternalSemaphoreProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalSemaphoreProperties where+ type FieldType "sType" VkExternalSemaphoreProperties =+ VkStructureType+ type FieldOptional "sType" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalSemaphoreProperties =+ #{offset VkExternalSemaphoreProperties, sType}+ type FieldIsArray "sType" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalSemaphoreProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalSemaphoreProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalSemaphoreProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalSemaphoreProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalSemaphoreProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalSemaphoreProperties where+ type FieldType "pNext" VkExternalSemaphoreProperties = Ptr Void+ type FieldOptional "pNext" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalSemaphoreProperties =+ #{offset VkExternalSemaphoreProperties, pNext}+ type FieldIsArray "pNext" VkExternalSemaphoreProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalSemaphoreProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalSemaphoreProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalSemaphoreProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalSemaphoreProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalSemaphoreProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ where+ type FieldType "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ = VkExternalSemaphoreHandleTypeFlags+ type FieldOptional "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ =+ #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}+ type FieldIsArray "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "exportFromImportedHandleTypes"+ VkExternalSemaphoreProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalSemaphoreProperties, exportFromImportedHandleTypes}++instance {-# OVERLAPPING #-}+ HasField "compatibleHandleTypes" VkExternalSemaphoreProperties+ where+ type FieldType "compatibleHandleTypes"+ VkExternalSemaphoreProperties+ = VkExternalSemaphoreHandleTypeFlags+ type FieldOptional "compatibleHandleTypes"+ VkExternalSemaphoreProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compatibleHandleTypes"+ VkExternalSemaphoreProperties+ =+ #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}+ type FieldIsArray "compatibleHandleTypes"+ VkExternalSemaphoreProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanReadField "compatibleHandleTypes" VkExternalSemaphoreProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, compatibleHandleTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "compatibleHandleTypes" VkExternalSemaphoreProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalSemaphoreProperties, compatibleHandleTypes}++instance {-# OVERLAPPING #-}+ HasField "externalSemaphoreFeatures" VkExternalSemaphoreProperties+ where+ type FieldType "externalSemaphoreFeatures"+ VkExternalSemaphoreProperties+ = VkExternalSemaphoreFeatureFlags+ type FieldOptional "externalSemaphoreFeatures"+ VkExternalSemaphoreProperties+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "externalSemaphoreFeatures"+ VkExternalSemaphoreProperties+ =+ #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}+ type FieldIsArray "externalSemaphoreFeatures"+ VkExternalSemaphoreProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "externalSemaphoreFeatures"+ VkExternalSemaphoreProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "externalSemaphoreFeatures"+ VkExternalSemaphoreProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalSemaphoreProperties, externalSemaphoreFeatures}++instance Show VkExternalSemaphoreProperties where+ showsPrec d x+ = showString "VkExternalSemaphoreProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "exportFromImportedHandleTypes = " .+ showsPrec d (getField @"exportFromImportedHandleTypes" x) .+ showString ", " .+ showString "compatibleHandleTypes = " .+ showsPrec d (getField @"compatibleHandleTypes" x) .+ showString ", " .+ showString "externalSemaphoreFeatures = " .+ showsPrec d (getField @"externalSemaphoreFeatures" x) .+ showChar '}'++-- | Alias for `VkExternalSemaphoreProperties`+type VkExternalSemaphorePropertiesKHR =+ VkExternalSemaphoreProperties
@@ -0,0 +1,375 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Fence+ (VkFenceCreateInfo(..), VkFenceGetFdInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.External (VkExternalFenceHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Fence (VkFenceCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkFence)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkFenceCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFenceCreateFlags flags;+-- > } VkFenceCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceCreateInfo VkFenceCreateInfo registry at www.khronos.org>+data VkFenceCreateInfo = VkFenceCreateInfo## Addr## ByteArray##++instance Eq VkFenceCreateInfo where+ (VkFenceCreateInfo## a _) == x@(VkFenceCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkFenceCreateInfo where+ (VkFenceCreateInfo## a _) `compare` x@(VkFenceCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkFenceCreateInfo where+ sizeOf ~_ = #{size VkFenceCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkFenceCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkFenceCreateInfo where+ unsafeAddr (VkFenceCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkFenceCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkFenceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFenceCreateInfo where+ type StructFields VkFenceCreateInfo = '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkFenceCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkFenceCreateInfo+ where+ type FieldType "sType" VkFenceCreateInfo = VkStructureType+ type FieldOptional "sType" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkFenceCreateInfo =+ #{offset VkFenceCreateInfo, sType}+ type FieldIsArray "sType" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceCreateInfo, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkFenceCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkFenceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkFenceCreateInfo+ where+ type FieldType "pNext" VkFenceCreateInfo = Ptr Void+ type FieldOptional "pNext" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkFenceCreateInfo =+ #{offset VkFenceCreateInfo, pNext}+ type FieldIsArray "pNext" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkFenceCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkFenceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkFenceCreateInfo+ where+ type FieldType "flags" VkFenceCreateInfo = VkFenceCreateFlags+ type FieldOptional "flags" VkFenceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkFenceCreateInfo =+ #{offset VkFenceCreateInfo, flags}+ type FieldIsArray "flags" VkFenceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceCreateInfo, flags}++instance {-# OVERLAPPING #-} CanReadField "flags" VkFenceCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkFenceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceCreateInfo, flags}++instance Show VkFenceCreateInfo where+ showsPrec d x+ = showString "VkFenceCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | > typedef struct VkFenceGetFdInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFence fence;+-- > VkExternalFenceHandleTypeFlagBits handleType;+-- > } VkFenceGetFdInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceGetFdInfoKHR VkFenceGetFdInfoKHR registry at www.khronos.org>+data VkFenceGetFdInfoKHR = VkFenceGetFdInfoKHR## Addr## ByteArray##++instance Eq VkFenceGetFdInfoKHR where+ (VkFenceGetFdInfoKHR## a _) == x@(VkFenceGetFdInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkFenceGetFdInfoKHR where+ (VkFenceGetFdInfoKHR## a _) `compare` x@(VkFenceGetFdInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkFenceGetFdInfoKHR where+ sizeOf ~_ = #{size VkFenceGetFdInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkFenceGetFdInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkFenceGetFdInfoKHR where+ unsafeAddr (VkFenceGetFdInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkFenceGetFdInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkFenceGetFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFenceGetFdInfoKHR where+ type StructFields VkFenceGetFdInfoKHR =+ '["sType", "pNext", "fence", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkFenceGetFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkFenceGetFdInfoKHR+ where+ type FieldType "sType" VkFenceGetFdInfoKHR = VkStructureType+ type FieldOptional "sType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkFenceGetFdInfoKHR =+ #{offset VkFenceGetFdInfoKHR, sType}+ type FieldIsArray "sType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkFenceGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkFenceGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkFenceGetFdInfoKHR+ where+ type FieldType "pNext" VkFenceGetFdInfoKHR = Ptr Void+ type FieldOptional "pNext" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkFenceGetFdInfoKHR =+ #{offset VkFenceGetFdInfoKHR, pNext}+ type FieldIsArray "pNext" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkFenceGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkFenceGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-} HasField "fence" VkFenceGetFdInfoKHR+ where+ type FieldType "fence" VkFenceGetFdInfoKHR = VkFence+ type FieldOptional "fence" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fence" VkFenceGetFdInfoKHR =+ #{offset VkFenceGetFdInfoKHR, fence}+ type FieldIsArray "fence" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceGetFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanReadField "fence" VkFenceGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, fence})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanWriteField "fence" VkFenceGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkFenceGetFdInfoKHR where+ type FieldType "handleType" VkFenceGetFdInfoKHR =+ VkExternalFenceHandleTypeFlagBits+ type FieldOptional "handleType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkFenceGetFdInfoKHR =+ #{offset VkFenceGetFdInfoKHR, handleType}+ type FieldIsArray "handleType" VkFenceGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFenceGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkFenceGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetFdInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkFenceGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetFdInfoKHR, handleType}++instance Show VkFenceGetFdInfoKHR where+ showsPrec d x+ = showString "VkFenceGetFdInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "fence = " .+ showsPrec d (getField @"fence" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'
@@ -0,0 +1,356 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.FormatProperties+ (VkFormatProperties(..), VkFormatProperties2(..),+ VkFormatProperties2KHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Format (VkFormatFeatureFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkFormatProperties {+-- > VkFormatFeatureFlags linearTilingFeatures;+-- > VkFormatFeatureFlags optimalTilingFeatures;+-- > VkFormatFeatureFlags bufferFeatures;+-- > } VkFormatProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormatProperties VkFormatProperties registry at www.khronos.org>+data VkFormatProperties = VkFormatProperties## Addr## ByteArray##++instance Eq VkFormatProperties where+ (VkFormatProperties## a _) == x@(VkFormatProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkFormatProperties where+ (VkFormatProperties## a _) `compare` x@(VkFormatProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkFormatProperties where+ sizeOf ~_ = #{size VkFormatProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkFormatProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkFormatProperties where+ unsafeAddr (VkFormatProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkFormatProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkFormatProperties## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFormatProperties where+ type StructFields VkFormatProperties =+ '["linearTilingFeatures", "optimalTilingFeatures", -- ' closing tick for hsc2hs+ "bufferFeatures"]+ type CUnionType VkFormatProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkFormatProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkFormatProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "linearTilingFeatures" VkFormatProperties where+ type FieldType "linearTilingFeatures" VkFormatProperties =+ VkFormatFeatureFlags+ type FieldOptional "linearTilingFeatures" VkFormatProperties =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "linearTilingFeatures" VkFormatProperties =+ #{offset VkFormatProperties, linearTilingFeatures}+ type FieldIsArray "linearTilingFeatures" VkFormatProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFormatProperties, linearTilingFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "linearTilingFeatures" VkFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFormatProperties, linearTilingFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFormatProperties, linearTilingFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "linearTilingFeatures" VkFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFormatProperties, linearTilingFeatures}++instance {-# OVERLAPPING #-}+ HasField "optimalTilingFeatures" VkFormatProperties where+ type FieldType "optimalTilingFeatures" VkFormatProperties =+ VkFormatFeatureFlags+ type FieldOptional "optimalTilingFeatures" VkFormatProperties =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "optimalTilingFeatures" VkFormatProperties =+ #{offset VkFormatProperties, optimalTilingFeatures}+ type FieldIsArray "optimalTilingFeatures" VkFormatProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFormatProperties, optimalTilingFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "optimalTilingFeatures" VkFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFormatProperties, optimalTilingFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFormatProperties, optimalTilingFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "optimalTilingFeatures" VkFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFormatProperties, optimalTilingFeatures}++instance {-# OVERLAPPING #-}+ HasField "bufferFeatures" VkFormatProperties where+ type FieldType "bufferFeatures" VkFormatProperties =+ VkFormatFeatureFlags+ type FieldOptional "bufferFeatures" VkFormatProperties = 'True -- ' closing tick for hsc2hs+ type FieldOffset "bufferFeatures" VkFormatProperties =+ #{offset VkFormatProperties, bufferFeatures}+ type FieldIsArray "bufferFeatures" VkFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFormatProperties, bufferFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "bufferFeatures" VkFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFormatProperties, bufferFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFormatProperties, bufferFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "bufferFeatures" VkFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFormatProperties, bufferFeatures}++instance Show VkFormatProperties where+ showsPrec d x+ = showString "VkFormatProperties {" .+ showString "linearTilingFeatures = " .+ showsPrec d (getField @"linearTilingFeatures" x) .+ showString ", " .+ showString "optimalTilingFeatures = " .+ showsPrec d (getField @"optimalTilingFeatures" x) .+ showString ", " .+ showString "bufferFeatures = " .+ showsPrec d (getField @"bufferFeatures" x) . showChar '}'++-- | > typedef struct VkFormatProperties2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkFormatProperties formatProperties;+-- > } VkFormatProperties2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFormatProperties2 VkFormatProperties2 registry at www.khronos.org>+data VkFormatProperties2 = VkFormatProperties2## Addr## ByteArray##++instance Eq VkFormatProperties2 where+ (VkFormatProperties2## a _) == x@(VkFormatProperties2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkFormatProperties2 where+ (VkFormatProperties2## a _) `compare` x@(VkFormatProperties2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkFormatProperties2 where+ sizeOf ~_ = #{size VkFormatProperties2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkFormatProperties2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkFormatProperties2 where+ unsafeAddr (VkFormatProperties2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkFormatProperties2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkFormatProperties2## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFormatProperties2 where+ type StructFields VkFormatProperties2 =+ '["sType", "pNext", "formatProperties"] -- ' closing tick for hsc2hs+ type CUnionType VkFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkFormatProperties2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkFormatProperties2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkFormatProperties2+ where+ type FieldType "sType" VkFormatProperties2 = VkStructureType+ type FieldOptional "sType" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkFormatProperties2 =+ #{offset VkFormatProperties2, sType}+ type FieldIsArray "sType" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFormatProperties2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFormatProperties2, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkFormatProperties2+ where+ type FieldType "pNext" VkFormatProperties2 = Ptr Void+ type FieldOptional "pNext" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkFormatProperties2 =+ #{offset VkFormatProperties2, pNext}+ type FieldIsArray "pNext" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFormatProperties2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ HasField "formatProperties" VkFormatProperties2 where+ type FieldType "formatProperties" VkFormatProperties2 =+ VkFormatProperties+ type FieldOptional "formatProperties" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "formatProperties" VkFormatProperties2 =+ #{offset VkFormatProperties2, formatProperties}+ type FieldIsArray "formatProperties" VkFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFormatProperties2, formatProperties}++instance {-# OVERLAPPING #-}+ CanReadField "formatProperties" VkFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFormatProperties2, formatProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFormatProperties2, formatProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "formatProperties" VkFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFormatProperties2, formatProperties}++instance Show VkFormatProperties2 where+ showsPrec d x+ = showString "VkFormatProperties2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "formatProperties = " .+ showsPrec d (getField @"formatProperties" x) . showChar '}'++-- | Alias for `VkFormatProperties2`+type VkFormatProperties2KHR = VkFormatProperties2
@@ -0,0 +1,401 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.FramebufferCreateInfo+ (VkFramebufferCreateInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkFramebufferCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkImageView,+ VkRenderPass)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkFramebufferCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFramebufferCreateFlags flags;+-- > VkRenderPass renderPass;+-- > uint32_t attachmentCount;+-- > const VkImageView* pAttachments;+-- > uint32_t width;+-- > uint32_t height;+-- > uint32_t layers;+-- > } VkFramebufferCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFramebufferCreateInfo VkFramebufferCreateInfo registry at www.khronos.org>+data VkFramebufferCreateInfo = VkFramebufferCreateInfo## Addr##+ ByteArray##++instance Eq VkFramebufferCreateInfo where+ (VkFramebufferCreateInfo## a _) == x@(VkFramebufferCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkFramebufferCreateInfo where+ (VkFramebufferCreateInfo## a _) `compare`+ x@(VkFramebufferCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkFramebufferCreateInfo where+ sizeOf ~_ = #{size VkFramebufferCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkFramebufferCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkFramebufferCreateInfo where+ unsafeAddr (VkFramebufferCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkFramebufferCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkFramebufferCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFramebufferCreateInfo where+ type StructFields VkFramebufferCreateInfo =+ '["sType", "pNext", "flags", "renderPass", "attachmentCount", -- ' closing tick for hsc2hs+ "pAttachments", "width", "height", "layers"]+ type CUnionType VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkFramebufferCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkFramebufferCreateInfo where+ type FieldType "sType" VkFramebufferCreateInfo = VkStructureType+ type FieldOptional "sType" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, sType}+ type FieldIsArray "sType" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFramebufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkFramebufferCreateInfo where+ type FieldType "pNext" VkFramebufferCreateInfo = Ptr Void+ type FieldOptional "pNext" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, pNext}+ type FieldIsArray "pNext" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFramebufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkFramebufferCreateInfo where+ type FieldType "flags" VkFramebufferCreateInfo =+ VkFramebufferCreateFlags+ type FieldOptional "flags" VkFramebufferCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, flags}+ type FieldIsArray "flags" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFramebufferCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "renderPass" VkFramebufferCreateInfo where+ type FieldType "renderPass" VkFramebufferCreateInfo = VkRenderPass+ type FieldOptional "renderPass" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "renderPass" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, renderPass}+ type FieldIsArray "renderPass" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFramebufferCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanReadField "renderPass" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, renderPass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanWriteField "renderPass" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+ HasField "attachmentCount" VkFramebufferCreateInfo where+ type FieldType "attachmentCount" VkFramebufferCreateInfo = Word32+ type FieldOptional "attachmentCount" VkFramebufferCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "attachmentCount" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, attachmentCount}+ type FieldIsArray "attachmentCount" VkFramebufferCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFramebufferCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ CanReadField "attachmentCount" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, attachmentCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ CanWriteField "attachmentCount" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ HasField "pAttachments" VkFramebufferCreateInfo where+ type FieldType "pAttachments" VkFramebufferCreateInfo =+ Ptr VkImageView+ type FieldOptional "pAttachments" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAttachments" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, pAttachments}+ type FieldIsArray "pAttachments" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFramebufferCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pAttachments" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, pAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttachments" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ HasField "width" VkFramebufferCreateInfo where+ type FieldType "width" VkFramebufferCreateInfo = Word32+ type FieldOptional "width" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "width" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, width}+ type FieldIsArray "width" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFramebufferCreateInfo, width}++instance {-# OVERLAPPING #-}+ CanReadField "width" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, width})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, width}++instance {-# OVERLAPPING #-}+ CanWriteField "width" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, width}++instance {-# OVERLAPPING #-}+ HasField "height" VkFramebufferCreateInfo where+ type FieldType "height" VkFramebufferCreateInfo = Word32+ type FieldOptional "height" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "height" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, height}+ type FieldIsArray "height" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFramebufferCreateInfo, height}++instance {-# OVERLAPPING #-}+ CanReadField "height" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, height})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, height}++instance {-# OVERLAPPING #-}+ CanWriteField "height" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, height}++instance {-# OVERLAPPING #-}+ HasField "layers" VkFramebufferCreateInfo where+ type FieldType "layers" VkFramebufferCreateInfo = Word32+ type FieldOptional "layers" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layers" VkFramebufferCreateInfo =+ #{offset VkFramebufferCreateInfo, layers}+ type FieldIsArray "layers" VkFramebufferCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkFramebufferCreateInfo, layers}++instance {-# OVERLAPPING #-}+ CanReadField "layers" VkFramebufferCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFramebufferCreateInfo, layers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFramebufferCreateInfo, layers}++instance {-# OVERLAPPING #-}+ CanWriteField "layers" VkFramebufferCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFramebufferCreateInfo, layers}++instance Show VkFramebufferCreateInfo where+ showsPrec d x+ = showString "VkFramebufferCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "renderPass = " .+ showsPrec d (getField @"renderPass" x) .+ showString ", " .+ showString "attachmentCount = " .+ showsPrec d (getField @"attachmentCount" x) .+ showString ", " .+ showString "pAttachments = " .+ showsPrec d (getField @"pAttachments" x) .+ showString ", " .+ showString "width = " .+ showsPrec d (getField @"width" x) .+ showString ", " .+ showString "height = " .+ showsPrec d (getField @"height" x) .+ showString ", " .+ showString "layers = " .+ showsPrec d (getField @"layers" x) .+ showChar '}'
@@ -0,0 +1,447 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.HdrMetadataEXT+ (VkHdrMetadataEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.XYColorEXT (VkXYColorEXT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkHdrMetadataEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkXYColorEXT displayPrimaryRed;+-- > VkXYColorEXT displayPrimaryGreen;+-- > VkXYColorEXT displayPrimaryBlue;+-- > VkXYColorEXT whitePoint;+-- > float maxLuminance;+-- > float minLuminance;+-- > float maxContentLightLevel;+-- > float maxFrameAverageLightLevel;+-- > } VkHdrMetadataEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkHdrMetadataEXT VkHdrMetadataEXT registry at www.khronos.org>+data VkHdrMetadataEXT = VkHdrMetadataEXT## Addr## ByteArray##++instance Eq VkHdrMetadataEXT where+ (VkHdrMetadataEXT## a _) == x@(VkHdrMetadataEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkHdrMetadataEXT where+ (VkHdrMetadataEXT## a _) `compare` x@(VkHdrMetadataEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkHdrMetadataEXT where+ sizeOf ~_ = #{size VkHdrMetadataEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkHdrMetadataEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkHdrMetadataEXT where+ unsafeAddr (VkHdrMetadataEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkHdrMetadataEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkHdrMetadataEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkHdrMetadataEXT where+ type StructFields VkHdrMetadataEXT =+ '["sType", "pNext", "displayPrimaryRed", "displayPrimaryGreen", -- ' closing tick for hsc2hs+ "displayPrimaryBlue", "whitePoint", "maxLuminance", "minLuminance",+ "maxContentLightLevel", "maxFrameAverageLightLevel"]+ type CUnionType VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkHdrMetadataEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkHdrMetadataEXT+ where+ type FieldType "sType" VkHdrMetadataEXT = VkStructureType+ type FieldOptional "sType" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, sType}+ type FieldIsArray "sType" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkHdrMetadataEXT, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkHdrMetadataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, sType}++instance {-# OVERLAPPING #-} CanWriteField "sType" VkHdrMetadataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkHdrMetadataEXT+ where+ type FieldType "pNext" VkHdrMetadataEXT = Ptr Void+ type FieldOptional "pNext" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, pNext}+ type FieldIsArray "pNext" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkHdrMetadataEXT, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkHdrMetadataEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, pNext}++instance {-# OVERLAPPING #-} CanWriteField "pNext" VkHdrMetadataEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "displayPrimaryRed" VkHdrMetadataEXT where+ type FieldType "displayPrimaryRed" VkHdrMetadataEXT = VkXYColorEXT+ type FieldOptional "displayPrimaryRed" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayPrimaryRed" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, displayPrimaryRed}+ type FieldIsArray "displayPrimaryRed" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkHdrMetadataEXT, displayPrimaryRed}++instance {-# OVERLAPPING #-}+ CanReadField "displayPrimaryRed" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryRed})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryRed}++instance {-# OVERLAPPING #-}+ CanWriteField "displayPrimaryRed" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryRed}++instance {-# OVERLAPPING #-}+ HasField "displayPrimaryGreen" VkHdrMetadataEXT where+ type FieldType "displayPrimaryGreen" VkHdrMetadataEXT =+ VkXYColorEXT+ type FieldOptional "displayPrimaryGreen" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayPrimaryGreen" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, displayPrimaryGreen}+ type FieldIsArray "displayPrimaryGreen" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkHdrMetadataEXT, displayPrimaryGreen}++instance {-# OVERLAPPING #-}+ CanReadField "displayPrimaryGreen" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryGreen})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryGreen}++instance {-# OVERLAPPING #-}+ CanWriteField "displayPrimaryGreen" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryGreen}++instance {-# OVERLAPPING #-}+ HasField "displayPrimaryBlue" VkHdrMetadataEXT where+ type FieldType "displayPrimaryBlue" VkHdrMetadataEXT = VkXYColorEXT+ type FieldOptional "displayPrimaryBlue" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "displayPrimaryBlue" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, displayPrimaryBlue}+ type FieldIsArray "displayPrimaryBlue" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkHdrMetadataEXT, displayPrimaryBlue}++instance {-# OVERLAPPING #-}+ CanReadField "displayPrimaryBlue" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, displayPrimaryBlue})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, displayPrimaryBlue}++instance {-# OVERLAPPING #-}+ CanWriteField "displayPrimaryBlue" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, displayPrimaryBlue}++instance {-# OVERLAPPING #-} HasField "whitePoint" VkHdrMetadataEXT+ where+ type FieldType "whitePoint" VkHdrMetadataEXT = VkXYColorEXT+ type FieldOptional "whitePoint" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "whitePoint" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, whitePoint}+ type FieldIsArray "whitePoint" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkHdrMetadataEXT, whitePoint}++instance {-# OVERLAPPING #-}+ CanReadField "whitePoint" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, whitePoint})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, whitePoint}++instance {-# OVERLAPPING #-}+ CanWriteField "whitePoint" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, whitePoint}++instance {-# OVERLAPPING #-}+ HasField "maxLuminance" VkHdrMetadataEXT where+ type FieldType "maxLuminance" VkHdrMetadataEXT =+ #{type float}+ type FieldOptional "maxLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxLuminance" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, maxLuminance}+ type FieldIsArray "maxLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkHdrMetadataEXT, maxLuminance}++instance {-# OVERLAPPING #-}+ CanReadField "maxLuminance" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxLuminance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, maxLuminance}++instance {-# OVERLAPPING #-}+ CanWriteField "maxLuminance" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, maxLuminance}++instance {-# OVERLAPPING #-}+ HasField "minLuminance" VkHdrMetadataEXT where+ type FieldType "minLuminance" VkHdrMetadataEXT =+ #{type float}+ type FieldOptional "minLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minLuminance" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, minLuminance}+ type FieldIsArray "minLuminance" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkHdrMetadataEXT, minLuminance}++instance {-# OVERLAPPING #-}+ CanReadField "minLuminance" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, minLuminance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, minLuminance}++instance {-# OVERLAPPING #-}+ CanWriteField "minLuminance" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, minLuminance}++instance {-# OVERLAPPING #-}+ HasField "maxContentLightLevel" VkHdrMetadataEXT where+ type FieldType "maxContentLightLevel" VkHdrMetadataEXT =+ #{type float}+ type FieldOptional "maxContentLightLevel" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxContentLightLevel" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, maxContentLightLevel}+ type FieldIsArray "maxContentLightLevel" VkHdrMetadataEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkHdrMetadataEXT, maxContentLightLevel}++instance {-# OVERLAPPING #-}+ CanReadField "maxContentLightLevel" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxContentLightLevel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, maxContentLightLevel}++instance {-# OVERLAPPING #-}+ CanWriteField "maxContentLightLevel" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, maxContentLightLevel}++instance {-# OVERLAPPING #-}+ HasField "maxFrameAverageLightLevel" VkHdrMetadataEXT where+ type FieldType "maxFrameAverageLightLevel" VkHdrMetadataEXT =+ #{type float}+ type FieldOptional "maxFrameAverageLightLevel" VkHdrMetadataEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFrameAverageLightLevel" VkHdrMetadataEXT =+ #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}+ type FieldIsArray "maxFrameAverageLightLevel" VkHdrMetadataEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++instance {-# OVERLAPPING #-}+ CanReadField "maxFrameAverageLightLevel" VkHdrMetadataEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFrameAverageLightLevel" VkHdrMetadataEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkHdrMetadataEXT, maxFrameAverageLightLevel}++instance Show VkHdrMetadataEXT where+ showsPrec d x+ = showString "VkHdrMetadataEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "displayPrimaryRed = " .+ showsPrec d (getField @"displayPrimaryRed" x) .+ showString ", " .+ showString "displayPrimaryGreen = " .+ showsPrec d (getField @"displayPrimaryGreen" x) .+ showString ", " .+ showString "displayPrimaryBlue = " .+ showsPrec d (getField @"displayPrimaryBlue" x) .+ showString ", " .+ showString "whitePoint = " .+ showsPrec d (getField @"whitePoint" x) .+ showString ", " .+ showString "maxLuminance = " .+ showsPrec d (getField @"maxLuminance" x) .+ showString ", " .+ showString "minLuminance = " .+ showsPrec d (getField @"minLuminance" x) .+ showString ", " .+ showString "maxContentLightLevel = " .+ showsPrec d+ (getField @"maxContentLightLevel"+ x)+ .+ showString ", " .+ showString+ "maxFrameAverageLightLevel = "+ .+ showsPrec d+ (getField+ @"maxFrameAverageLightLevel"+ x)+ . showChar '}'
@@ -0,0 +1,4292 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.Image+ (VkImageBlit(..), VkImageCopy(..), VkImageCreateInfo(..),+ VkImageFormatListCreateInfoKHR(..), VkImageFormatProperties(..),+ VkImageFormatProperties2(..), VkImageFormatProperties2KHR,+ VkImageMemoryBarrier(..), VkImageMemoryRequirementsInfo2(..),+ VkImageMemoryRequirementsInfo2KHR,+ VkImagePlaneMemoryRequirementsInfo(..),+ VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve(..),+ VkImageSparseMemoryRequirementsInfo2(..),+ VkImageSparseMemoryRequirementsInfo2KHR, VkImageSubresource(..),+ VkImageSubresourceLayers(..), VkImageSubresourceRange(..),+ VkImageSwapchainCreateInfoKHR(..), VkImageViewCreateInfo(..),+ VkImageViewUsageCreateInfo(..), VkImageViewUsageCreateInfoKHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##,+ proxy##)+import GHC.TypeLits (KnownNat,+ natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks (VkImageViewCreateFlags)+import Graphics.Vulkan.Types.Enum.AccessFlags (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlagBits,+ VkImageAspectFlags,+ VkImageCreateFlags,+ VkImageLayout,+ VkImageTiling,+ VkImageType,+ VkImageUsageFlags,+ VkImageViewType)+import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits,+ VkSampleCountFlags)+import Graphics.Vulkan.Types.Enum.SharingMode (VkSharingMode)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkImage,+ VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Offset (VkOffset3D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkImageBlit {+-- > VkImageSubresourceLayers srcSubresource;+-- > VkOffset3D srcOffsets[2];+-- > VkImageSubresourceLayers dstSubresource;+-- > VkOffset3D dstOffsets[2];+-- > } VkImageBlit;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageBlit VkImageBlit registry at www.khronos.org>+data VkImageBlit = VkImageBlit## Addr## ByteArray##++instance Eq VkImageBlit where+ (VkImageBlit## a _) == x@(VkImageBlit## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageBlit where+ (VkImageBlit## a _) `compare` x@(VkImageBlit## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageBlit where+ sizeOf ~_ = #{size VkImageBlit}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageBlit}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageBlit where+ unsafeAddr (VkImageBlit## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageBlit## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageBlit## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageBlit where+ type StructFields VkImageBlit =+ '["srcSubresource", "srcOffsets", "dstSubresource", "dstOffsets"] -- ' closing tick for hsc2hs+ type CUnionType VkImageBlit = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageBlit = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageBlit = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "srcSubresource" VkImageBlit+ where+ type FieldType "srcSubresource" VkImageBlit =+ VkImageSubresourceLayers+ type FieldOptional "srcSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcSubresource" VkImageBlit =+ #{offset VkImageBlit, srcSubresource}+ type FieldIsArray "srcSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageBlit, srcSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "srcSubresource" VkImageBlit where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageBlit, srcSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageBlit, srcSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "srcSubresource" VkImageBlit where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageBlit, srcSubresource}++instance {-# OVERLAPPING #-} HasField "srcOffsets" VkImageBlit+ where+ type FieldType "srcOffsets" VkImageBlit = VkOffset3D+ type FieldOptional "srcOffsets" VkImageBlit = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcOffsets" VkImageBlit =+ #{offset VkImageBlit, srcOffsets}+ type FieldIsArray "srcOffsets" VkImageBlit = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageBlit, srcOffsets}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "srcOffsets" idx VkImageBlit) =>+ CanReadFieldArray "srcOffsets" idx VkImageBlit+ where+ {-# SPECIALISE instance+ CanReadFieldArray "srcOffsets" 0 VkImageBlit #-}++ {-# SPECIALISE instance+ CanReadFieldArray "srcOffsets" 1 VkImageBlit #-}+ type FieldArrayLength "srcOffsets" VkImageBlit = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkImageBlit, srcOffsets} ++ sizeOf (undefined :: VkOffset3D) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkImageBlit, srcOffsets} ++ sizeOf (undefined :: VkOffset3D) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "srcOffsets" idx VkImageBlit) =>+ CanWriteFieldArray "srcOffsets" idx VkImageBlit+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "srcOffsets" 0 VkImageBlit #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "srcOffsets" 1 VkImageBlit #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkImageBlit, srcOffsets} ++ sizeOf (undefined :: VkOffset3D) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "dstSubresource" VkImageBlit+ where+ type FieldType "dstSubresource" VkImageBlit =+ VkImageSubresourceLayers+ type FieldOptional "dstSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstSubresource" VkImageBlit =+ #{offset VkImageBlit, dstSubresource}+ type FieldIsArray "dstSubresource" VkImageBlit = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageBlit, dstSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "dstSubresource" VkImageBlit where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageBlit, dstSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageBlit, dstSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "dstSubresource" VkImageBlit where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageBlit, dstSubresource}++instance {-# OVERLAPPING #-} HasField "dstOffsets" VkImageBlit+ where+ type FieldType "dstOffsets" VkImageBlit = VkOffset3D+ type FieldOptional "dstOffsets" VkImageBlit = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstOffsets" VkImageBlit =+ #{offset VkImageBlit, dstOffsets}+ type FieldIsArray "dstOffsets" VkImageBlit = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageBlit, dstOffsets}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "dstOffsets" idx VkImageBlit) =>+ CanReadFieldArray "dstOffsets" idx VkImageBlit+ where+ {-# SPECIALISE instance+ CanReadFieldArray "dstOffsets" 0 VkImageBlit #-}++ {-# SPECIALISE instance+ CanReadFieldArray "dstOffsets" 1 VkImageBlit #-}+ type FieldArrayLength "dstOffsets" VkImageBlit = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkImageBlit, dstOffsets} ++ sizeOf (undefined :: VkOffset3D) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkImageBlit, dstOffsets} ++ sizeOf (undefined :: VkOffset3D) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "dstOffsets" idx VkImageBlit) =>+ CanWriteFieldArray "dstOffsets" idx VkImageBlit+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "dstOffsets" 0 VkImageBlit #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "dstOffsets" 1 VkImageBlit #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkImageBlit, dstOffsets} ++ sizeOf (undefined :: VkOffset3D) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkImageBlit where+ showsPrec d x+ = showString "VkImageBlit {" .+ showString "srcSubresource = " .+ showsPrec d (getField @"srcSubresource" x) .+ showString ", " .+ (showString "srcOffsets = [" .+ showsPrec d+ (let s = sizeOf (undefined :: FieldType "srcOffsets" VkImageBlit)+ o = fieldOffset @"srcOffsets" @VkImageBlit+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "srcOffsets" VkImageBlit)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 2 - 1])+ . showChar ']')+ .+ showString ", " .+ showString "dstSubresource = " .+ showsPrec d (getField @"dstSubresource" x) .+ showString ", " .+ (showString "dstOffsets = [" .+ showsPrec d+ (let s = sizeOf (undefined :: FieldType "dstOffsets" VkImageBlit)+ o = fieldOffset @"dstOffsets" @VkImageBlit+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "dstOffsets" VkImageBlit)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 2 - 1])+ . showChar ']')+ . showChar '}'++-- | > typedef struct VkImageCopy {+-- > VkImageSubresourceLayers srcSubresource;+-- > VkOffset3D srcOffset;+-- > VkImageSubresourceLayers dstSubresource;+-- > VkOffset3D dstOffset;+-- > VkExtent3D extent;+-- > } VkImageCopy;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageCopy VkImageCopy registry at www.khronos.org>+data VkImageCopy = VkImageCopy## Addr## ByteArray##++instance Eq VkImageCopy where+ (VkImageCopy## a _) == x@(VkImageCopy## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageCopy where+ (VkImageCopy## a _) `compare` x@(VkImageCopy## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageCopy where+ sizeOf ~_ = #{size VkImageCopy}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageCopy}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageCopy where+ unsafeAddr (VkImageCopy## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageCopy## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageCopy## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageCopy where+ type StructFields VkImageCopy =+ '["srcSubresource", "srcOffset", "dstSubresource", "dstOffset", -- ' closing tick for hsc2hs+ "extent"]+ type CUnionType VkImageCopy = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageCopy = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageCopy = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "srcSubresource" VkImageCopy+ where+ type FieldType "srcSubresource" VkImageCopy =+ VkImageSubresourceLayers+ type FieldOptional "srcSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcSubresource" VkImageCopy =+ #{offset VkImageCopy, srcSubresource}+ type FieldIsArray "srcSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCopy, srcSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "srcSubresource" VkImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCopy, srcSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCopy, srcSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "srcSubresource" VkImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCopy, srcSubresource}++instance {-# OVERLAPPING #-} HasField "srcOffset" VkImageCopy where+ type FieldType "srcOffset" VkImageCopy = VkOffset3D+ type FieldOptional "srcOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcOffset" VkImageCopy =+ #{offset VkImageCopy, srcOffset}+ type FieldIsArray "srcOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCopy, srcOffset}++instance {-# OVERLAPPING #-} CanReadField "srcOffset" VkImageCopy+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCopy, srcOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCopy, srcOffset}++instance {-# OVERLAPPING #-} CanWriteField "srcOffset" VkImageCopy+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCopy, srcOffset}++instance {-# OVERLAPPING #-} HasField "dstSubresource" VkImageCopy+ where+ type FieldType "dstSubresource" VkImageCopy =+ VkImageSubresourceLayers+ type FieldOptional "dstSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstSubresource" VkImageCopy =+ #{offset VkImageCopy, dstSubresource}+ type FieldIsArray "dstSubresource" VkImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCopy, dstSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "dstSubresource" VkImageCopy where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCopy, dstSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCopy, dstSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "dstSubresource" VkImageCopy where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCopy, dstSubresource}++instance {-# OVERLAPPING #-} HasField "dstOffset" VkImageCopy where+ type FieldType "dstOffset" VkImageCopy = VkOffset3D+ type FieldOptional "dstOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstOffset" VkImageCopy =+ #{offset VkImageCopy, dstOffset}+ type FieldIsArray "dstOffset" VkImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCopy, dstOffset}++instance {-# OVERLAPPING #-} CanReadField "dstOffset" VkImageCopy+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCopy, dstOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCopy, dstOffset}++instance {-# OVERLAPPING #-} CanWriteField "dstOffset" VkImageCopy+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCopy, dstOffset}++instance {-# OVERLAPPING #-} HasField "extent" VkImageCopy where+ type FieldType "extent" VkImageCopy = VkExtent3D+ type FieldOptional "extent" VkImageCopy = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extent" VkImageCopy =+ #{offset VkImageCopy, extent}+ type FieldIsArray "extent" VkImageCopy = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCopy, extent}++instance {-# OVERLAPPING #-} CanReadField "extent" VkImageCopy+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCopy, extent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCopy, extent}++instance {-# OVERLAPPING #-} CanWriteField "extent" VkImageCopy+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCopy, extent}++instance Show VkImageCopy where+ showsPrec d x+ = showString "VkImageCopy {" .+ showString "srcSubresource = " .+ showsPrec d (getField @"srcSubresource" x) .+ showString ", " .+ showString "srcOffset = " .+ showsPrec d (getField @"srcOffset" x) .+ showString ", " .+ showString "dstSubresource = " .+ showsPrec d (getField @"dstSubresource" x) .+ showString ", " .+ showString "dstOffset = " .+ showsPrec d (getField @"dstOffset" x) .+ showString ", " .+ showString "extent = " .+ showsPrec d (getField @"extent" x) . showChar '}'++-- | > typedef struct VkImageCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImageCreateFlags flags;+-- > VkImageType imageType;+-- > VkFormat format;+-- > VkExtent3D extent;+-- > uint32_t mipLevels;+-- > uint32_t arrayLayers;+-- > VkSampleCountFlagBits samples;+-- > VkImageTiling tiling;+-- > VkImageUsageFlags usage;+-- > VkSharingMode sharingMode;+-- > uint32_t queueFamilyIndexCount;+-- > const uint32_t* pQueueFamilyIndices;+-- > VkImageLayout initialLayout;+-- > } VkImageCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageCreateInfo VkImageCreateInfo registry at www.khronos.org>+data VkImageCreateInfo = VkImageCreateInfo## Addr## ByteArray##++instance Eq VkImageCreateInfo where+ (VkImageCreateInfo## a _) == x@(VkImageCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageCreateInfo where+ (VkImageCreateInfo## a _) `compare` x@(VkImageCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageCreateInfo where+ sizeOf ~_ = #{size VkImageCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageCreateInfo where+ unsafeAddr (VkImageCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageCreateInfo where+ type StructFields VkImageCreateInfo =+ '["sType", "pNext", "flags", "imageType", "format", "extent", -- ' closing tick for hsc2hs+ "mipLevels", "arrayLayers", "samples", "tiling", "usage",+ "sharingMode", "queueFamilyIndexCount", "pQueueFamilyIndices",+ "initialLayout"]+ type CUnionType VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkImageCreateInfo+ where+ type FieldType "sType" VkImageCreateInfo = VkStructureType+ type FieldOptional "sType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageCreateInfo =+ #{offset VkImageCreateInfo, sType}+ type FieldIsArray "sType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkImageCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkImageCreateInfo+ where+ type FieldType "pNext" VkImageCreateInfo = Ptr Void+ type FieldOptional "pNext" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageCreateInfo =+ #{offset VkImageCreateInfo, pNext}+ type FieldIsArray "pNext" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkImageCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkImageCreateInfo+ where+ type FieldType "flags" VkImageCreateInfo = VkImageCreateFlags+ type FieldOptional "flags" VkImageCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkImageCreateInfo =+ #{offset VkImageCreateInfo, flags}+ type FieldIsArray "flags" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, flags}++instance {-# OVERLAPPING #-} CanReadField "flags" VkImageCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "imageType" VkImageCreateInfo+ where+ type FieldType "imageType" VkImageCreateInfo = VkImageType+ type FieldOptional "imageType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageType" VkImageCreateInfo =+ #{offset VkImageCreateInfo, imageType}+ type FieldIsArray "imageType" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, imageType}++instance {-# OVERLAPPING #-}+ CanReadField "imageType" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, imageType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, imageType}++instance {-# OVERLAPPING #-}+ CanWriteField "imageType" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, imageType}++instance {-# OVERLAPPING #-} HasField "format" VkImageCreateInfo+ where+ type FieldType "format" VkImageCreateInfo = VkFormat+ type FieldOptional "format" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkImageCreateInfo =+ #{offset VkImageCreateInfo, format}+ type FieldIsArray "format" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, format}++instance {-# OVERLAPPING #-} HasField "extent" VkImageCreateInfo+ where+ type FieldType "extent" VkImageCreateInfo = VkExtent3D+ type FieldOptional "extent" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extent" VkImageCreateInfo =+ #{offset VkImageCreateInfo, extent}+ type FieldIsArray "extent" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, extent}++instance {-# OVERLAPPING #-}+ CanReadField "extent" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, extent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, extent}++instance {-# OVERLAPPING #-}+ CanWriteField "extent" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, extent}++instance {-# OVERLAPPING #-} HasField "mipLevels" VkImageCreateInfo+ where+ type FieldType "mipLevels" VkImageCreateInfo = Word32+ type FieldOptional "mipLevels" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mipLevels" VkImageCreateInfo =+ #{offset VkImageCreateInfo, mipLevels}+ type FieldIsArray "mipLevels" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, mipLevels}++instance {-# OVERLAPPING #-}+ CanReadField "mipLevels" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, mipLevels})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, mipLevels}++instance {-# OVERLAPPING #-}+ CanWriteField "mipLevels" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, mipLevels}++instance {-# OVERLAPPING #-}+ HasField "arrayLayers" VkImageCreateInfo where+ type FieldType "arrayLayers" VkImageCreateInfo = Word32+ type FieldOptional "arrayLayers" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "arrayLayers" VkImageCreateInfo =+ #{offset VkImageCreateInfo, arrayLayers}+ type FieldIsArray "arrayLayers" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, arrayLayers}++instance {-# OVERLAPPING #-}+ CanReadField "arrayLayers" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, arrayLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, arrayLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "arrayLayers" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, arrayLayers}++instance {-# OVERLAPPING #-} HasField "samples" VkImageCreateInfo+ where+ type FieldType "samples" VkImageCreateInfo = VkSampleCountFlagBits+ type FieldOptional "samples" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "samples" VkImageCreateInfo =+ #{offset VkImageCreateInfo, samples}+ type FieldIsArray "samples" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, samples}++instance {-# OVERLAPPING #-}+ CanReadField "samples" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, samples}++instance {-# OVERLAPPING #-}+ CanWriteField "samples" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, samples}++instance {-# OVERLAPPING #-} HasField "tiling" VkImageCreateInfo+ where+ type FieldType "tiling" VkImageCreateInfo = VkImageTiling+ type FieldOptional "tiling" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tiling" VkImageCreateInfo =+ #{offset VkImageCreateInfo, tiling}+ type FieldIsArray "tiling" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, tiling}++instance {-# OVERLAPPING #-}+ CanReadField "tiling" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, tiling})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, tiling}++instance {-# OVERLAPPING #-}+ CanWriteField "tiling" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, tiling}++instance {-# OVERLAPPING #-} HasField "usage" VkImageCreateInfo+ where+ type FieldType "usage" VkImageCreateInfo = VkImageUsageFlags+ type FieldOptional "usage" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "usage" VkImageCreateInfo =+ #{offset VkImageCreateInfo, usage}+ type FieldIsArray "usage" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, usage}++instance {-# OVERLAPPING #-} CanReadField "usage" VkImageCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, usage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, usage}++instance {-# OVERLAPPING #-}+ CanWriteField "usage" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, usage}++instance {-# OVERLAPPING #-}+ HasField "sharingMode" VkImageCreateInfo where+ type FieldType "sharingMode" VkImageCreateInfo = VkSharingMode+ type FieldOptional "sharingMode" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sharingMode" VkImageCreateInfo =+ #{offset VkImageCreateInfo, sharingMode}+ type FieldIsArray "sharingMode" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+ CanReadField "sharingMode" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, sharingMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+ CanWriteField "sharingMode" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, sharingMode}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyIndexCount" VkImageCreateInfo where+ type FieldType "queueFamilyIndexCount" VkImageCreateInfo = Word32+ type FieldOptional "queueFamilyIndexCount" VkImageCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyIndexCount" VkImageCreateInfo =+ #{offset VkImageCreateInfo, queueFamilyIndexCount}+ type FieldIsArray "queueFamilyIndexCount" VkImageCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyIndexCount" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, queueFamilyIndexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyIndexCount" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ HasField "pQueueFamilyIndices" VkImageCreateInfo where+ type FieldType "pQueueFamilyIndices" VkImageCreateInfo = Ptr Word32+ type FieldOptional "pQueueFamilyIndices" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pQueueFamilyIndices" VkImageCreateInfo =+ #{offset VkImageCreateInfo, pQueueFamilyIndices}+ type FieldIsArray "pQueueFamilyIndices" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pQueueFamilyIndices" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, pQueueFamilyIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pQueueFamilyIndices" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ HasField "initialLayout" VkImageCreateInfo where+ type FieldType "initialLayout" VkImageCreateInfo = VkImageLayout+ type FieldOptional "initialLayout" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "initialLayout" VkImageCreateInfo =+ #{offset VkImageCreateInfo, initialLayout}+ type FieldIsArray "initialLayout" VkImageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageCreateInfo, initialLayout}++instance {-# OVERLAPPING #-}+ CanReadField "initialLayout" VkImageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageCreateInfo, initialLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageCreateInfo, initialLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "initialLayout" VkImageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageCreateInfo, initialLayout}++instance Show VkImageCreateInfo where+ showsPrec d x+ = showString "VkImageCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "imageType = " .+ showsPrec d (getField @"imageType" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "extent = " .+ showsPrec d (getField @"extent" x) .+ showString ", " .+ showString "mipLevels = " .+ showsPrec d (getField @"mipLevels" x) .+ showString ", " .+ showString "arrayLayers = " .+ showsPrec d (getField @"arrayLayers" x) .+ showString ", " .+ showString "samples = " .+ showsPrec d (getField @"samples" x)+ .+ showString ", " .+ showString "tiling = " .+ showsPrec d+ (getField @"tiling" x)+ .+ showString ", " .+ showString "usage = " .+ showsPrec d+ (getField @"usage" x)+ .+ showString ", " .+ showString+ "sharingMode = "+ .+ showsPrec d+ (getField+ @"sharingMode"+ x)+ .+ showString ", "+ .+ showString+ "queueFamilyIndexCount = "+ .+ showsPrec d+ (getField+ @"queueFamilyIndexCount"+ x)+ .+ showString+ ", "+ .+ showString+ "pQueueFamilyIndices = "+ .+ showsPrec+ d+ (getField+ @"pQueueFamilyIndices"+ x)+ .+ showString+ ", "+ .+ showString+ "initialLayout = "+ .+ showsPrec+ d+ (getField+ @"initialLayout"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkImageFormatListCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t viewFormatCount;+-- > const VkFormat* pViewFormats;+-- > } VkImageFormatListCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR registry at www.khronos.org>+data VkImageFormatListCreateInfoKHR = VkImageFormatListCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkImageFormatListCreateInfoKHR where+ (VkImageFormatListCreateInfoKHR## a _) ==+ x@(VkImageFormatListCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageFormatListCreateInfoKHR where+ (VkImageFormatListCreateInfoKHR## a _) `compare`+ x@(VkImageFormatListCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageFormatListCreateInfoKHR where+ sizeOf ~_ = #{size VkImageFormatListCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImageFormatListCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageFormatListCreateInfoKHR where+ unsafeAddr (VkImageFormatListCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageFormatListCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageFormatListCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageFormatListCreateInfoKHR where+ type StructFields VkImageFormatListCreateInfoKHR =+ '["sType", "pNext", "viewFormatCount", "pViewFormats"] -- ' closing tick for hsc2hs+ type CUnionType VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageFormatListCreateInfoKHR =+ '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImageFormatListCreateInfoKHR where+ type FieldType "sType" VkImageFormatListCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageFormatListCreateInfoKHR =+ #{offset VkImageFormatListCreateInfoKHR, sType}+ type FieldIsArray "sType" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatListCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageFormatListCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageFormatListCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImageFormatListCreateInfoKHR where+ type FieldType "pNext" VkImageFormatListCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageFormatListCreateInfoKHR =+ #{offset VkImageFormatListCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkImageFormatListCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatListCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageFormatListCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageFormatListCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "viewFormatCount" VkImageFormatListCreateInfoKHR where+ type FieldType "viewFormatCount" VkImageFormatListCreateInfoKHR =+ Word32+ type FieldOptional "viewFormatCount" VkImageFormatListCreateInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "viewFormatCount" VkImageFormatListCreateInfoKHR =+ #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}+ type FieldIsArray "viewFormatCount" VkImageFormatListCreateInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++instance {-# OVERLAPPING #-}+ CanReadField "viewFormatCount" VkImageFormatListCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, viewFormatCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++instance {-# OVERLAPPING #-}+ CanWriteField "viewFormatCount" VkImageFormatListCreateInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, viewFormatCount}++instance {-# OVERLAPPING #-}+ HasField "pViewFormats" VkImageFormatListCreateInfoKHR where+ type FieldType "pViewFormats" VkImageFormatListCreateInfoKHR =+ Ptr VkFormat+ type FieldOptional "pViewFormats" VkImageFormatListCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pViewFormats" VkImageFormatListCreateInfoKHR =+ #{offset VkImageFormatListCreateInfoKHR, pViewFormats}+ type FieldIsArray "pViewFormats" VkImageFormatListCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++instance {-# OVERLAPPING #-}+ CanReadField "pViewFormats" VkImageFormatListCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatListCreateInfoKHR, pViewFormats})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewFormats" VkImageFormatListCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatListCreateInfoKHR, pViewFormats}++instance Show VkImageFormatListCreateInfoKHR where+ showsPrec d x+ = showString "VkImageFormatListCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "viewFormatCount = " .+ showsPrec d (getField @"viewFormatCount" x) .+ showString ", " .+ showString "pViewFormats = " .+ showsPrec d (getField @"pViewFormats" x) . showChar '}'++-- | > typedef struct VkImageFormatProperties {+-- > VkExtent3D maxExtent;+-- > uint32_t maxMipLevels;+-- > uint32_t maxArrayLayers;+-- > VkSampleCountFlags sampleCounts;+-- > VkDeviceSize maxResourceSize;+-- > } VkImageFormatProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatProperties VkImageFormatProperties registry at www.khronos.org>+data VkImageFormatProperties = VkImageFormatProperties## Addr##+ ByteArray##++instance Eq VkImageFormatProperties where+ (VkImageFormatProperties## a _) == x@(VkImageFormatProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageFormatProperties where+ (VkImageFormatProperties## a _) `compare`+ x@(VkImageFormatProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageFormatProperties where+ sizeOf ~_ = #{size VkImageFormatProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageFormatProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageFormatProperties where+ unsafeAddr (VkImageFormatProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageFormatProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageFormatProperties## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageFormatProperties where+ type StructFields VkImageFormatProperties =+ '["maxExtent", "maxMipLevels", "maxArrayLayers", "sampleCounts", -- ' closing tick for hsc2hs+ "maxResourceSize"]+ type CUnionType VkImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageFormatProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkImageFormatProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "maxExtent" VkImageFormatProperties where+ type FieldType "maxExtent" VkImageFormatProperties = VkExtent3D+ type FieldOptional "maxExtent" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxExtent" VkImageFormatProperties =+ #{offset VkImageFormatProperties, maxExtent}+ type FieldIsArray "maxExtent" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatProperties, maxExtent}++instance {-# OVERLAPPING #-}+ CanReadField "maxExtent" VkImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties, maxExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "maxExtent" VkImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties, maxExtent}++instance {-# OVERLAPPING #-}+ HasField "maxMipLevels" VkImageFormatProperties where+ type FieldType "maxMipLevels" VkImageFormatProperties = Word32+ type FieldOptional "maxMipLevels" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxMipLevels" VkImageFormatProperties =+ #{offset VkImageFormatProperties, maxMipLevels}+ type FieldIsArray "maxMipLevels" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatProperties, maxMipLevels}++instance {-# OVERLAPPING #-}+ CanReadField "maxMipLevels" VkImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxMipLevels})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties, maxMipLevels}++instance {-# OVERLAPPING #-}+ CanWriteField "maxMipLevels" VkImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties, maxMipLevels}++instance {-# OVERLAPPING #-}+ HasField "maxArrayLayers" VkImageFormatProperties where+ type FieldType "maxArrayLayers" VkImageFormatProperties = Word32+ type FieldOptional "maxArrayLayers" VkImageFormatProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxArrayLayers" VkImageFormatProperties =+ #{offset VkImageFormatProperties, maxArrayLayers}+ type FieldIsArray "maxArrayLayers" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatProperties, maxArrayLayers}++instance {-# OVERLAPPING #-}+ CanReadField "maxArrayLayers" VkImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxArrayLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties, maxArrayLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxArrayLayers" VkImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties, maxArrayLayers}++instance {-# OVERLAPPING #-}+ HasField "sampleCounts" VkImageFormatProperties where+ type FieldType "sampleCounts" VkImageFormatProperties =+ VkSampleCountFlags+ type FieldOptional "sampleCounts" VkImageFormatProperties = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sampleCounts" VkImageFormatProperties =+ #{offset VkImageFormatProperties, sampleCounts}+ type FieldIsArray "sampleCounts" VkImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatProperties, sampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "sampleCounts" VkImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, sampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties, sampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleCounts" VkImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties, sampleCounts}++instance {-# OVERLAPPING #-}+ HasField "maxResourceSize" VkImageFormatProperties where+ type FieldType "maxResourceSize" VkImageFormatProperties =+ VkDeviceSize+ type FieldOptional "maxResourceSize" VkImageFormatProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxResourceSize" VkImageFormatProperties =+ #{offset VkImageFormatProperties, maxResourceSize}+ type FieldIsArray "maxResourceSize" VkImageFormatProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatProperties, maxResourceSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxResourceSize" VkImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties, maxResourceSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties, maxResourceSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxResourceSize" VkImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties, maxResourceSize}++instance Show VkImageFormatProperties where+ showsPrec d x+ = showString "VkImageFormatProperties {" .+ showString "maxExtent = " .+ showsPrec d (getField @"maxExtent" x) .+ showString ", " .+ showString "maxMipLevels = " .+ showsPrec d (getField @"maxMipLevels" x) .+ showString ", " .+ showString "maxArrayLayers = " .+ showsPrec d (getField @"maxArrayLayers" x) .+ showString ", " .+ showString "sampleCounts = " .+ showsPrec d (getField @"sampleCounts" x) .+ showString ", " .+ showString "maxResourceSize = " .+ showsPrec d (getField @"maxResourceSize" x) . showChar '}'++-- | > typedef struct VkImageFormatProperties2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkImageFormatProperties imageFormatProperties;+-- > } VkImageFormatProperties2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageFormatProperties2 VkImageFormatProperties2 registry at www.khronos.org>+data VkImageFormatProperties2 = VkImageFormatProperties2## Addr##+ ByteArray##++instance Eq VkImageFormatProperties2 where+ (VkImageFormatProperties2## a _) ==+ x@(VkImageFormatProperties2## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageFormatProperties2 where+ (VkImageFormatProperties2## a _) `compare`+ x@(VkImageFormatProperties2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageFormatProperties2 where+ sizeOf ~_ = #{size VkImageFormatProperties2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageFormatProperties2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageFormatProperties2 where+ unsafeAddr (VkImageFormatProperties2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageFormatProperties2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageFormatProperties2## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageFormatProperties2 where+ type StructFields VkImageFormatProperties2 =+ '["sType", "pNext", "imageFormatProperties"] -- ' closing tick for hsc2hs+ type CUnionType VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageFormatProperties2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkImageFormatProperties2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImageFormatProperties2 where+ type FieldType "sType" VkImageFormatProperties2 = VkStructureType+ type FieldOptional "sType" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageFormatProperties2 =+ #{offset VkImageFormatProperties2, sType}+ type FieldIsArray "sType" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImageFormatProperties2 where+ type FieldType "pNext" VkImageFormatProperties2 = Ptr Void+ type FieldOptional "pNext" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageFormatProperties2 =+ #{offset VkImageFormatProperties2, pNext}+ type FieldIsArray "pNext" VkImageFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ HasField "imageFormatProperties" VkImageFormatProperties2 where+ type FieldType "imageFormatProperties" VkImageFormatProperties2 =+ VkImageFormatProperties+ type FieldOptional "imageFormatProperties" VkImageFormatProperties2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageFormatProperties" VkImageFormatProperties2 =+ #{offset VkImageFormatProperties2, imageFormatProperties}+ type FieldIsArray "imageFormatProperties" VkImageFormatProperties2+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageFormatProperties2, imageFormatProperties}++instance {-# OVERLAPPING #-}+ CanReadField "imageFormatProperties" VkImageFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageFormatProperties2, imageFormatProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageFormatProperties2, imageFormatProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "imageFormatProperties" VkImageFormatProperties2+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageFormatProperties2, imageFormatProperties}++instance Show VkImageFormatProperties2 where+ showsPrec d x+ = showString "VkImageFormatProperties2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "imageFormatProperties = " .+ showsPrec d (getField @"imageFormatProperties" x) . showChar '}'++-- | Alias for `VkImageFormatProperties2`+type VkImageFormatProperties2KHR = VkImageFormatProperties2++-- | > typedef struct VkImageMemoryBarrier {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkAccessFlags srcAccessMask;+-- > VkAccessFlags dstAccessMask;+-- > VkImageLayout oldLayout;+-- > VkImageLayout newLayout;+-- > uint32_t srcQueueFamilyIndex;+-- > uint32_t dstQueueFamilyIndex;+-- > VkImage image;+-- > VkImageSubresourceRange subresourceRange;+-- > } VkImageMemoryBarrier;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageMemoryBarrier VkImageMemoryBarrier registry at www.khronos.org>+data VkImageMemoryBarrier = VkImageMemoryBarrier## Addr## ByteArray##++instance Eq VkImageMemoryBarrier where+ (VkImageMemoryBarrier## a _) == x@(VkImageMemoryBarrier## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageMemoryBarrier where+ (VkImageMemoryBarrier## a _) `compare` x@(VkImageMemoryBarrier## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageMemoryBarrier where+ sizeOf ~_ = #{size VkImageMemoryBarrier}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageMemoryBarrier}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageMemoryBarrier where+ unsafeAddr (VkImageMemoryBarrier## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageMemoryBarrier## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageMemoryBarrier## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageMemoryBarrier where+ type StructFields VkImageMemoryBarrier =+ '["sType", "pNext", "srcAccessMask", "dstAccessMask", "oldLayout", -- ' closing tick for hsc2hs+ "newLayout", "srcQueueFamilyIndex", "dstQueueFamilyIndex", "image",+ "subresourceRange"]+ type CUnionType VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageMemoryBarrier = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkImageMemoryBarrier+ where+ type FieldType "sType" VkImageMemoryBarrier = VkStructureType+ type FieldOptional "sType" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, sType}+ type FieldIsArray "sType" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageMemoryBarrier, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkImageMemoryBarrier+ where+ type FieldType "pNext" VkImageMemoryBarrier = Ptr Void+ type FieldOptional "pNext" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, pNext}+ type FieldIsArray "pNext" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ HasField "srcAccessMask" VkImageMemoryBarrier where+ type FieldType "srcAccessMask" VkImageMemoryBarrier = VkAccessFlags+ type FieldOptional "srcAccessMask" VkImageMemoryBarrier = 'True -- ' closing tick for hsc2hs+ type FieldOffset "srcAccessMask" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, srcAccessMask}+ type FieldIsArray "srcAccessMask" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "srcAccessMask" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, srcAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "srcAccessMask" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ HasField "dstAccessMask" VkImageMemoryBarrier where+ type FieldType "dstAccessMask" VkImageMemoryBarrier = VkAccessFlags+ type FieldOptional "dstAccessMask" VkImageMemoryBarrier = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dstAccessMask" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, dstAccessMask}+ type FieldIsArray "dstAccessMask" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "dstAccessMask" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, dstAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "dstAccessMask" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ HasField "oldLayout" VkImageMemoryBarrier where+ type FieldType "oldLayout" VkImageMemoryBarrier = VkImageLayout+ type FieldOptional "oldLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "oldLayout" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, oldLayout}+ type FieldIsArray "oldLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageMemoryBarrier, oldLayout}++instance {-# OVERLAPPING #-}+ CanReadField "oldLayout" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, oldLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, oldLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "oldLayout" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, oldLayout}++instance {-# OVERLAPPING #-}+ HasField "newLayout" VkImageMemoryBarrier where+ type FieldType "newLayout" VkImageMemoryBarrier = VkImageLayout+ type FieldOptional "newLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "newLayout" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, newLayout}+ type FieldIsArray "newLayout" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageMemoryBarrier, newLayout}++instance {-# OVERLAPPING #-}+ CanReadField "newLayout" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, newLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, newLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "newLayout" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, newLayout}++instance {-# OVERLAPPING #-}+ HasField "srcQueueFamilyIndex" VkImageMemoryBarrier where+ type FieldType "srcQueueFamilyIndex" VkImageMemoryBarrier = Word32+ type FieldOptional "srcQueueFamilyIndex" VkImageMemoryBarrier =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcQueueFamilyIndex" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}+ type FieldIsArray "srcQueueFamilyIndex" VkImageMemoryBarrier =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "srcQueueFamilyIndex" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, srcQueueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "srcQueueFamilyIndex" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, srcQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ HasField "dstQueueFamilyIndex" VkImageMemoryBarrier where+ type FieldType "dstQueueFamilyIndex" VkImageMemoryBarrier = Word32+ type FieldOptional "dstQueueFamilyIndex" VkImageMemoryBarrier =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstQueueFamilyIndex" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}+ type FieldIsArray "dstQueueFamilyIndex" VkImageMemoryBarrier =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanReadField "dstQueueFamilyIndex" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, dstQueueFamilyIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "dstQueueFamilyIndex" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, dstQueueFamilyIndex}++instance {-# OVERLAPPING #-} HasField "image" VkImageMemoryBarrier+ where+ type FieldType "image" VkImageMemoryBarrier = VkImage+ type FieldOptional "image" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, image}+ type FieldIsArray "image" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageMemoryBarrier, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, image}++instance {-# OVERLAPPING #-}+ HasField "subresourceRange" VkImageMemoryBarrier where+ type FieldType "subresourceRange" VkImageMemoryBarrier =+ VkImageSubresourceRange+ type FieldOptional "subresourceRange" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subresourceRange" VkImageMemoryBarrier =+ #{offset VkImageMemoryBarrier, subresourceRange}+ type FieldIsArray "subresourceRange" VkImageMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryBarrier, subresourceRange}++instance {-# OVERLAPPING #-}+ CanReadField "subresourceRange" VkImageMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryBarrier, subresourceRange})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryBarrier, subresourceRange}++instance {-# OVERLAPPING #-}+ CanWriteField "subresourceRange" VkImageMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryBarrier, subresourceRange}++instance Show VkImageMemoryBarrier where+ showsPrec d x+ = showString "VkImageMemoryBarrier {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "srcAccessMask = " .+ showsPrec d (getField @"srcAccessMask" x) .+ showString ", " .+ showString "dstAccessMask = " .+ showsPrec d (getField @"dstAccessMask" x) .+ showString ", " .+ showString "oldLayout = " .+ showsPrec d (getField @"oldLayout" x) .+ showString ", " .+ showString "newLayout = " .+ showsPrec d (getField @"newLayout" x) .+ showString ", " .+ showString "srcQueueFamilyIndex = " .+ showsPrec d (getField @"srcQueueFamilyIndex" x)+ .+ showString ", " .+ showString "dstQueueFamilyIndex = " .+ showsPrec d+ (getField @"dstQueueFamilyIndex" x)+ .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "subresourceRange = "+ .+ showsPrec d+ (getField+ @"subresourceRange"+ x)+ . showChar '}'++-- | > typedef struct VkImageMemoryRequirementsInfo2 {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImage image;+-- > } VkImageMemoryRequirementsInfo2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2 registry at www.khronos.org>+data VkImageMemoryRequirementsInfo2 = VkImageMemoryRequirementsInfo2## Addr##+ ByteArray##++instance Eq VkImageMemoryRequirementsInfo2 where+ (VkImageMemoryRequirementsInfo2## a _) ==+ x@(VkImageMemoryRequirementsInfo2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageMemoryRequirementsInfo2 where+ (VkImageMemoryRequirementsInfo2## a _) `compare`+ x@(VkImageMemoryRequirementsInfo2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageMemoryRequirementsInfo2 where+ sizeOf ~_ = #{size VkImageMemoryRequirementsInfo2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImageMemoryRequirementsInfo2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageMemoryRequirementsInfo2 where+ unsafeAddr (VkImageMemoryRequirementsInfo2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageMemoryRequirementsInfo2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageMemoryRequirementsInfo2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageMemoryRequirementsInfo2 where+ type StructFields VkImageMemoryRequirementsInfo2 =+ '["sType", "pNext", "image"] -- ' closing tick for hsc2hs+ type CUnionType VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImageMemoryRequirementsInfo2 where+ type FieldType "sType" VkImageMemoryRequirementsInfo2 =+ VkStructureType+ type FieldOptional "sType" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageMemoryRequirementsInfo2 =+ #{offset VkImageMemoryRequirementsInfo2, sType}+ type FieldIsArray "sType" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImageMemoryRequirementsInfo2 where+ type FieldType "pNext" VkImageMemoryRequirementsInfo2 = Ptr Void+ type FieldOptional "pNext" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageMemoryRequirementsInfo2 =+ #{offset VkImageMemoryRequirementsInfo2, pNext}+ type FieldIsArray "pNext" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ HasField "image" VkImageMemoryRequirementsInfo2 where+ type FieldType "image" VkImageMemoryRequirementsInfo2 = VkImage+ type FieldOptional "image" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkImageMemoryRequirementsInfo2 =+ #{offset VkImageMemoryRequirementsInfo2, image}+ type FieldIsArray "image" VkImageMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageMemoryRequirementsInfo2, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkImageMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageMemoryRequirementsInfo2, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageMemoryRequirementsInfo2, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkImageMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageMemoryRequirementsInfo2, image}++instance Show VkImageMemoryRequirementsInfo2 where+ showsPrec d x+ = showString "VkImageMemoryRequirementsInfo2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) . showChar '}'++-- | Alias for `VkImageMemoryRequirementsInfo2`+type VkImageMemoryRequirementsInfo2KHR =+ VkImageMemoryRequirementsInfo2++-- | > typedef struct VkImagePlaneMemoryRequirementsInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImageAspectFlagBits planeAspect;+-- > } VkImagePlaneMemoryRequirementsInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org>+data VkImagePlaneMemoryRequirementsInfo = VkImagePlaneMemoryRequirementsInfo## Addr##+ ByteArray##++instance Eq VkImagePlaneMemoryRequirementsInfo where+ (VkImagePlaneMemoryRequirementsInfo## a _) ==+ x@(VkImagePlaneMemoryRequirementsInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImagePlaneMemoryRequirementsInfo where+ (VkImagePlaneMemoryRequirementsInfo## a _) `compare`+ x@(VkImagePlaneMemoryRequirementsInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImagePlaneMemoryRequirementsInfo where+ sizeOf ~_ = #{size VkImagePlaneMemoryRequirementsInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImagePlaneMemoryRequirementsInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImagePlaneMemoryRequirementsInfo where+ unsafeAddr (VkImagePlaneMemoryRequirementsInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImagePlaneMemoryRequirementsInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImagePlaneMemoryRequirementsInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImagePlaneMemoryRequirementsInfo where+ type StructFields VkImagePlaneMemoryRequirementsInfo =+ '["sType", "pNext", "planeAspect"] -- ' closing tick for hsc2hs+ type CUnionType VkImagePlaneMemoryRequirementsInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImagePlaneMemoryRequirementsInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImagePlaneMemoryRequirementsInfo =+ '[VkImageMemoryRequirementsInfo2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImagePlaneMemoryRequirementsInfo where+ type FieldType "sType" VkImagePlaneMemoryRequirementsInfo =+ VkStructureType+ type FieldOptional "sType" VkImagePlaneMemoryRequirementsInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImagePlaneMemoryRequirementsInfo =+ #{offset VkImagePlaneMemoryRequirementsInfo, sType}+ type FieldIsArray "sType" VkImagePlaneMemoryRequirementsInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImagePlaneMemoryRequirementsInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImagePlaneMemoryRequirementsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImagePlaneMemoryRequirementsInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImagePlaneMemoryRequirementsInfo where+ type FieldType "pNext" VkImagePlaneMemoryRequirementsInfo =+ Ptr Void+ type FieldOptional "pNext" VkImagePlaneMemoryRequirementsInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImagePlaneMemoryRequirementsInfo =+ #{offset VkImagePlaneMemoryRequirementsInfo, pNext}+ type FieldIsArray "pNext" VkImagePlaneMemoryRequirementsInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImagePlaneMemoryRequirementsInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImagePlaneMemoryRequirementsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImagePlaneMemoryRequirementsInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "planeAspect" VkImagePlaneMemoryRequirementsInfo where+ type FieldType "planeAspect" VkImagePlaneMemoryRequirementsInfo =+ VkImageAspectFlagBits+ type FieldOptional "planeAspect" VkImagePlaneMemoryRequirementsInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "planeAspect" VkImagePlaneMemoryRequirementsInfo =+ #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}+ type FieldIsArray "planeAspect" VkImagePlaneMemoryRequirementsInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}++instance {-# OVERLAPPING #-}+ CanReadField "planeAspect" VkImagePlaneMemoryRequirementsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}++instance {-# OVERLAPPING #-}+ CanWriteField "planeAspect" VkImagePlaneMemoryRequirementsInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImagePlaneMemoryRequirementsInfo, planeAspect}++instance Show VkImagePlaneMemoryRequirementsInfo where+ showsPrec d x+ = showString "VkImagePlaneMemoryRequirementsInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "planeAspect = " .+ showsPrec d (getField @"planeAspect" x) . showChar '}'++-- | Alias for `VkImagePlaneMemoryRequirementsInfo`+type VkImagePlaneMemoryRequirementsInfoKHR =+ VkImagePlaneMemoryRequirementsInfo++-- | > typedef struct VkImageResolve {+-- > VkImageSubresourceLayers srcSubresource;+-- > VkOffset3D srcOffset;+-- > VkImageSubresourceLayers dstSubresource;+-- > VkOffset3D dstOffset;+-- > VkExtent3D extent;+-- > } VkImageResolve;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageResolve VkImageResolve registry at www.khronos.org>+data VkImageResolve = VkImageResolve## Addr## ByteArray##++instance Eq VkImageResolve where+ (VkImageResolve## a _) == x@(VkImageResolve## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageResolve where+ (VkImageResolve## a _) `compare` x@(VkImageResolve## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageResolve where+ sizeOf ~_ = #{size VkImageResolve}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageResolve}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageResolve where+ unsafeAddr (VkImageResolve## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageResolve## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageResolve## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageResolve where+ type StructFields VkImageResolve =+ '["srcSubresource", "srcOffset", "dstSubresource", "dstOffset", -- ' closing tick for hsc2hs+ "extent"]+ type CUnionType VkImageResolve = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageResolve = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageResolve = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "srcSubresource" VkImageResolve where+ type FieldType "srcSubresource" VkImageResolve =+ VkImageSubresourceLayers+ type FieldOptional "srcSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcSubresource" VkImageResolve =+ #{offset VkImageResolve, srcSubresource}+ type FieldIsArray "srcSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageResolve, srcSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "srcSubresource" VkImageResolve where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageResolve, srcSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageResolve, srcSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "srcSubresource" VkImageResolve where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageResolve, srcSubresource}++instance {-# OVERLAPPING #-} HasField "srcOffset" VkImageResolve+ where+ type FieldType "srcOffset" VkImageResolve = VkOffset3D+ type FieldOptional "srcOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcOffset" VkImageResolve =+ #{offset VkImageResolve, srcOffset}+ type FieldIsArray "srcOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageResolve, srcOffset}++instance {-# OVERLAPPING #-}+ CanReadField "srcOffset" VkImageResolve where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageResolve, srcOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageResolve, srcOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "srcOffset" VkImageResolve where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageResolve, srcOffset}++instance {-# OVERLAPPING #-}+ HasField "dstSubresource" VkImageResolve where+ type FieldType "dstSubresource" VkImageResolve =+ VkImageSubresourceLayers+ type FieldOptional "dstSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstSubresource" VkImageResolve =+ #{offset VkImageResolve, dstSubresource}+ type FieldIsArray "dstSubresource" VkImageResolve = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageResolve, dstSubresource}++instance {-# OVERLAPPING #-}+ CanReadField "dstSubresource" VkImageResolve where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageResolve, dstSubresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageResolve, dstSubresource}++instance {-# OVERLAPPING #-}+ CanWriteField "dstSubresource" VkImageResolve where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageResolve, dstSubresource}++instance {-# OVERLAPPING #-} HasField "dstOffset" VkImageResolve+ where+ type FieldType "dstOffset" VkImageResolve = VkOffset3D+ type FieldOptional "dstOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstOffset" VkImageResolve =+ #{offset VkImageResolve, dstOffset}+ type FieldIsArray "dstOffset" VkImageResolve = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageResolve, dstOffset}++instance {-# OVERLAPPING #-}+ CanReadField "dstOffset" VkImageResolve where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageResolve, dstOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageResolve, dstOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "dstOffset" VkImageResolve where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageResolve, dstOffset}++instance {-# OVERLAPPING #-} HasField "extent" VkImageResolve where+ type FieldType "extent" VkImageResolve = VkExtent3D+ type FieldOptional "extent" VkImageResolve = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extent" VkImageResolve =+ #{offset VkImageResolve, extent}+ type FieldIsArray "extent" VkImageResolve = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageResolve, extent}++instance {-# OVERLAPPING #-} CanReadField "extent" VkImageResolve+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageResolve, extent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageResolve, extent}++instance {-# OVERLAPPING #-} CanWriteField "extent" VkImageResolve+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageResolve, extent}++instance Show VkImageResolve where+ showsPrec d x+ = showString "VkImageResolve {" .+ showString "srcSubresource = " .+ showsPrec d (getField @"srcSubresource" x) .+ showString ", " .+ showString "srcOffset = " .+ showsPrec d (getField @"srcOffset" x) .+ showString ", " .+ showString "dstSubresource = " .+ showsPrec d (getField @"dstSubresource" x) .+ showString ", " .+ showString "dstOffset = " .+ showsPrec d (getField @"dstOffset" x) .+ showString ", " .+ showString "extent = " .+ showsPrec d (getField @"extent" x) . showChar '}'++-- | > typedef struct VkImageSparseMemoryRequirementsInfo2 {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImage image;+-- > } VkImageSparseMemoryRequirementsInfo2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2 registry at www.khronos.org>+data VkImageSparseMemoryRequirementsInfo2 = VkImageSparseMemoryRequirementsInfo2## Addr##+ ByteArray##++instance Eq VkImageSparseMemoryRequirementsInfo2 where+ (VkImageSparseMemoryRequirementsInfo2## a _) ==+ x@(VkImageSparseMemoryRequirementsInfo2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageSparseMemoryRequirementsInfo2 where+ (VkImageSparseMemoryRequirementsInfo2## a _) `compare`+ x@(VkImageSparseMemoryRequirementsInfo2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageSparseMemoryRequirementsInfo2 where+ sizeOf ~_+ = #{size VkImageSparseMemoryRequirementsInfo2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImageSparseMemoryRequirementsInfo2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSparseMemoryRequirementsInfo2+ where+ unsafeAddr (VkImageSparseMemoryRequirementsInfo2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageSparseMemoryRequirementsInfo2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageSparseMemoryRequirementsInfo2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSparseMemoryRequirementsInfo2 where+ type StructFields VkImageSparseMemoryRequirementsInfo2 =+ '["sType", "pNext", "image"] -- ' closing tick for hsc2hs+ type CUnionType VkImageSparseMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageSparseMemoryRequirementsInfo2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageSparseMemoryRequirementsInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImageSparseMemoryRequirementsInfo2 where+ type FieldType "sType" VkImageSparseMemoryRequirementsInfo2 =+ VkStructureType+ type FieldOptional "sType" VkImageSparseMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageSparseMemoryRequirementsInfo2 =+ #{offset VkImageSparseMemoryRequirementsInfo2, sType}+ type FieldIsArray "sType" VkImageSparseMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSparseMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageSparseMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageSparseMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImageSparseMemoryRequirementsInfo2 where+ type FieldType "pNext" VkImageSparseMemoryRequirementsInfo2 =+ Ptr Void+ type FieldOptional "pNext" VkImageSparseMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageSparseMemoryRequirementsInfo2 =+ #{offset VkImageSparseMemoryRequirementsInfo2, pNext}+ type FieldIsArray "pNext" VkImageSparseMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSparseMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageSparseMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageSparseMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, pNext}++instance {-# OVERLAPPING #-}+ HasField "image" VkImageSparseMemoryRequirementsInfo2 where+ type FieldType "image" VkImageSparseMemoryRequirementsInfo2 =+ VkImage+ type FieldOptional "image" VkImageSparseMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkImageSparseMemoryRequirementsInfo2 =+ #{offset VkImageSparseMemoryRequirementsInfo2, image}+ type FieldIsArray "image" VkImageSparseMemoryRequirementsInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSparseMemoryRequirementsInfo2, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkImageSparseMemoryRequirementsInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSparseMemoryRequirementsInfo2, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkImageSparseMemoryRequirementsInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSparseMemoryRequirementsInfo2, image}++instance Show VkImageSparseMemoryRequirementsInfo2 where+ showsPrec d x+ = showString "VkImageSparseMemoryRequirementsInfo2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) . showChar '}'++-- | Alias for `VkImageSparseMemoryRequirementsInfo2`+type VkImageSparseMemoryRequirementsInfo2KHR =+ VkImageSparseMemoryRequirementsInfo2++-- | > typedef struct VkImageSubresource {+-- > VkImageAspectFlags aspectMask;+-- > uint32_t mipLevel;+-- > uint32_t arrayLayer;+-- > } VkImageSubresource;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresource VkImageSubresource registry at www.khronos.org>+data VkImageSubresource = VkImageSubresource## Addr## ByteArray##++instance Eq VkImageSubresource where+ (VkImageSubresource## a _) == x@(VkImageSubresource## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageSubresource where+ (VkImageSubresource## a _) `compare` x@(VkImageSubresource## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageSubresource where+ sizeOf ~_ = #{size VkImageSubresource}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageSubresource}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSubresource where+ unsafeAddr (VkImageSubresource## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageSubresource## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageSubresource## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSubresource where+ type StructFields VkImageSubresource =+ '["aspectMask", "mipLevel", "arrayLayer"] -- ' closing tick for hsc2hs+ type CUnionType VkImageSubresource = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageSubresource = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageSubresource = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "aspectMask" VkImageSubresource where+ type FieldType "aspectMask" VkImageSubresource = VkImageAspectFlags+ type FieldOptional "aspectMask" VkImageSubresource = 'False -- ' closing tick for hsc2hs+ type FieldOffset "aspectMask" VkImageSubresource =+ #{offset VkImageSubresource, aspectMask}+ type FieldIsArray "aspectMask" VkImageSubresource = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageSubresource, aspectMask}++instance {-# OVERLAPPING #-}+ CanReadField "aspectMask" VkImageSubresource where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresource, aspectMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresource, aspectMask}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectMask" VkImageSubresource where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresource, aspectMask}++instance {-# OVERLAPPING #-} HasField "mipLevel" VkImageSubresource+ where+ type FieldType "mipLevel" VkImageSubresource = Word32+ type FieldOptional "mipLevel" VkImageSubresource = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mipLevel" VkImageSubresource =+ #{offset VkImageSubresource, mipLevel}+ type FieldIsArray "mipLevel" VkImageSubresource = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageSubresource, mipLevel}++instance {-# OVERLAPPING #-}+ CanReadField "mipLevel" VkImageSubresource where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresource, mipLevel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresource, mipLevel}++instance {-# OVERLAPPING #-}+ CanWriteField "mipLevel" VkImageSubresource where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresource, mipLevel}++instance {-# OVERLAPPING #-}+ HasField "arrayLayer" VkImageSubresource where+ type FieldType "arrayLayer" VkImageSubresource = Word32+ type FieldOptional "arrayLayer" VkImageSubresource = 'False -- ' closing tick for hsc2hs+ type FieldOffset "arrayLayer" VkImageSubresource =+ #{offset VkImageSubresource, arrayLayer}+ type FieldIsArray "arrayLayer" VkImageSubresource = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageSubresource, arrayLayer}++instance {-# OVERLAPPING #-}+ CanReadField "arrayLayer" VkImageSubresource where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresource, arrayLayer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresource, arrayLayer}++instance {-# OVERLAPPING #-}+ CanWriteField "arrayLayer" VkImageSubresource where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresource, arrayLayer}++instance Show VkImageSubresource where+ showsPrec d x+ = showString "VkImageSubresource {" .+ showString "aspectMask = " .+ showsPrec d (getField @"aspectMask" x) .+ showString ", " .+ showString "mipLevel = " .+ showsPrec d (getField @"mipLevel" x) .+ showString ", " .+ showString "arrayLayer = " .+ showsPrec d (getField @"arrayLayer" x) . showChar '}'++-- | > typedef struct VkImageSubresourceLayers {+-- > VkImageAspectFlags aspectMask;+-- > uint32_t mipLevel;+-- > uint32_t baseArrayLayer;+-- > uint32_t layerCount;+-- > } VkImageSubresourceLayers;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresourceLayers VkImageSubresourceLayers registry at www.khronos.org>+data VkImageSubresourceLayers = VkImageSubresourceLayers## Addr##+ ByteArray##++instance Eq VkImageSubresourceLayers where+ (VkImageSubresourceLayers## a _) ==+ x@(VkImageSubresourceLayers## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageSubresourceLayers where+ (VkImageSubresourceLayers## a _) `compare`+ x@(VkImageSubresourceLayers## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageSubresourceLayers where+ sizeOf ~_ = #{size VkImageSubresourceLayers}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageSubresourceLayers}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSubresourceLayers where+ unsafeAddr (VkImageSubresourceLayers## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageSubresourceLayers## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageSubresourceLayers## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSubresourceLayers where+ type StructFields VkImageSubresourceLayers =+ '["aspectMask", "mipLevel", "baseArrayLayer", "layerCount"] -- ' closing tick for hsc2hs+ type CUnionType VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageSubresourceLayers = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "aspectMask" VkImageSubresourceLayers where+ type FieldType "aspectMask" VkImageSubresourceLayers =+ VkImageAspectFlags+ type FieldOptional "aspectMask" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+ type FieldOffset "aspectMask" VkImageSubresourceLayers =+ #{offset VkImageSubresourceLayers, aspectMask}+ type FieldIsArray "aspectMask" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceLayers, aspectMask}++instance {-# OVERLAPPING #-}+ CanReadField "aspectMask" VkImageSubresourceLayers where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, aspectMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceLayers, aspectMask}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectMask" VkImageSubresourceLayers where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceLayers, aspectMask}++instance {-# OVERLAPPING #-}+ HasField "mipLevel" VkImageSubresourceLayers where+ type FieldType "mipLevel" VkImageSubresourceLayers = Word32+ type FieldOptional "mipLevel" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mipLevel" VkImageSubresourceLayers =+ #{offset VkImageSubresourceLayers, mipLevel}+ type FieldIsArray "mipLevel" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceLayers, mipLevel}++instance {-# OVERLAPPING #-}+ CanReadField "mipLevel" VkImageSubresourceLayers where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, mipLevel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceLayers, mipLevel}++instance {-# OVERLAPPING #-}+ CanWriteField "mipLevel" VkImageSubresourceLayers where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceLayers, mipLevel}++instance {-# OVERLAPPING #-}+ HasField "baseArrayLayer" VkImageSubresourceLayers where+ type FieldType "baseArrayLayer" VkImageSubresourceLayers = Word32+ type FieldOptional "baseArrayLayer" VkImageSubresourceLayers =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "baseArrayLayer" VkImageSubresourceLayers =+ #{offset VkImageSubresourceLayers, baseArrayLayer}+ type FieldIsArray "baseArrayLayer" VkImageSubresourceLayers =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceLayers, baseArrayLayer}++instance {-# OVERLAPPING #-}+ CanReadField "baseArrayLayer" VkImageSubresourceLayers where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, baseArrayLayer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceLayers, baseArrayLayer}++instance {-# OVERLAPPING #-}+ CanWriteField "baseArrayLayer" VkImageSubresourceLayers where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceLayers, baseArrayLayer}++instance {-# OVERLAPPING #-}+ HasField "layerCount" VkImageSubresourceLayers where+ type FieldType "layerCount" VkImageSubresourceLayers = Word32+ type FieldOptional "layerCount" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layerCount" VkImageSubresourceLayers =+ #{offset VkImageSubresourceLayers, layerCount}+ type FieldIsArray "layerCount" VkImageSubresourceLayers = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceLayers, layerCount}++instance {-# OVERLAPPING #-}+ CanReadField "layerCount" VkImageSubresourceLayers where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceLayers, layerCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceLayers, layerCount}++instance {-# OVERLAPPING #-}+ CanWriteField "layerCount" VkImageSubresourceLayers where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceLayers, layerCount}++instance Show VkImageSubresourceLayers where+ showsPrec d x+ = showString "VkImageSubresourceLayers {" .+ showString "aspectMask = " .+ showsPrec d (getField @"aspectMask" x) .+ showString ", " .+ showString "mipLevel = " .+ showsPrec d (getField @"mipLevel" x) .+ showString ", " .+ showString "baseArrayLayer = " .+ showsPrec d (getField @"baseArrayLayer" x) .+ showString ", " .+ showString "layerCount = " .+ showsPrec d (getField @"layerCount" x) . showChar '}'++-- | > typedef struct VkImageSubresourceRange {+-- > VkImageAspectFlags aspectMask;+-- > uint32_t baseMipLevel;+-- > uint32_t levelCount;+-- > uint32_t baseArrayLayer;+-- > uint32_t layerCount;+-- > } VkImageSubresourceRange;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSubresourceRange VkImageSubresourceRange registry at www.khronos.org>+data VkImageSubresourceRange = VkImageSubresourceRange## Addr##+ ByteArray##++instance Eq VkImageSubresourceRange where+ (VkImageSubresourceRange## a _) == x@(VkImageSubresourceRange## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageSubresourceRange where+ (VkImageSubresourceRange## a _) `compare`+ x@(VkImageSubresourceRange## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageSubresourceRange where+ sizeOf ~_ = #{size VkImageSubresourceRange}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageSubresourceRange}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSubresourceRange where+ unsafeAddr (VkImageSubresourceRange## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageSubresourceRange## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageSubresourceRange## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSubresourceRange where+ type StructFields VkImageSubresourceRange =+ '["aspectMask", "baseMipLevel", "levelCount", "baseArrayLayer", -- ' closing tick for hsc2hs+ "layerCount"]+ type CUnionType VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageSubresourceRange = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "aspectMask" VkImageSubresourceRange where+ type FieldType "aspectMask" VkImageSubresourceRange =+ VkImageAspectFlags+ type FieldOptional "aspectMask" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "aspectMask" VkImageSubresourceRange =+ #{offset VkImageSubresourceRange, aspectMask}+ type FieldIsArray "aspectMask" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceRange, aspectMask}++instance {-# OVERLAPPING #-}+ CanReadField "aspectMask" VkImageSubresourceRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, aspectMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceRange, aspectMask}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectMask" VkImageSubresourceRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceRange, aspectMask}++instance {-# OVERLAPPING #-}+ HasField "baseMipLevel" VkImageSubresourceRange where+ type FieldType "baseMipLevel" VkImageSubresourceRange = Word32+ type FieldOptional "baseMipLevel" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "baseMipLevel" VkImageSubresourceRange =+ #{offset VkImageSubresourceRange, baseMipLevel}+ type FieldIsArray "baseMipLevel" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceRange, baseMipLevel}++instance {-# OVERLAPPING #-}+ CanReadField "baseMipLevel" VkImageSubresourceRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, baseMipLevel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceRange, baseMipLevel}++instance {-# OVERLAPPING #-}+ CanWriteField "baseMipLevel" VkImageSubresourceRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceRange, baseMipLevel}++instance {-# OVERLAPPING #-}+ HasField "levelCount" VkImageSubresourceRange where+ type FieldType "levelCount" VkImageSubresourceRange = Word32+ type FieldOptional "levelCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "levelCount" VkImageSubresourceRange =+ #{offset VkImageSubresourceRange, levelCount}+ type FieldIsArray "levelCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceRange, levelCount}++instance {-# OVERLAPPING #-}+ CanReadField "levelCount" VkImageSubresourceRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, levelCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceRange, levelCount}++instance {-# OVERLAPPING #-}+ CanWriteField "levelCount" VkImageSubresourceRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceRange, levelCount}++instance {-# OVERLAPPING #-}+ HasField "baseArrayLayer" VkImageSubresourceRange where+ type FieldType "baseArrayLayer" VkImageSubresourceRange = Word32+ type FieldOptional "baseArrayLayer" VkImageSubresourceRange =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "baseArrayLayer" VkImageSubresourceRange =+ #{offset VkImageSubresourceRange, baseArrayLayer}+ type FieldIsArray "baseArrayLayer" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceRange, baseArrayLayer}++instance {-# OVERLAPPING #-}+ CanReadField "baseArrayLayer" VkImageSubresourceRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, baseArrayLayer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceRange, baseArrayLayer}++instance {-# OVERLAPPING #-}+ CanWriteField "baseArrayLayer" VkImageSubresourceRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceRange, baseArrayLayer}++instance {-# OVERLAPPING #-}+ HasField "layerCount" VkImageSubresourceRange where+ type FieldType "layerCount" VkImageSubresourceRange = Word32+ type FieldOptional "layerCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layerCount" VkImageSubresourceRange =+ #{offset VkImageSubresourceRange, layerCount}+ type FieldIsArray "layerCount" VkImageSubresourceRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSubresourceRange, layerCount}++instance {-# OVERLAPPING #-}+ CanReadField "layerCount" VkImageSubresourceRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSubresourceRange, layerCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSubresourceRange, layerCount}++instance {-# OVERLAPPING #-}+ CanWriteField "layerCount" VkImageSubresourceRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSubresourceRange, layerCount}++instance Show VkImageSubresourceRange where+ showsPrec d x+ = showString "VkImageSubresourceRange {" .+ showString "aspectMask = " .+ showsPrec d (getField @"aspectMask" x) .+ showString ", " .+ showString "baseMipLevel = " .+ showsPrec d (getField @"baseMipLevel" x) .+ showString ", " .+ showString "levelCount = " .+ showsPrec d (getField @"levelCount" x) .+ showString ", " .+ showString "baseArrayLayer = " .+ showsPrec d (getField @"baseArrayLayer" x) .+ showString ", " .+ showString "layerCount = " .+ showsPrec d (getField @"layerCount" x) . showChar '}'++-- | > typedef struct VkImageSwapchainCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSwapchainKHR swapchain;+-- > } VkImageSwapchainCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR registry at www.khronos.org>+data VkImageSwapchainCreateInfoKHR = VkImageSwapchainCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkImageSwapchainCreateInfoKHR where+ (VkImageSwapchainCreateInfoKHR## a _) ==+ x@(VkImageSwapchainCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageSwapchainCreateInfoKHR where+ (VkImageSwapchainCreateInfoKHR## a _) `compare`+ x@(VkImageSwapchainCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageSwapchainCreateInfoKHR where+ sizeOf ~_ = #{size VkImageSwapchainCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImageSwapchainCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageSwapchainCreateInfoKHR where+ unsafeAddr (VkImageSwapchainCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageSwapchainCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageSwapchainCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageSwapchainCreateInfoKHR where+ type StructFields VkImageSwapchainCreateInfoKHR =+ '["sType", "pNext", "swapchain"] -- ' closing tick for hsc2hs+ type CUnionType VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageSwapchainCreateInfoKHR =+ '[VkImageCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImageSwapchainCreateInfoKHR where+ type FieldType "sType" VkImageSwapchainCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageSwapchainCreateInfoKHR =+ #{offset VkImageSwapchainCreateInfoKHR, sType}+ type FieldIsArray "sType" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImageSwapchainCreateInfoKHR where+ type FieldType "pNext" VkImageSwapchainCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageSwapchainCreateInfoKHR =+ #{offset VkImageSwapchainCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkImageSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "swapchain" VkImageSwapchainCreateInfoKHR where+ type FieldType "swapchain" VkImageSwapchainCreateInfoKHR =+ VkSwapchainKHR+ type FieldOptional "swapchain" VkImageSwapchainCreateInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "swapchain" VkImageSwapchainCreateInfoKHR =+ #{offset VkImageSwapchainCreateInfoKHR, swapchain}+ type FieldIsArray "swapchain" VkImageSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageSwapchainCreateInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ CanReadField "swapchain" VkImageSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageSwapchainCreateInfoKHR, swapchain})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageSwapchainCreateInfoKHR, swapchain}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchain" VkImageSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageSwapchainCreateInfoKHR, swapchain}++instance Show VkImageSwapchainCreateInfoKHR where+ showsPrec d x+ = showString "VkImageSwapchainCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "swapchain = " .+ showsPrec d (getField @"swapchain" x) . showChar '}'++-- | > typedef struct VkImageViewCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImageViewCreateFlags flags;+-- > VkImage image;+-- > VkImageViewType viewType;+-- > VkFormat format;+-- > VkComponentMapping components;+-- > VkImageSubresourceRange subresourceRange;+-- > } VkImageViewCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewCreateInfo VkImageViewCreateInfo registry at www.khronos.org>+data VkImageViewCreateInfo = VkImageViewCreateInfo## Addr##+ ByteArray##++instance Eq VkImageViewCreateInfo where+ (VkImageViewCreateInfo## a _) == x@(VkImageViewCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageViewCreateInfo where+ (VkImageViewCreateInfo## a _) `compare`+ x@(VkImageViewCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageViewCreateInfo where+ sizeOf ~_ = #{size VkImageViewCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageViewCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageViewCreateInfo where+ unsafeAddr (VkImageViewCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageViewCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageViewCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageViewCreateInfo where+ type StructFields VkImageViewCreateInfo =+ '["sType", "pNext", "flags", "image", "viewType", "format", -- ' closing tick for hsc2hs+ "components", "subresourceRange"]+ type CUnionType VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageViewCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkImageViewCreateInfo+ where+ type FieldType "sType" VkImageViewCreateInfo = VkStructureType+ type FieldOptional "sType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, sType}+ type FieldIsArray "sType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageViewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkImageViewCreateInfo+ where+ type FieldType "pNext" VkImageViewCreateInfo = Ptr Void+ type FieldOptional "pNext" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, pNext}+ type FieldIsArray "pNext" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageViewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkImageViewCreateInfo+ where+ type FieldType "flags" VkImageViewCreateInfo =+ VkImageViewCreateFlags+ type FieldOptional "flags" VkImageViewCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, flags}+ type FieldIsArray "flags" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageViewCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, flags}++instance {-# OVERLAPPING #-} HasField "image" VkImageViewCreateInfo+ where+ type FieldType "image" VkImageViewCreateInfo = VkImage+ type FieldOptional "image" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, image}+ type FieldIsArray "image" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageViewCreateInfo, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, image}++instance {-# OVERLAPPING #-}+ HasField "viewType" VkImageViewCreateInfo where+ type FieldType "viewType" VkImageViewCreateInfo = VkImageViewType+ type FieldOptional "viewType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewType" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, viewType}+ type FieldIsArray "viewType" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageViewCreateInfo, viewType}++instance {-# OVERLAPPING #-}+ CanReadField "viewType" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, viewType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, viewType}++instance {-# OVERLAPPING #-}+ CanWriteField "viewType" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, viewType}++instance {-# OVERLAPPING #-}+ HasField "format" VkImageViewCreateInfo where+ type FieldType "format" VkImageViewCreateInfo = VkFormat+ type FieldOptional "format" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, format}+ type FieldIsArray "format" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImageViewCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, format}++instance {-# OVERLAPPING #-}+ HasField "components" VkImageViewCreateInfo where+ type FieldType "components" VkImageViewCreateInfo =+ VkComponentMapping+ type FieldOptional "components" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "components" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, components}+ type FieldIsArray "components" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageViewCreateInfo, components}++instance {-# OVERLAPPING #-}+ CanReadField "components" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, components})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, components}++instance {-# OVERLAPPING #-}+ CanWriteField "components" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, components}++instance {-# OVERLAPPING #-}+ HasField "subresourceRange" VkImageViewCreateInfo where+ type FieldType "subresourceRange" VkImageViewCreateInfo =+ VkImageSubresourceRange+ type FieldOptional "subresourceRange" VkImageViewCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "subresourceRange" VkImageViewCreateInfo =+ #{offset VkImageViewCreateInfo, subresourceRange}+ type FieldIsArray "subresourceRange" VkImageViewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageViewCreateInfo, subresourceRange}++instance {-# OVERLAPPING #-}+ CanReadField "subresourceRange" VkImageViewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewCreateInfo, subresourceRange})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewCreateInfo, subresourceRange}++instance {-# OVERLAPPING #-}+ CanWriteField "subresourceRange" VkImageViewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewCreateInfo, subresourceRange}++instance Show VkImageViewCreateInfo where+ showsPrec d x+ = showString "VkImageViewCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "viewType = " .+ showsPrec d (getField @"viewType" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "components = " .+ showsPrec d (getField @"components" x) .+ showString ", " .+ showString "subresourceRange = " .+ showsPrec d+ (getField @"subresourceRange" x)+ . showChar '}'++-- | > typedef struct VkImageViewUsageCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImageUsageFlags usage;+-- > } VkImageViewUsageCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo registry at www.khronos.org>+data VkImageViewUsageCreateInfo = VkImageViewUsageCreateInfo## Addr##+ ByteArray##++instance Eq VkImageViewUsageCreateInfo where+ (VkImageViewUsageCreateInfo## a _) ==+ x@(VkImageViewUsageCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImageViewUsageCreateInfo where+ (VkImageViewUsageCreateInfo## a _) `compare`+ x@(VkImageViewUsageCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImageViewUsageCreateInfo where+ sizeOf ~_ = #{size VkImageViewUsageCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImageViewUsageCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImageViewUsageCreateInfo where+ unsafeAddr (VkImageViewUsageCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImageViewUsageCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImageViewUsageCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImageViewUsageCreateInfo where+ type StructFields VkImageViewUsageCreateInfo =+ '["sType", "pNext", "usage"] -- ' closing tick for hsc2hs+ type CUnionType VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImageViewUsageCreateInfo =+ '[VkImageViewCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImageViewUsageCreateInfo where+ type FieldType "sType" VkImageViewUsageCreateInfo = VkStructureType+ type FieldOptional "sType" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImageViewUsageCreateInfo =+ #{offset VkImageViewUsageCreateInfo, sType}+ type FieldIsArray "sType" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageViewUsageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImageViewUsageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewUsageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImageViewUsageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewUsageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImageViewUsageCreateInfo where+ type FieldType "pNext" VkImageViewUsageCreateInfo = Ptr Void+ type FieldOptional "pNext" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImageViewUsageCreateInfo =+ #{offset VkImageViewUsageCreateInfo, pNext}+ type FieldIsArray "pNext" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageViewUsageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImageViewUsageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewUsageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImageViewUsageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewUsageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "usage" VkImageViewUsageCreateInfo where+ type FieldType "usage" VkImageViewUsageCreateInfo =+ VkImageUsageFlags+ type FieldOptional "usage" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "usage" VkImageViewUsageCreateInfo =+ #{offset VkImageViewUsageCreateInfo, usage}+ type FieldIsArray "usage" VkImageViewUsageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImageViewUsageCreateInfo, usage}++instance {-# OVERLAPPING #-}+ CanReadField "usage" VkImageViewUsageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImageViewUsageCreateInfo, usage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImageViewUsageCreateInfo, usage}++instance {-# OVERLAPPING #-}+ CanWriteField "usage" VkImageViewUsageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImageViewUsageCreateInfo, usage}++instance Show VkImageViewUsageCreateInfo where+ showsPrec d x+ = showString "VkImageViewUsageCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "usage = " .+ showsPrec d (getField @"usage" x) . showChar '}'++-- | Alias for `VkImageViewUsageCreateInfo`+type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo
@@ -0,0 +1,984 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Import+ (VkImportFenceFdInfoKHR(..), VkImportMemoryFdInfoKHR(..),+ VkImportMemoryHostPointerInfoEXT(..),+ VkImportSemaphoreFdInfoKHR(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.External (VkExternalFenceHandleTypeFlagBits,+ VkExternalMemoryHandleTypeFlagBits,+ VkExternalSemaphoreHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Fence (VkFenceImportFlags)+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag (VkSemaphoreImportFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkFence,+ VkSemaphore)+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryAllocateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkImportFenceFdInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFence fence;+-- > VkFenceImportFlags flags;+-- > VkExternalFenceHandleTypeFlagBits handleType;+-- > int fd;+-- > } VkImportFenceFdInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR registry at www.khronos.org>+data VkImportFenceFdInfoKHR = VkImportFenceFdInfoKHR## Addr##+ ByteArray##++instance Eq VkImportFenceFdInfoKHR where+ (VkImportFenceFdInfoKHR## a _) == x@(VkImportFenceFdInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportFenceFdInfoKHR where+ (VkImportFenceFdInfoKHR## a _) `compare`+ x@(VkImportFenceFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportFenceFdInfoKHR where+ sizeOf ~_ = #{size VkImportFenceFdInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImportFenceFdInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportFenceFdInfoKHR where+ unsafeAddr (VkImportFenceFdInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportFenceFdInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportFenceFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportFenceFdInfoKHR where+ type StructFields VkImportFenceFdInfoKHR =+ '["sType", "pNext", "fence", "flags", "handleType", "fd"] -- ' closing tick for hsc2hs+ type CUnionType VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportFenceFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportFenceFdInfoKHR where+ type FieldType "sType" VkImportFenceFdInfoKHR = VkStructureType+ type FieldOptional "sType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportFenceFdInfoKHR =+ #{offset VkImportFenceFdInfoKHR, sType}+ type FieldIsArray "sType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportFenceFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportFenceFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportFenceFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportFenceFdInfoKHR where+ type FieldType "pNext" VkImportFenceFdInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportFenceFdInfoKHR =+ #{offset VkImportFenceFdInfoKHR, pNext}+ type FieldIsArray "pNext" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportFenceFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportFenceFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportFenceFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "fence" VkImportFenceFdInfoKHR where+ type FieldType "fence" VkImportFenceFdInfoKHR = VkFence+ type FieldOptional "fence" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fence" VkImportFenceFdInfoKHR =+ #{offset VkImportFenceFdInfoKHR, fence}+ type FieldIsArray "fence" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportFenceFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanReadField "fence" VkImportFenceFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, fence})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanWriteField "fence" VkImportFenceFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceFdInfoKHR, fence}++instance {-# OVERLAPPING #-}+ HasField "flags" VkImportFenceFdInfoKHR where+ type FieldType "flags" VkImportFenceFdInfoKHR = VkFenceImportFlags+ type FieldOptional "flags" VkImportFenceFdInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkImportFenceFdInfoKHR =+ #{offset VkImportFenceFdInfoKHR, flags}+ type FieldIsArray "flags" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportFenceFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkImportFenceFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkImportFenceFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportFenceFdInfoKHR where+ type FieldType "handleType" VkImportFenceFdInfoKHR =+ VkExternalFenceHandleTypeFlagBits+ type FieldOptional "handleType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportFenceFdInfoKHR =+ #{offset VkImportFenceFdInfoKHR, handleType}+ type FieldIsArray "handleType" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportFenceFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportFenceFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceFdInfoKHR, handleType}++instance {-# OVERLAPPING #-} HasField "fd" VkImportFenceFdInfoKHR+ where+ type FieldType "fd" VkImportFenceFdInfoKHR = CInt+ type FieldOptional "fd" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fd" VkImportFenceFdInfoKHR =+ #{offset VkImportFenceFdInfoKHR, fd}+ type FieldIsArray "fd" VkImportFenceFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportFenceFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+ CanReadField "fd" VkImportFenceFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceFdInfoKHR, fd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+ CanWriteField "fd" VkImportFenceFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceFdInfoKHR, fd}++instance Show VkImportFenceFdInfoKHR where+ showsPrec d x+ = showString "VkImportFenceFdInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "fence = " .+ showsPrec d (getField @"fence" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "fd = " .+ showsPrec d (getField @"fd" x) . showChar '}'++-- | > typedef struct VkImportMemoryFdInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > int fd;+-- > } VkImportMemoryFdInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR registry at www.khronos.org>+data VkImportMemoryFdInfoKHR = VkImportMemoryFdInfoKHR## Addr##+ ByteArray##++instance Eq VkImportMemoryFdInfoKHR where+ (VkImportMemoryFdInfoKHR## a _) == x@(VkImportMemoryFdInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportMemoryFdInfoKHR where+ (VkImportMemoryFdInfoKHR## a _) `compare`+ x@(VkImportMemoryFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportMemoryFdInfoKHR where+ sizeOf ~_ = #{size VkImportMemoryFdInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImportMemoryFdInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryFdInfoKHR where+ unsafeAddr (VkImportMemoryFdInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportMemoryFdInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportMemoryFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryFdInfoKHR where+ type StructFields VkImportMemoryFdInfoKHR =+ '["sType", "pNext", "handleType", "fd"] -- ' closing tick for hsc2hs+ type CUnionType VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportMemoryFdInfoKHR =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportMemoryFdInfoKHR where+ type FieldType "sType" VkImportMemoryFdInfoKHR = VkStructureType+ type FieldOptional "sType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportMemoryFdInfoKHR =+ #{offset VkImportMemoryFdInfoKHR, sType}+ type FieldIsArray "sType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportMemoryFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportMemoryFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportMemoryFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportMemoryFdInfoKHR where+ type FieldType "pNext" VkImportMemoryFdInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportMemoryFdInfoKHR =+ #{offset VkImportMemoryFdInfoKHR, pNext}+ type FieldIsArray "pNext" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportMemoryFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportMemoryFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportMemoryFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportMemoryFdInfoKHR where+ type FieldType "handleType" VkImportMemoryFdInfoKHR =+ VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType" VkImportMemoryFdInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportMemoryFdInfoKHR =+ #{offset VkImportMemoryFdInfoKHR, handleType}+ type FieldIsArray "handleType" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportMemoryFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportMemoryFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, handleType}++instance {-# OVERLAPPING #-} HasField "fd" VkImportMemoryFdInfoKHR+ where+ type FieldType "fd" VkImportMemoryFdInfoKHR = CInt+ type FieldOptional "fd" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fd" VkImportMemoryFdInfoKHR =+ #{offset VkImportMemoryFdInfoKHR, fd}+ type FieldIsArray "fd" VkImportMemoryFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportMemoryFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+ CanReadField "fd" VkImportMemoryFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryFdInfoKHR, fd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+ CanWriteField "fd" VkImportMemoryFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryFdInfoKHR, fd}++instance Show VkImportMemoryFdInfoKHR where+ showsPrec d x+ = showString "VkImportMemoryFdInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "fd = " . showsPrec d (getField @"fd" x) . showChar '}'++-- | > typedef struct VkImportMemoryHostPointerInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > void* pHostPointer;+-- > } VkImportMemoryHostPointerInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT registry at www.khronos.org>+data VkImportMemoryHostPointerInfoEXT = VkImportMemoryHostPointerInfoEXT## Addr##+ ByteArray##++instance Eq VkImportMemoryHostPointerInfoEXT where+ (VkImportMemoryHostPointerInfoEXT## a _) ==+ x@(VkImportMemoryHostPointerInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportMemoryHostPointerInfoEXT where+ (VkImportMemoryHostPointerInfoEXT## a _) `compare`+ x@(VkImportMemoryHostPointerInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportMemoryHostPointerInfoEXT where+ sizeOf ~_ = #{size VkImportMemoryHostPointerInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImportMemoryHostPointerInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryHostPointerInfoEXT where+ unsafeAddr (VkImportMemoryHostPointerInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportMemoryHostPointerInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportMemoryHostPointerInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryHostPointerInfoEXT where+ type StructFields VkImportMemoryHostPointerInfoEXT =+ '["sType", "pNext", "handleType", "pHostPointer"] -- ' closing tick for hsc2hs+ type CUnionType VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportMemoryHostPointerInfoEXT =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportMemoryHostPointerInfoEXT where+ type FieldType "sType" VkImportMemoryHostPointerInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkImportMemoryHostPointerInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportMemoryHostPointerInfoEXT =+ #{offset VkImportMemoryHostPointerInfoEXT, sType}+ type FieldIsArray "sType" VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryHostPointerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportMemoryHostPointerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportMemoryHostPointerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportMemoryHostPointerInfoEXT where+ type FieldType "pNext" VkImportMemoryHostPointerInfoEXT = Ptr Void+ type FieldOptional "pNext" VkImportMemoryHostPointerInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportMemoryHostPointerInfoEXT =+ #{offset VkImportMemoryHostPointerInfoEXT, pNext}+ type FieldIsArray "pNext" VkImportMemoryHostPointerInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryHostPointerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportMemoryHostPointerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportMemoryHostPointerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportMemoryHostPointerInfoEXT where+ type FieldType "handleType" VkImportMemoryHostPointerInfoEXT =+ VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType" VkImportMemoryHostPointerInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportMemoryHostPointerInfoEXT =+ #{offset VkImportMemoryHostPointerInfoEXT, handleType}+ type FieldIsArray "handleType" VkImportMemoryHostPointerInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryHostPointerInfoEXT, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportMemoryHostPointerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportMemoryHostPointerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, handleType}++instance {-# OVERLAPPING #-}+ HasField "pHostPointer" VkImportMemoryHostPointerInfoEXT where+ type FieldType "pHostPointer" VkImportMemoryHostPointerInfoEXT =+ Ptr Void+ type FieldOptional "pHostPointer" VkImportMemoryHostPointerInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pHostPointer" VkImportMemoryHostPointerInfoEXT =+ #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}+ type FieldIsArray "pHostPointer" VkImportMemoryHostPointerInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++instance {-# OVERLAPPING #-}+ CanReadField "pHostPointer" VkImportMemoryHostPointerInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++instance {-# OVERLAPPING #-}+ CanWriteField "pHostPointer" VkImportMemoryHostPointerInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryHostPointerInfoEXT, pHostPointer}++instance Show VkImportMemoryHostPointerInfoEXT where+ showsPrec d x+ = showString "VkImportMemoryHostPointerInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "pHostPointer = " .+ showsPrec d (getField @"pHostPointer" x) . showChar '}'++-- | > typedef struct VkImportSemaphoreFdInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSemaphore semaphore;+-- > VkSemaphoreImportFlags flags;+-- > VkExternalSemaphoreHandleTypeFlagBits handleType;+-- > int fd;+-- > } VkImportSemaphoreFdInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR registry at www.khronos.org>+data VkImportSemaphoreFdInfoKHR = VkImportSemaphoreFdInfoKHR## Addr##+ ByteArray##++instance Eq VkImportSemaphoreFdInfoKHR where+ (VkImportSemaphoreFdInfoKHR## a _) ==+ x@(VkImportSemaphoreFdInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportSemaphoreFdInfoKHR where+ (VkImportSemaphoreFdInfoKHR## a _) `compare`+ x@(VkImportSemaphoreFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportSemaphoreFdInfoKHR where+ sizeOf ~_ = #{size VkImportSemaphoreFdInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkImportSemaphoreFdInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportSemaphoreFdInfoKHR where+ unsafeAddr (VkImportSemaphoreFdInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportSemaphoreFdInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportSemaphoreFdInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportSemaphoreFdInfoKHR where+ type StructFields VkImportSemaphoreFdInfoKHR =+ '["sType", "pNext", "semaphore", "flags", "handleType", "fd"] -- ' closing tick for hsc2hs+ type CUnionType VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportSemaphoreFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportSemaphoreFdInfoKHR where+ type FieldType "sType" VkImportSemaphoreFdInfoKHR = VkStructureType+ type FieldOptional "sType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportSemaphoreFdInfoKHR =+ #{offset VkImportSemaphoreFdInfoKHR, sType}+ type FieldIsArray "sType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportSemaphoreFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportSemaphoreFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportSemaphoreFdInfoKHR where+ type FieldType "pNext" VkImportSemaphoreFdInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportSemaphoreFdInfoKHR =+ #{offset VkImportSemaphoreFdInfoKHR, pNext}+ type FieldIsArray "pNext" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportSemaphoreFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportSemaphoreFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "semaphore" VkImportSemaphoreFdInfoKHR where+ type FieldType "semaphore" VkImportSemaphoreFdInfoKHR = VkSemaphore+ type FieldOptional "semaphore" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "semaphore" VkImportSemaphoreFdInfoKHR =+ #{offset VkImportSemaphoreFdInfoKHR, semaphore}+ type FieldIsArray "semaphore" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanReadField "semaphore" VkImportSemaphoreFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, semaphore})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanWriteField "semaphore" VkImportSemaphoreFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ HasField "flags" VkImportSemaphoreFdInfoKHR where+ type FieldType "flags" VkImportSemaphoreFdInfoKHR =+ VkSemaphoreImportFlags+ type FieldOptional "flags" VkImportSemaphoreFdInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkImportSemaphoreFdInfoKHR =+ #{offset VkImportSemaphoreFdInfoKHR, flags}+ type FieldIsArray "flags" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkImportSemaphoreFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkImportSemaphoreFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportSemaphoreFdInfoKHR where+ type FieldType "handleType" VkImportSemaphoreFdInfoKHR =+ VkExternalSemaphoreHandleTypeFlagBits+ type FieldOptional "handleType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportSemaphoreFdInfoKHR =+ #{offset VkImportSemaphoreFdInfoKHR, handleType}+ type FieldIsArray "handleType" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportSemaphoreFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportSemaphoreFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ HasField "fd" VkImportSemaphoreFdInfoKHR where+ type FieldType "fd" VkImportSemaphoreFdInfoKHR = CInt+ type FieldOptional "fd" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fd" VkImportSemaphoreFdInfoKHR =+ #{offset VkImportSemaphoreFdInfoKHR, fd}+ type FieldIsArray "fd" VkImportSemaphoreFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkImportSemaphoreFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+ CanReadField "fd" VkImportSemaphoreFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreFdInfoKHR, fd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreFdInfoKHR, fd}++instance {-# OVERLAPPING #-}+ CanWriteField "fd" VkImportSemaphoreFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreFdInfoKHR, fd}++instance Show VkImportSemaphoreFdInfoKHR where+ showsPrec d x+ = showString "VkImportSemaphoreFdInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "semaphore = " .+ showsPrec d (getField @"semaphore" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "fd = " .+ showsPrec d (getField @"fd" x) . showChar '}'
@@ -0,0 +1,721 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.IndirectCommands+ (VkIndirectCommandsLayoutCreateInfoNVX(..),+ VkIndirectCommandsLayoutTokenNVX(..),+ VkIndirectCommandsTokenNVX(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.IndirectCommands (VkIndirectCommandsLayoutUsageFlagsNVX,+ VkIndirectCommandsTokenTypeNVX)+import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineBindPoint)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkIndirectCommandsLayoutCreateInfoNVX {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineBindPoint pipelineBindPoint;+-- > VkIndirectCommandsLayoutUsageFlagsNVX flags;+-- > uint32_t tokenCount;+-- > const VkIndirectCommandsLayoutTokenNVX* pTokens;+-- > } VkIndirectCommandsLayoutCreateInfoNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsLayoutCreateInfoNVX VkIndirectCommandsLayoutCreateInfoNVX registry at www.khronos.org>+data VkIndirectCommandsLayoutCreateInfoNVX = VkIndirectCommandsLayoutCreateInfoNVX## Addr##+ ByteArray##++instance Eq VkIndirectCommandsLayoutCreateInfoNVX where+ (VkIndirectCommandsLayoutCreateInfoNVX## a _) ==+ x@(VkIndirectCommandsLayoutCreateInfoNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkIndirectCommandsLayoutCreateInfoNVX where+ (VkIndirectCommandsLayoutCreateInfoNVX## a _) `compare`+ x@(VkIndirectCommandsLayoutCreateInfoNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkIndirectCommandsLayoutCreateInfoNVX where+ sizeOf ~_+ = #{size VkIndirectCommandsLayoutCreateInfoNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkIndirectCommandsLayoutCreateInfoNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkIndirectCommandsLayoutCreateInfoNVX+ where+ unsafeAddr (VkIndirectCommandsLayoutCreateInfoNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkIndirectCommandsLayoutCreateInfoNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkIndirectCommandsLayoutCreateInfoNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIndirectCommandsLayoutCreateInfoNVX where+ type StructFields VkIndirectCommandsLayoutCreateInfoNVX =+ '["sType", "pNext", "pipelineBindPoint", "flags", "tokenCount", -- ' closing tick for hsc2hs+ "pTokens"]+ type CUnionType VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkIndirectCommandsLayoutCreateInfoNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkIndirectCommandsLayoutCreateInfoNVX where+ type FieldType "sType" VkIndirectCommandsLayoutCreateInfoNVX =+ VkStructureType+ type FieldOptional "sType" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkIndirectCommandsLayoutCreateInfoNVX =+ #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}+ type FieldIsArray "sType" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where+ type FieldType "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+ Ptr Void+ type FieldOptional "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+ #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}+ type FieldIsArray "pNext" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "pipelineBindPoint" VkIndirectCommandsLayoutCreateInfoNVX+ where+ type FieldType "pipelineBindPoint"+ VkIndirectCommandsLayoutCreateInfoNVX+ = VkPipelineBindPoint+ type FieldOptional "pipelineBindPoint"+ VkIndirectCommandsLayoutCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineBindPoint"+ VkIndirectCommandsLayoutCreateInfoNVX+ =+ #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}+ type FieldIsArray "pipelineBindPoint"+ VkIndirectCommandsLayoutCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineBindPoint"+ VkIndirectCommandsLayoutCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineBindPoint"+ VkIndirectCommandsLayoutCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ HasField "flags" VkIndirectCommandsLayoutCreateInfoNVX where+ type FieldType "flags" VkIndirectCommandsLayoutCreateInfoNVX =+ VkIndirectCommandsLayoutUsageFlagsNVX+ type FieldOptional "flags" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkIndirectCommandsLayoutCreateInfoNVX =+ #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}+ type FieldIsArray "flags" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, flags}++instance {-# OVERLAPPING #-}+ HasField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX where+ type FieldType "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX =+ Word32+ type FieldOptional "tokenCount"+ VkIndirectCommandsLayoutCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX+ =+ #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}+ type FieldIsArray "tokenCount"+ VkIndirectCommandsLayoutCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++instance {-# OVERLAPPING #-}+ CanReadField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++instance {-# OVERLAPPING #-}+ CanWriteField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, tokenCount}++instance {-# OVERLAPPING #-}+ HasField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where+ type FieldType "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =+ Ptr VkIndirectCommandsLayoutTokenNVX+ type FieldOptional "pTokens" VkIndirectCommandsLayoutCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =+ #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}+ type FieldIsArray "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++instance {-# OVERLAPPING #-}+ CanReadField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++instance {-# OVERLAPPING #-}+ CanWriteField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutCreateInfoNVX, pTokens}++instance Show VkIndirectCommandsLayoutCreateInfoNVX where+ showsPrec d x+ = showString "VkIndirectCommandsLayoutCreateInfoNVX {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pipelineBindPoint = " .+ showsPrec d (getField @"pipelineBindPoint" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "tokenCount = " .+ showsPrec d (getField @"tokenCount" x) .+ showString ", " .+ showString "pTokens = " .+ showsPrec d (getField @"pTokens" x) . showChar '}'++-- | > typedef struct VkIndirectCommandsLayoutTokenNVX {+-- > VkIndirectCommandsTokenTypeNVX tokenType;+-- > uint32_t bindingUnit;+-- > uint32_t dynamicCount;+-- > uint32_t divisor;+-- > } VkIndirectCommandsLayoutTokenNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsLayoutTokenNVX VkIndirectCommandsLayoutTokenNVX registry at www.khronos.org>+data VkIndirectCommandsLayoutTokenNVX = VkIndirectCommandsLayoutTokenNVX## Addr##+ ByteArray##++instance Eq VkIndirectCommandsLayoutTokenNVX where+ (VkIndirectCommandsLayoutTokenNVX## a _) ==+ x@(VkIndirectCommandsLayoutTokenNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkIndirectCommandsLayoutTokenNVX where+ (VkIndirectCommandsLayoutTokenNVX## a _) `compare`+ x@(VkIndirectCommandsLayoutTokenNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkIndirectCommandsLayoutTokenNVX where+ sizeOf ~_ = #{size VkIndirectCommandsLayoutTokenNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkIndirectCommandsLayoutTokenNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkIndirectCommandsLayoutTokenNVX where+ unsafeAddr (VkIndirectCommandsLayoutTokenNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkIndirectCommandsLayoutTokenNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkIndirectCommandsLayoutTokenNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIndirectCommandsLayoutTokenNVX where+ type StructFields VkIndirectCommandsLayoutTokenNVX =+ '["tokenType", "bindingUnit", "dynamicCount", "divisor"] -- ' closing tick for hsc2hs+ type CUnionType VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkIndirectCommandsLayoutTokenNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "tokenType" VkIndirectCommandsLayoutTokenNVX where+ type FieldType "tokenType" VkIndirectCommandsLayoutTokenNVX =+ VkIndirectCommandsTokenTypeNVX+ type FieldOptional "tokenType" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "tokenType" VkIndirectCommandsLayoutTokenNVX =+ #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}+ type FieldIsArray "tokenType" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+ CanReadField "tokenType" VkIndirectCommandsLayoutTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, tokenType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+ CanWriteField "tokenType" VkIndirectCommandsLayoutTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+ HasField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where+ type FieldType "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+ Word32+ type FieldOptional "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+ #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}+ type FieldIsArray "bindingUnit" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++instance {-# OVERLAPPING #-}+ CanReadField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++instance {-# OVERLAPPING #-}+ CanWriteField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, bindingUnit}++instance {-# OVERLAPPING #-}+ HasField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where+ type FieldType "dynamicCount" VkIndirectCommandsLayoutTokenNVX =+ Word32+ type FieldOptional "dynamicCount" VkIndirectCommandsLayoutTokenNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dynamicCount" VkIndirectCommandsLayoutTokenNVX =+ #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}+ type FieldIsArray "dynamicCount" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++instance {-# OVERLAPPING #-}+ CanReadField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++instance {-# OVERLAPPING #-}+ CanWriteField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, dynamicCount}++instance {-# OVERLAPPING #-}+ HasField "divisor" VkIndirectCommandsLayoutTokenNVX where+ type FieldType "divisor" VkIndirectCommandsLayoutTokenNVX = Word32+ type FieldOptional "divisor" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "divisor" VkIndirectCommandsLayoutTokenNVX =+ #{offset VkIndirectCommandsLayoutTokenNVX, divisor}+ type FieldIsArray "divisor" VkIndirectCommandsLayoutTokenNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++instance {-# OVERLAPPING #-}+ CanReadField "divisor" VkIndirectCommandsLayoutTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsLayoutTokenNVX, divisor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++instance {-# OVERLAPPING #-}+ CanWriteField "divisor" VkIndirectCommandsLayoutTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsLayoutTokenNVX, divisor}++instance Show VkIndirectCommandsLayoutTokenNVX where+ showsPrec d x+ = showString "VkIndirectCommandsLayoutTokenNVX {" .+ showString "tokenType = " .+ showsPrec d (getField @"tokenType" x) .+ showString ", " .+ showString "bindingUnit = " .+ showsPrec d (getField @"bindingUnit" x) .+ showString ", " .+ showString "dynamicCount = " .+ showsPrec d (getField @"dynamicCount" x) .+ showString ", " .+ showString "divisor = " .+ showsPrec d (getField @"divisor" x) . showChar '}'++-- | > typedef struct VkIndirectCommandsTokenNVX {+-- > VkIndirectCommandsTokenTypeNVX tokenType;+-- > VkBuffer buffer;+-- > VkDeviceSize offset;+-- > } VkIndirectCommandsTokenNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsTokenNVX VkIndirectCommandsTokenNVX registry at www.khronos.org>+data VkIndirectCommandsTokenNVX = VkIndirectCommandsTokenNVX## Addr##+ ByteArray##++instance Eq VkIndirectCommandsTokenNVX where+ (VkIndirectCommandsTokenNVX## a _) ==+ x@(VkIndirectCommandsTokenNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkIndirectCommandsTokenNVX where+ (VkIndirectCommandsTokenNVX## a _) `compare`+ x@(VkIndirectCommandsTokenNVX## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkIndirectCommandsTokenNVX where+ sizeOf ~_ = #{size VkIndirectCommandsTokenNVX}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkIndirectCommandsTokenNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkIndirectCommandsTokenNVX where+ unsafeAddr (VkIndirectCommandsTokenNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkIndirectCommandsTokenNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkIndirectCommandsTokenNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIndirectCommandsTokenNVX where+ type StructFields VkIndirectCommandsTokenNVX =+ '["tokenType", "buffer", "offset"] -- ' closing tick for hsc2hs+ type CUnionType VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkIndirectCommandsTokenNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "tokenType" VkIndirectCommandsTokenNVX where+ type FieldType "tokenType" VkIndirectCommandsTokenNVX =+ VkIndirectCommandsTokenTypeNVX+ type FieldOptional "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tokenType" VkIndirectCommandsTokenNVX =+ #{offset VkIndirectCommandsTokenNVX, tokenType}+ type FieldIsArray "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+ CanReadField "tokenType" VkIndirectCommandsTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, tokenType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+ CanWriteField "tokenType" VkIndirectCommandsTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, tokenType}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkIndirectCommandsTokenNVX where+ type FieldType "buffer" VkIndirectCommandsTokenNVX = VkBuffer+ type FieldOptional "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkIndirectCommandsTokenNVX =+ #{offset VkIndirectCommandsTokenNVX, buffer}+ type FieldIsArray "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsTokenNVX, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkIndirectCommandsTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsTokenNVX, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkIndirectCommandsTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, buffer}++instance {-# OVERLAPPING #-}+ HasField "offset" VkIndirectCommandsTokenNVX where+ type FieldType "offset" VkIndirectCommandsTokenNVX = VkDeviceSize+ type FieldOptional "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkIndirectCommandsTokenNVX =+ #{offset VkIndirectCommandsTokenNVX, offset}+ type FieldIsArray "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIndirectCommandsTokenNVX, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkIndirectCommandsTokenNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIndirectCommandsTokenNVX, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIndirectCommandsTokenNVX, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkIndirectCommandsTokenNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIndirectCommandsTokenNVX, offset}++instance Show VkIndirectCommandsTokenNVX where+ showsPrec d x+ = showString "VkIndirectCommandsTokenNVX {" .+ showString "tokenType = " .+ showsPrec d (getField @"tokenType" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) . showChar '}'
@@ -0,0 +1,211 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference+ (VkInputAttachmentAspectReference(..),+ VkInputAttachmentAspectReferenceKHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlags)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkInputAttachmentAspectReference {+-- > uint32_t subpass;+-- > uint32_t inputAttachmentIndex;+-- > VkImageAspectFlags aspectMask;+-- > } VkInputAttachmentAspectReference;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkInputAttachmentAspectReference VkInputAttachmentAspectReference registry at www.khronos.org>+data VkInputAttachmentAspectReference = VkInputAttachmentAspectReference## Addr##+ ByteArray##++instance Eq VkInputAttachmentAspectReference where+ (VkInputAttachmentAspectReference## a _) ==+ x@(VkInputAttachmentAspectReference## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkInputAttachmentAspectReference where+ (VkInputAttachmentAspectReference## a _) `compare`+ x@(VkInputAttachmentAspectReference## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkInputAttachmentAspectReference where+ sizeOf ~_ = #{size VkInputAttachmentAspectReference}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkInputAttachmentAspectReference}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkInputAttachmentAspectReference where+ unsafeAddr (VkInputAttachmentAspectReference## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkInputAttachmentAspectReference## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkInputAttachmentAspectReference##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkInputAttachmentAspectReference where+ type StructFields VkInputAttachmentAspectReference =+ '["subpass", "inputAttachmentIndex", "aspectMask"] -- ' closing tick for hsc2hs+ type CUnionType VkInputAttachmentAspectReference = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkInputAttachmentAspectReference = 'False -- ' closing tick for hsc2hs+ type StructExtends VkInputAttachmentAspectReference = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "subpass" VkInputAttachmentAspectReference where+ type FieldType "subpass" VkInputAttachmentAspectReference = Word32+ type FieldOptional "subpass" VkInputAttachmentAspectReference =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "subpass" VkInputAttachmentAspectReference =+ #{offset VkInputAttachmentAspectReference, subpass}+ type FieldIsArray "subpass" VkInputAttachmentAspectReference =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInputAttachmentAspectReference, subpass}++instance {-# OVERLAPPING #-}+ CanReadField "subpass" VkInputAttachmentAspectReference where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReference, subpass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInputAttachmentAspectReference, subpass}++instance {-# OVERLAPPING #-}+ CanWriteField "subpass" VkInputAttachmentAspectReference where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInputAttachmentAspectReference, subpass}++instance {-# OVERLAPPING #-}+ HasField "inputAttachmentIndex" VkInputAttachmentAspectReference+ where+ type FieldType "inputAttachmentIndex"+ VkInputAttachmentAspectReference+ = Word32+ type FieldOptional "inputAttachmentIndex"+ VkInputAttachmentAspectReference+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "inputAttachmentIndex"+ VkInputAttachmentAspectReference+ =+ #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}+ type FieldIsArray "inputAttachmentIndex"+ VkInputAttachmentAspectReference+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}++instance {-# OVERLAPPING #-}+ CanReadField "inputAttachmentIndex"+ VkInputAttachmentAspectReference+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReference, inputAttachmentIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "inputAttachmentIndex"+ VkInputAttachmentAspectReference+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInputAttachmentAspectReference, inputAttachmentIndex}++instance {-# OVERLAPPING #-}+ HasField "aspectMask" VkInputAttachmentAspectReference where+ type FieldType "aspectMask" VkInputAttachmentAspectReference =+ VkImageAspectFlags+ type FieldOptional "aspectMask" VkInputAttachmentAspectReference =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "aspectMask" VkInputAttachmentAspectReference =+ #{offset VkInputAttachmentAspectReference, aspectMask}+ type FieldIsArray "aspectMask" VkInputAttachmentAspectReference =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInputAttachmentAspectReference, aspectMask}++instance {-# OVERLAPPING #-}+ CanReadField "aspectMask" VkInputAttachmentAspectReference where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInputAttachmentAspectReference, aspectMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInputAttachmentAspectReference, aspectMask}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectMask" VkInputAttachmentAspectReference where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInputAttachmentAspectReference, aspectMask}++instance Show VkInputAttachmentAspectReference where+ showsPrec d x+ = showString "VkInputAttachmentAspectReference {" .+ showString "subpass = " .+ showsPrec d (getField @"subpass" x) .+ showString ", " .+ showString "inputAttachmentIndex = " .+ showsPrec d (getField @"inputAttachmentIndex" x) .+ showString ", " .+ showString "aspectMask = " .+ showsPrec d (getField @"aspectMask" x) . showChar '}'++-- | Alias for `VkInputAttachmentAspectReference`+type VkInputAttachmentAspectReferenceKHR =+ VkInputAttachmentAspectReference
@@ -0,0 +1,377 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.InstanceCreateInfo+ (VkInstanceCreateInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkInstanceCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.ApplicationInfo (VkApplicationInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkInstanceCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkInstanceCreateFlags flags;+-- > const VkApplicationInfo* pApplicationInfo;+-- > uint32_t enabledLayerCount;+-- > const char* const* ppEnabledLayerNames;+-- > uint32_t enabledExtensionCount;+-- > const char* const* ppEnabledExtensionNames;+-- > } VkInstanceCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkInstanceCreateInfo VkInstanceCreateInfo registry at www.khronos.org>+data VkInstanceCreateInfo = VkInstanceCreateInfo## Addr## ByteArray##++instance Eq VkInstanceCreateInfo where+ (VkInstanceCreateInfo## a _) == x@(VkInstanceCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkInstanceCreateInfo where+ (VkInstanceCreateInfo## a _) `compare` x@(VkInstanceCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkInstanceCreateInfo where+ sizeOf ~_ = #{size VkInstanceCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkInstanceCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkInstanceCreateInfo where+ unsafeAddr (VkInstanceCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkInstanceCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkInstanceCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkInstanceCreateInfo where+ type StructFields VkInstanceCreateInfo =+ '["sType", "pNext", "flags", "pApplicationInfo", -- ' closing tick for hsc2hs+ "enabledLayerCount", "ppEnabledLayerNames",+ "enabledExtensionCount", "ppEnabledExtensionNames"]+ type CUnionType VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkInstanceCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkInstanceCreateInfo+ where+ type FieldType "sType" VkInstanceCreateInfo = VkStructureType+ type FieldOptional "sType" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, sType}+ type FieldIsArray "sType" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkInstanceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkInstanceCreateInfo+ where+ type FieldType "pNext" VkInstanceCreateInfo = Ptr Void+ type FieldOptional "pNext" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, pNext}+ type FieldIsArray "pNext" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkInstanceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkInstanceCreateInfo+ where+ type FieldType "flags" VkInstanceCreateInfo = VkInstanceCreateFlags+ type FieldOptional "flags" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, flags}+ type FieldIsArray "flags" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkInstanceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "pApplicationInfo" VkInstanceCreateInfo where+ type FieldType "pApplicationInfo" VkInstanceCreateInfo =+ Ptr VkApplicationInfo+ type FieldOptional "pApplicationInfo" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pApplicationInfo" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, pApplicationInfo}+ type FieldIsArray "pApplicationInfo" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInstanceCreateInfo, pApplicationInfo}++instance {-# OVERLAPPING #-}+ CanReadField "pApplicationInfo" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, pApplicationInfo})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, pApplicationInfo}++instance {-# OVERLAPPING #-}+ CanWriteField "pApplicationInfo" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, pApplicationInfo}++instance {-# OVERLAPPING #-}+ HasField "enabledLayerCount" VkInstanceCreateInfo where+ type FieldType "enabledLayerCount" VkInstanceCreateInfo = Word32+ type FieldOptional "enabledLayerCount" VkInstanceCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "enabledLayerCount" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, enabledLayerCount}+ type FieldIsArray "enabledLayerCount" VkInstanceCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInstanceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+ CanReadField "enabledLayerCount" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, enabledLayerCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+ CanWriteField "enabledLayerCount" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, enabledLayerCount}++instance {-# OVERLAPPING #-}+ HasField "ppEnabledLayerNames" VkInstanceCreateInfo where+ type FieldType "ppEnabledLayerNames" VkInstanceCreateInfo =+ Ptr CString+ type FieldOptional "ppEnabledLayerNames" VkInstanceCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "ppEnabledLayerNames" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, ppEnabledLayerNames}+ type FieldIsArray "ppEnabledLayerNames" VkInstanceCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+ CanReadField "ppEnabledLayerNames" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, ppEnabledLayerNames})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+ CanWriteField "ppEnabledLayerNames" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, ppEnabledLayerNames}++instance {-# OVERLAPPING #-}+ HasField "enabledExtensionCount" VkInstanceCreateInfo where+ type FieldType "enabledExtensionCount" VkInstanceCreateInfo =+ Word32+ type FieldOptional "enabledExtensionCount" VkInstanceCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "enabledExtensionCount" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, enabledExtensionCount}+ type FieldIsArray "enabledExtensionCount" VkInstanceCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInstanceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+ CanReadField "enabledExtensionCount" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, enabledExtensionCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+ CanWriteField "enabledExtensionCount" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, enabledExtensionCount}++instance {-# OVERLAPPING #-}+ HasField "ppEnabledExtensionNames" VkInstanceCreateInfo where+ type FieldType "ppEnabledExtensionNames" VkInstanceCreateInfo =+ Ptr CString+ type FieldOptional "ppEnabledExtensionNames" VkInstanceCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "ppEnabledExtensionNames" VkInstanceCreateInfo =+ #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}+ type FieldIsArray "ppEnabledExtensionNames" VkInstanceCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+ CanReadField "ppEnabledExtensionNames" VkInstanceCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkInstanceCreateInfo, ppEnabledExtensionNames})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++instance {-# OVERLAPPING #-}+ CanWriteField "ppEnabledExtensionNames" VkInstanceCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkInstanceCreateInfo, ppEnabledExtensionNames}++instance Show VkInstanceCreateInfo where+ showsPrec d x+ = showString "VkInstanceCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pApplicationInfo = " .+ showsPrec d (getField @"pApplicationInfo" x) .+ showString ", " .+ showString "enabledLayerCount = " .+ showsPrec d (getField @"enabledLayerCount" x) .+ showString ", " .+ showString "ppEnabledLayerNames = " .+ showsPrec d (getField @"ppEnabledLayerNames" x) .+ showString ", " .+ showString "enabledExtensionCount = " .+ showsPrec d+ (getField @"enabledExtensionCount" x)+ .+ showString ", " .+ showString "ppEnabledExtensionNames = " .+ showsPrec d+ (getField @"ppEnabledExtensionNames" x)+ . showChar '}'
@@ -0,0 +1,335 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.LayerProperties+ (VkLayerProperties(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##, Proxy##,+ byteArrayContents##,+ plusAddr##, proxy##)+import GHC.TypeLits (KnownNat, natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Constants (VK_MAX_DESCRIPTION_SIZE, pattern VK_MAX_DESCRIPTION_SIZE,+ VK_MAX_EXTENSION_NAME_SIZE,+ pattern VK_MAX_EXTENSION_NAME_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkLayerProperties {+-- > char layerName[VK_MAX_EXTENSION_NAME_SIZE];+-- > uint32_t specVersion;+-- > uint32_t implementationVersion;+-- > char description[VK_MAX_DESCRIPTION_SIZE];+-- > } VkLayerProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkLayerProperties VkLayerProperties registry at www.khronos.org>+data VkLayerProperties = VkLayerProperties## Addr## ByteArray##++instance Eq VkLayerProperties where+ (VkLayerProperties## a _) == x@(VkLayerProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkLayerProperties where+ (VkLayerProperties## a _) `compare` x@(VkLayerProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkLayerProperties where+ sizeOf ~_ = #{size VkLayerProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkLayerProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkLayerProperties where+ unsafeAddr (VkLayerProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkLayerProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkLayerProperties## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkLayerProperties where+ type StructFields VkLayerProperties =+ '["layerName", "specVersion", "implementationVersion", -- ' closing tick for hsc2hs+ "description"]+ type CUnionType VkLayerProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkLayerProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkLayerProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "layerName" VkLayerProperties+ where+ type FieldType "layerName" VkLayerProperties = CChar+ type FieldOptional "layerName" VkLayerProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layerName" VkLayerProperties =+ #{offset VkLayerProperties, layerName}+ type FieldIsArray "layerName" VkLayerProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkLayerProperties, layerName}++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "layerName" idx VkLayerProperties) =>+ CanReadFieldArray "layerName" idx VkLayerProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "layerName" 0 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "layerName" 1 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "layerName" 2 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "layerName" 3 VkLayerProperties #-}+ type FieldArrayLength "layerName" VkLayerProperties =+ VK_MAX_EXTENSION_NAME_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_EXTENSION_NAME_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkLayerProperties, layerName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkLayerProperties, layerName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx, IndexInBounds "layerName" idx VkLayerProperties) =>+ CanWriteFieldArray "layerName" idx VkLayerProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "layerName" 0 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "layerName" 1 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "layerName" 2 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "layerName" 3 VkLayerProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkLayerProperties, layerName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "specVersion" VkLayerProperties where+ type FieldType "specVersion" VkLayerProperties = Word32+ type FieldOptional "specVersion" VkLayerProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "specVersion" VkLayerProperties =+ #{offset VkLayerProperties, specVersion}+ type FieldIsArray "specVersion" VkLayerProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkLayerProperties, specVersion}++instance {-# OVERLAPPING #-}+ CanReadField "specVersion" VkLayerProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkLayerProperties, specVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkLayerProperties, specVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "specVersion" VkLayerProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkLayerProperties, specVersion}++instance {-# OVERLAPPING #-}+ HasField "implementationVersion" VkLayerProperties where+ type FieldType "implementationVersion" VkLayerProperties = Word32+ type FieldOptional "implementationVersion" VkLayerProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "implementationVersion" VkLayerProperties =+ #{offset VkLayerProperties, implementationVersion}+ type FieldIsArray "implementationVersion" VkLayerProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkLayerProperties, implementationVersion}++instance {-# OVERLAPPING #-}+ CanReadField "implementationVersion" VkLayerProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkLayerProperties, implementationVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkLayerProperties, implementationVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "implementationVersion" VkLayerProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkLayerProperties, implementationVersion}++instance {-# OVERLAPPING #-}+ HasField "description" VkLayerProperties where+ type FieldType "description" VkLayerProperties = CChar+ type FieldOptional "description" VkLayerProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "description" VkLayerProperties =+ #{offset VkLayerProperties, description}+ type FieldIsArray "description" VkLayerProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkLayerProperties, description}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "description" idx VkLayerProperties) =>+ CanReadFieldArray "description" idx VkLayerProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "description" 0 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "description" 1 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "description" 2 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "description" 3 VkLayerProperties #-}+ type FieldArrayLength "description" VkLayerProperties =+ VK_MAX_DESCRIPTION_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_DESCRIPTION_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkLayerProperties, description} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkLayerProperties, description} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "description" idx VkLayerProperties) =>+ CanWriteFieldArray "description" idx VkLayerProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "description" 0 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "description" 1 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "description" 2 VkLayerProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "description" 3 VkLayerProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkLayerProperties, description} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkLayerProperties where+ showsPrec d x+ = showString "VkLayerProperties {" .+ (showString "layerName = [" .+ showsPrec d+ (let s = sizeOf+ (undefined :: FieldType "layerName" VkLayerProperties)+ o = fieldOffset @"layerName" @VkLayerProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "layerName" VkLayerProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_MAX_EXTENSION_NAME_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ showString "specVersion = " .+ showsPrec d (getField @"specVersion" x) .+ showString ", " .+ showString "implementationVersion = " .+ showsPrec d (getField @"implementationVersion" x) .+ showString ", " .+ (showString "description = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "description" VkLayerProperties)+ o = fieldOffset @"description" @VkLayerProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "description" VkLayerProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_MAX_DESCRIPTION_SIZE - 1])+ . showChar ']')+ . showChar '}'
@@ -0,0 +1,250 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.MappedMemoryRange+ (VkMappedMemoryRange(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkDeviceMemory)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkMappedMemoryRange {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceMemory memory;+-- > VkDeviceSize offset;+-- > VkDeviceSize size;+-- > } VkMappedMemoryRange;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMappedMemoryRange VkMappedMemoryRange registry at www.khronos.org>+data VkMappedMemoryRange = VkMappedMemoryRange## Addr## ByteArray##++instance Eq VkMappedMemoryRange where+ (VkMappedMemoryRange## a _) == x@(VkMappedMemoryRange## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMappedMemoryRange where+ (VkMappedMemoryRange## a _) `compare` x@(VkMappedMemoryRange## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMappedMemoryRange where+ sizeOf ~_ = #{size VkMappedMemoryRange}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMappedMemoryRange}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMappedMemoryRange where+ unsafeAddr (VkMappedMemoryRange## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMappedMemoryRange## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMappedMemoryRange## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMappedMemoryRange where+ type StructFields VkMappedMemoryRange =+ '["sType", "pNext", "memory", "offset", "size"] -- ' closing tick for hsc2hs+ type CUnionType VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMappedMemoryRange = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkMappedMemoryRange+ where+ type FieldType "sType" VkMappedMemoryRange = VkStructureType+ type FieldOptional "sType" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMappedMemoryRange =+ #{offset VkMappedMemoryRange, sType}+ type FieldIsArray "sType" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMappedMemoryRange, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMappedMemoryRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMappedMemoryRange, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMappedMemoryRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMappedMemoryRange, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkMappedMemoryRange+ where+ type FieldType "pNext" VkMappedMemoryRange = Ptr Void+ type FieldOptional "pNext" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMappedMemoryRange =+ #{offset VkMappedMemoryRange, pNext}+ type FieldIsArray "pNext" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMappedMemoryRange, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMappedMemoryRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMappedMemoryRange, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMappedMemoryRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMappedMemoryRange, pNext}++instance {-# OVERLAPPING #-} HasField "memory" VkMappedMemoryRange+ where+ type FieldType "memory" VkMappedMemoryRange = VkDeviceMemory+ type FieldOptional "memory" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkMappedMemoryRange =+ #{offset VkMappedMemoryRange, memory}+ type FieldIsArray "memory" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMappedMemoryRange, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkMappedMemoryRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMappedMemoryRange, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkMappedMemoryRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMappedMemoryRange, memory}++instance {-# OVERLAPPING #-} HasField "offset" VkMappedMemoryRange+ where+ type FieldType "offset" VkMappedMemoryRange = VkDeviceSize+ type FieldOptional "offset" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkMappedMemoryRange =+ #{offset VkMappedMemoryRange, offset}+ type FieldIsArray "offset" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMappedMemoryRange, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkMappedMemoryRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMappedMemoryRange, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkMappedMemoryRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMappedMemoryRange, offset}++instance {-# OVERLAPPING #-} HasField "size" VkMappedMemoryRange+ where+ type FieldType "size" VkMappedMemoryRange = VkDeviceSize+ type FieldOptional "size" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkMappedMemoryRange =+ #{offset VkMappedMemoryRange, size}+ type FieldIsArray "size" VkMappedMemoryRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMappedMemoryRange, size}++instance {-# OVERLAPPING #-}+ CanReadField "size" VkMappedMemoryRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMappedMemoryRange, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMappedMemoryRange, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkMappedMemoryRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMappedMemoryRange, size}++instance Show VkMappedMemoryRange where+ showsPrec d x+ = showString "VkMappedMemoryRange {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) . showChar '}'
@@ -0,0 +1,2185 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Memory+ (VkMemoryAllocateFlagsInfo(..), VkMemoryAllocateFlagsInfoKHR,+ VkMemoryAllocateInfo(..), VkMemoryBarrier(..),+ VkMemoryDedicatedAllocateInfo(..),+ VkMemoryDedicatedAllocateInfoKHR,+ VkMemoryDedicatedRequirements(..),+ VkMemoryDedicatedRequirementsKHR, VkMemoryFdPropertiesKHR(..),+ VkMemoryGetFdInfoKHR(..), VkMemoryHeap(..),+ VkMemoryHostPointerPropertiesEXT(..), VkMemoryRequirements(..),+ VkMemoryRequirements2(..), VkMemoryRequirements2KHR,+ VkMemoryType(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32,+ VkDeviceSize)+import Graphics.Vulkan.Types.Enum.AccessFlags (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.External (VkExternalMemoryHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Memory (VkMemoryAllocateFlags,+ VkMemoryHeapFlags,+ VkMemoryPropertyFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer,+ VkDeviceMemory,+ VkImage)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkMemoryAllocateFlagsInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkMemoryAllocateFlags flags;+-- > uint32_t deviceMask;+-- > } VkMemoryAllocateFlagsInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo registry at www.khronos.org>+data VkMemoryAllocateFlagsInfo = VkMemoryAllocateFlagsInfo## Addr##+ ByteArray##++instance Eq VkMemoryAllocateFlagsInfo where+ (VkMemoryAllocateFlagsInfo## a _) ==+ x@(VkMemoryAllocateFlagsInfo## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryAllocateFlagsInfo where+ (VkMemoryAllocateFlagsInfo## a _) `compare`+ x@(VkMemoryAllocateFlagsInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryAllocateFlagsInfo where+ sizeOf ~_ = #{size VkMemoryAllocateFlagsInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryAllocateFlagsInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryAllocateFlagsInfo where+ unsafeAddr (VkMemoryAllocateFlagsInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryAllocateFlagsInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryAllocateFlagsInfo## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryAllocateFlagsInfo where+ type StructFields VkMemoryAllocateFlagsInfo =+ '["sType", "pNext", "flags", "deviceMask"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryAllocateFlagsInfo =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryAllocateFlagsInfo where+ type FieldType "sType" VkMemoryAllocateFlagsInfo = VkStructureType+ type FieldOptional "sType" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryAllocateFlagsInfo =+ #{offset VkMemoryAllocateFlagsInfo, sType}+ type FieldIsArray "sType" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryAllocateFlagsInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryAllocateFlagsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryAllocateFlagsInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryAllocateFlagsInfo where+ type FieldType "pNext" VkMemoryAllocateFlagsInfo = Ptr Void+ type FieldOptional "pNext" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryAllocateFlagsInfo =+ #{offset VkMemoryAllocateFlagsInfo, pNext}+ type FieldIsArray "pNext" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryAllocateFlagsInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryAllocateFlagsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryAllocateFlagsInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkMemoryAllocateFlagsInfo where+ type FieldType "flags" VkMemoryAllocateFlagsInfo =+ VkMemoryAllocateFlags+ type FieldOptional "flags" VkMemoryAllocateFlagsInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkMemoryAllocateFlagsInfo =+ #{offset VkMemoryAllocateFlagsInfo, flags}+ type FieldIsArray "flags" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryAllocateFlagsInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkMemoryAllocateFlagsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkMemoryAllocateFlagsInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "deviceMask" VkMemoryAllocateFlagsInfo where+ type FieldType "deviceMask" VkMemoryAllocateFlagsInfo = Word32+ type FieldOptional "deviceMask" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceMask" VkMemoryAllocateFlagsInfo =+ #{offset VkMemoryAllocateFlagsInfo, deviceMask}+ type FieldIsArray "deviceMask" VkMemoryAllocateFlagsInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryAllocateFlagsInfo, deviceMask}++instance {-# OVERLAPPING #-}+ CanReadField "deviceMask" VkMemoryAllocateFlagsInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateFlagsInfo, deviceMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateFlagsInfo, deviceMask}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceMask" VkMemoryAllocateFlagsInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateFlagsInfo, deviceMask}++instance Show VkMemoryAllocateFlagsInfo where+ showsPrec d x+ = showString "VkMemoryAllocateFlagsInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "deviceMask = " .+ showsPrec d (getField @"deviceMask" x) . showChar '}'++-- | Alias for `VkMemoryAllocateFlagsInfo`+type VkMemoryAllocateFlagsInfoKHR = VkMemoryAllocateFlagsInfo++-- | > typedef struct VkMemoryAllocateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceSize allocationSize;+-- > uint32_t memoryTypeIndex;+-- > } VkMemoryAllocateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryAllocateInfo VkMemoryAllocateInfo registry at www.khronos.org>+data VkMemoryAllocateInfo = VkMemoryAllocateInfo## Addr## ByteArray##++instance Eq VkMemoryAllocateInfo where+ (VkMemoryAllocateInfo## a _) == x@(VkMemoryAllocateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryAllocateInfo where+ (VkMemoryAllocateInfo## a _) `compare` x@(VkMemoryAllocateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryAllocateInfo where+ sizeOf ~_ = #{size VkMemoryAllocateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryAllocateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryAllocateInfo where+ unsafeAddr (VkMemoryAllocateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryAllocateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryAllocateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryAllocateInfo where+ type StructFields VkMemoryAllocateInfo =+ '["sType", "pNext", "allocationSize", "memoryTypeIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryAllocateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkMemoryAllocateInfo+ where+ type FieldType "sType" VkMemoryAllocateInfo = VkStructureType+ type FieldOptional "sType" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryAllocateInfo =+ #{offset VkMemoryAllocateInfo, sType}+ type FieldIsArray "sType" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryAllocateInfo+ where+ type FieldType "pNext" VkMemoryAllocateInfo = Ptr Void+ type FieldOptional "pNext" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryAllocateInfo =+ #{offset VkMemoryAllocateInfo, pNext}+ type FieldIsArray "pNext" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "allocationSize" VkMemoryAllocateInfo where+ type FieldType "allocationSize" VkMemoryAllocateInfo = VkDeviceSize+ type FieldOptional "allocationSize" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "allocationSize" VkMemoryAllocateInfo =+ #{offset VkMemoryAllocateInfo, allocationSize}+ type FieldIsArray "allocationSize" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryAllocateInfo, allocationSize}++instance {-# OVERLAPPING #-}+ CanReadField "allocationSize" VkMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, allocationSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateInfo, allocationSize}++instance {-# OVERLAPPING #-}+ CanWriteField "allocationSize" VkMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateInfo, allocationSize}++instance {-# OVERLAPPING #-}+ HasField "memoryTypeIndex" VkMemoryAllocateInfo where+ type FieldType "memoryTypeIndex" VkMemoryAllocateInfo = Word32+ type FieldOptional "memoryTypeIndex" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeIndex" VkMemoryAllocateInfo =+ #{offset VkMemoryAllocateInfo, memoryTypeIndex}+ type FieldIsArray "memoryTypeIndex" VkMemoryAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryAllocateInfo, memoryTypeIndex}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeIndex" VkMemoryAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryAllocateInfo, memoryTypeIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryAllocateInfo, memoryTypeIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeIndex" VkMemoryAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryAllocateInfo, memoryTypeIndex}++instance Show VkMemoryAllocateInfo where+ showsPrec d x+ = showString "VkMemoryAllocateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "allocationSize = " .+ showsPrec d (getField @"allocationSize" x) .+ showString ", " .+ showString "memoryTypeIndex = " .+ showsPrec d (getField @"memoryTypeIndex" x) . showChar '}'++-- | > typedef struct VkMemoryBarrier {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkAccessFlags srcAccessMask;+-- > VkAccessFlags dstAccessMask;+-- > } VkMemoryBarrier;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryBarrier VkMemoryBarrier registry at www.khronos.org>+data VkMemoryBarrier = VkMemoryBarrier## Addr## ByteArray##++instance Eq VkMemoryBarrier where+ (VkMemoryBarrier## a _) == x@(VkMemoryBarrier## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryBarrier where+ (VkMemoryBarrier## a _) `compare` x@(VkMemoryBarrier## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryBarrier where+ sizeOf ~_ = #{size VkMemoryBarrier}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryBarrier}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryBarrier where+ unsafeAddr (VkMemoryBarrier## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryBarrier## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryBarrier## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryBarrier where+ type StructFields VkMemoryBarrier =+ '["sType", "pNext", "srcAccessMask", "dstAccessMask"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryBarrier = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkMemoryBarrier where+ type FieldType "sType" VkMemoryBarrier = VkStructureType+ type FieldOptional "sType" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryBarrier =+ #{offset VkMemoryBarrier, sType}+ type FieldIsArray "sType" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryBarrier, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkMemoryBarrier+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryBarrier, sType}++instance {-# OVERLAPPING #-} CanWriteField "sType" VkMemoryBarrier+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryBarrier, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryBarrier where+ type FieldType "pNext" VkMemoryBarrier = Ptr Void+ type FieldOptional "pNext" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryBarrier =+ #{offset VkMemoryBarrier, pNext}+ type FieldIsArray "pNext" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryBarrier, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkMemoryBarrier+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryBarrier, pNext}++instance {-# OVERLAPPING #-} CanWriteField "pNext" VkMemoryBarrier+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryBarrier, pNext}++instance {-# OVERLAPPING #-}+ HasField "srcAccessMask" VkMemoryBarrier where+ type FieldType "srcAccessMask" VkMemoryBarrier = VkAccessFlags+ type FieldOptional "srcAccessMask" VkMemoryBarrier = 'True -- ' closing tick for hsc2hs+ type FieldOffset "srcAccessMask" VkMemoryBarrier =+ #{offset VkMemoryBarrier, srcAccessMask}+ type FieldIsArray "srcAccessMask" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "srcAccessMask" VkMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, srcAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "srcAccessMask" VkMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryBarrier, srcAccessMask}++instance {-# OVERLAPPING #-}+ HasField "dstAccessMask" VkMemoryBarrier where+ type FieldType "dstAccessMask" VkMemoryBarrier = VkAccessFlags+ type FieldOptional "dstAccessMask" VkMemoryBarrier = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dstAccessMask" VkMemoryBarrier =+ #{offset VkMemoryBarrier, dstAccessMask}+ type FieldIsArray "dstAccessMask" VkMemoryBarrier = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "dstAccessMask" VkMemoryBarrier where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryBarrier, dstAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryBarrier, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "dstAccessMask" VkMemoryBarrier where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryBarrier, dstAccessMask}++instance Show VkMemoryBarrier where+ showsPrec d x+ = showString "VkMemoryBarrier {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "srcAccessMask = " .+ showsPrec d (getField @"srcAccessMask" x) .+ showString ", " .+ showString "dstAccessMask = " .+ showsPrec d (getField @"dstAccessMask" x) . showChar '}'++-- | > typedef struct VkMemoryDedicatedAllocateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkImage image;+-- > VkBuffer buffer;+-- > } VkMemoryDedicatedAllocateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo registry at www.khronos.org>+data VkMemoryDedicatedAllocateInfo = VkMemoryDedicatedAllocateInfo## Addr##+ ByteArray##++instance Eq VkMemoryDedicatedAllocateInfo where+ (VkMemoryDedicatedAllocateInfo## a _) ==+ x@(VkMemoryDedicatedAllocateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryDedicatedAllocateInfo where+ (VkMemoryDedicatedAllocateInfo## a _) `compare`+ x@(VkMemoryDedicatedAllocateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryDedicatedAllocateInfo where+ sizeOf ~_ = #{size VkMemoryDedicatedAllocateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkMemoryDedicatedAllocateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryDedicatedAllocateInfo where+ unsafeAddr (VkMemoryDedicatedAllocateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryDedicatedAllocateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryDedicatedAllocateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryDedicatedAllocateInfo where+ type StructFields VkMemoryDedicatedAllocateInfo =+ '["sType", "pNext", "image", "buffer"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryDedicatedAllocateInfo =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryDedicatedAllocateInfo where+ type FieldType "sType" VkMemoryDedicatedAllocateInfo =+ VkStructureType+ type FieldOptional "sType" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryDedicatedAllocateInfo =+ #{offset VkMemoryDedicatedAllocateInfo, sType}+ type FieldIsArray "sType" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryDedicatedAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryDedicatedAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryDedicatedAllocateInfo where+ type FieldType "pNext" VkMemoryDedicatedAllocateInfo = Ptr Void+ type FieldOptional "pNext" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryDedicatedAllocateInfo =+ #{offset VkMemoryDedicatedAllocateInfo, pNext}+ type FieldIsArray "pNext" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryDedicatedAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryDedicatedAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "image" VkMemoryDedicatedAllocateInfo where+ type FieldType "image" VkMemoryDedicatedAllocateInfo = VkImage+ type FieldOptional "image" VkMemoryDedicatedAllocateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "image" VkMemoryDedicatedAllocateInfo =+ #{offset VkMemoryDedicatedAllocateInfo, image}+ type FieldIsArray "image" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedAllocateInfo, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkMemoryDedicatedAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkMemoryDedicatedAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, image}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkMemoryDedicatedAllocateInfo where+ type FieldType "buffer" VkMemoryDedicatedAllocateInfo = VkBuffer+ type FieldOptional "buffer" VkMemoryDedicatedAllocateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkMemoryDedicatedAllocateInfo =+ #{offset VkMemoryDedicatedAllocateInfo, buffer}+ type FieldIsArray "buffer" VkMemoryDedicatedAllocateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedAllocateInfo, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkMemoryDedicatedAllocateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedAllocateInfo, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedAllocateInfo, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkMemoryDedicatedAllocateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedAllocateInfo, buffer}++instance Show VkMemoryDedicatedAllocateInfo where+ showsPrec d x+ = showString "VkMemoryDedicatedAllocateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) . showChar '}'++-- | Alias for `VkMemoryDedicatedAllocateInfo`+type VkMemoryDedicatedAllocateInfoKHR =+ VkMemoryDedicatedAllocateInfo++-- | > typedef struct VkMemoryDedicatedRequirements {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 prefersDedicatedAllocation;+-- > VkBool32 requiresDedicatedAllocation;+-- > } VkMemoryDedicatedRequirements;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements registry at www.khronos.org>+data VkMemoryDedicatedRequirements = VkMemoryDedicatedRequirements## Addr##+ ByteArray##++instance Eq VkMemoryDedicatedRequirements where+ (VkMemoryDedicatedRequirements## a _) ==+ x@(VkMemoryDedicatedRequirements## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryDedicatedRequirements where+ (VkMemoryDedicatedRequirements## a _) `compare`+ x@(VkMemoryDedicatedRequirements## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryDedicatedRequirements where+ sizeOf ~_ = #{size VkMemoryDedicatedRequirements}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkMemoryDedicatedRequirements}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryDedicatedRequirements where+ unsafeAddr (VkMemoryDedicatedRequirements## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryDedicatedRequirements## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryDedicatedRequirements##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryDedicatedRequirements where+ type StructFields VkMemoryDedicatedRequirements =+ '["sType", "pNext", "prefersDedicatedAllocation", -- ' closing tick for hsc2hs+ "requiresDedicatedAllocation"]+ type CUnionType VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryDedicatedRequirements = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryDedicatedRequirements =+ '[VkMemoryRequirements2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryDedicatedRequirements where+ type FieldType "sType" VkMemoryDedicatedRequirements =+ VkStructureType+ type FieldOptional "sType" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryDedicatedRequirements =+ #{offset VkMemoryDedicatedRequirements, sType}+ type FieldIsArray "sType" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedRequirements, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryDedicatedRequirements where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedRequirements, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryDedicatedRequirements where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedRequirements, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryDedicatedRequirements where+ type FieldType "pNext" VkMemoryDedicatedRequirements = Ptr Void+ type FieldOptional "pNext" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryDedicatedRequirements =+ #{offset VkMemoryDedicatedRequirements, pNext}+ type FieldIsArray "pNext" VkMemoryDedicatedRequirements = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedRequirements, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryDedicatedRequirements where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedRequirements, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryDedicatedRequirements where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedRequirements, pNext}++instance {-# OVERLAPPING #-}+ HasField "prefersDedicatedAllocation" VkMemoryDedicatedRequirements+ where+ type FieldType "prefersDedicatedAllocation"+ VkMemoryDedicatedRequirements+ = VkBool32+ type FieldOptional "prefersDedicatedAllocation"+ VkMemoryDedicatedRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "prefersDedicatedAllocation"+ VkMemoryDedicatedRequirements+ =+ #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}+ type FieldIsArray "prefersDedicatedAllocation"+ VkMemoryDedicatedRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "prefersDedicatedAllocation"+ VkMemoryDedicatedRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "prefersDedicatedAllocation"+ VkMemoryDedicatedRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedRequirements, prefersDedicatedAllocation}++instance {-# OVERLAPPING #-}+ HasField "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ where+ type FieldType "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ = VkBool32+ type FieldOptional "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ =+ #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}+ type FieldIsArray "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "requiresDedicatedAllocation"+ VkMemoryDedicatedRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryDedicatedRequirements, requiresDedicatedAllocation}++instance Show VkMemoryDedicatedRequirements where+ showsPrec d x+ = showString "VkMemoryDedicatedRequirements {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "prefersDedicatedAllocation = " .+ showsPrec d (getField @"prefersDedicatedAllocation" x) .+ showString ", " .+ showString "requiresDedicatedAllocation = " .+ showsPrec d (getField @"requiresDedicatedAllocation" x) .+ showChar '}'++-- | Alias for `VkMemoryDedicatedRequirements`+type VkMemoryDedicatedRequirementsKHR =+ VkMemoryDedicatedRequirements++-- | > typedef struct VkMemoryFdPropertiesKHR {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t memoryTypeBits;+-- > } VkMemoryFdPropertiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR registry at www.khronos.org>+data VkMemoryFdPropertiesKHR = VkMemoryFdPropertiesKHR## Addr##+ ByteArray##++instance Eq VkMemoryFdPropertiesKHR where+ (VkMemoryFdPropertiesKHR## a _) == x@(VkMemoryFdPropertiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryFdPropertiesKHR where+ (VkMemoryFdPropertiesKHR## a _) `compare`+ x@(VkMemoryFdPropertiesKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryFdPropertiesKHR where+ sizeOf ~_ = #{size VkMemoryFdPropertiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryFdPropertiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryFdPropertiesKHR where+ unsafeAddr (VkMemoryFdPropertiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryFdPropertiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryFdPropertiesKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryFdPropertiesKHR where+ type StructFields VkMemoryFdPropertiesKHR =+ '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryFdPropertiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryFdPropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryFdPropertiesKHR where+ type FieldType "sType" VkMemoryFdPropertiesKHR = VkStructureType+ type FieldOptional "sType" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryFdPropertiesKHR =+ #{offset VkMemoryFdPropertiesKHR, sType}+ type FieldIsArray "sType" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryFdPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryFdPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryFdPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryFdPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryFdPropertiesKHR where+ type FieldType "pNext" VkMemoryFdPropertiesKHR = Ptr Void+ type FieldOptional "pNext" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryFdPropertiesKHR =+ #{offset VkMemoryFdPropertiesKHR, pNext}+ type FieldIsArray "pNext" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryFdPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryFdPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryFdPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryFdPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "memoryTypeBits" VkMemoryFdPropertiesKHR where+ type FieldType "memoryTypeBits" VkMemoryFdPropertiesKHR = Word32+ type FieldOptional "memoryTypeBits" VkMemoryFdPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeBits" VkMemoryFdPropertiesKHR =+ #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}+ type FieldIsArray "memoryTypeBits" VkMemoryFdPropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeBits" VkMemoryFdPropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryFdPropertiesKHR, memoryTypeBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeBits" VkMemoryFdPropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryFdPropertiesKHR, memoryTypeBits}++instance Show VkMemoryFdPropertiesKHR where+ showsPrec d x+ = showString "VkMemoryFdPropertiesKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memoryTypeBits = " .+ showsPrec d (getField @"memoryTypeBits" x) . showChar '}'++-- | > typedef struct VkMemoryGetFdInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceMemory memory;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > } VkMemoryGetFdInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR registry at www.khronos.org>+data VkMemoryGetFdInfoKHR = VkMemoryGetFdInfoKHR## Addr## ByteArray##++instance Eq VkMemoryGetFdInfoKHR where+ (VkMemoryGetFdInfoKHR## a _) == x@(VkMemoryGetFdInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryGetFdInfoKHR where+ (VkMemoryGetFdInfoKHR## a _) `compare` x@(VkMemoryGetFdInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryGetFdInfoKHR where+ sizeOf ~_ = #{size VkMemoryGetFdInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryGetFdInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryGetFdInfoKHR where+ unsafeAddr (VkMemoryGetFdInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryGetFdInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryGetFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryGetFdInfoKHR where+ type StructFields VkMemoryGetFdInfoKHR =+ '["sType", "pNext", "memory", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryGetFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkMemoryGetFdInfoKHR+ where+ type FieldType "sType" VkMemoryGetFdInfoKHR = VkStructureType+ type FieldOptional "sType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryGetFdInfoKHR =+ #{offset VkMemoryGetFdInfoKHR, sType}+ type FieldIsArray "sType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryGetFdInfoKHR+ where+ type FieldType "pNext" VkMemoryGetFdInfoKHR = Ptr Void+ type FieldOptional "pNext" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryGetFdInfoKHR =+ #{offset VkMemoryGetFdInfoKHR, pNext}+ type FieldIsArray "pNext" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-} HasField "memory" VkMemoryGetFdInfoKHR+ where+ type FieldType "memory" VkMemoryGetFdInfoKHR = VkDeviceMemory+ type FieldOptional "memory" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkMemoryGetFdInfoKHR =+ #{offset VkMemoryGetFdInfoKHR, memory}+ type FieldIsArray "memory" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryGetFdInfoKHR, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkMemoryGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetFdInfoKHR, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkMemoryGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, memory}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkMemoryGetFdInfoKHR where+ type FieldType "handleType" VkMemoryGetFdInfoKHR =+ VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkMemoryGetFdInfoKHR =+ #{offset VkMemoryGetFdInfoKHR, handleType}+ type FieldIsArray "handleType" VkMemoryGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkMemoryGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetFdInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkMemoryGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetFdInfoKHR, handleType}++instance Show VkMemoryGetFdInfoKHR where+ showsPrec d x+ = showString "VkMemoryGetFdInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | > typedef struct VkMemoryHeap {+-- > VkDeviceSize size;+-- > VkMemoryHeapFlags flags;+-- > } VkMemoryHeap;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryHeap VkMemoryHeap registry at www.khronos.org>+data VkMemoryHeap = VkMemoryHeap## Addr## ByteArray##++instance Eq VkMemoryHeap where+ (VkMemoryHeap## a _) == x@(VkMemoryHeap## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryHeap where+ (VkMemoryHeap## a _) `compare` x@(VkMemoryHeap## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryHeap where+ sizeOf ~_ = #{size VkMemoryHeap}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryHeap}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryHeap where+ unsafeAddr (VkMemoryHeap## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryHeap## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryHeap## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryHeap where+ type StructFields VkMemoryHeap = '["size", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryHeap = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryHeap = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryHeap = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "size" VkMemoryHeap where+ type FieldType "size" VkMemoryHeap = VkDeviceSize+ type FieldOptional "size" VkMemoryHeap = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkMemoryHeap =+ #{offset VkMemoryHeap, size}+ type FieldIsArray "size" VkMemoryHeap = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryHeap, size}++instance {-# OVERLAPPING #-} CanReadField "size" VkMemoryHeap where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryHeap, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryHeap, size}++instance {-# OVERLAPPING #-} CanWriteField "size" VkMemoryHeap+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryHeap, size}++instance {-# OVERLAPPING #-} HasField "flags" VkMemoryHeap where+ type FieldType "flags" VkMemoryHeap = VkMemoryHeapFlags+ type FieldOptional "flags" VkMemoryHeap = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkMemoryHeap =+ #{offset VkMemoryHeap, flags}+ type FieldIsArray "flags" VkMemoryHeap = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryHeap, flags}++instance {-# OVERLAPPING #-} CanReadField "flags" VkMemoryHeap+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryHeap, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryHeap, flags}++instance {-# OVERLAPPING #-} CanWriteField "flags" VkMemoryHeap+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryHeap, flags}++instance Show VkMemoryHeap where+ showsPrec d x+ = showString "VkMemoryHeap {" .+ showString "size = " .+ showsPrec d (getField @"size" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | > typedef struct VkMemoryHostPointerPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t memoryTypeBits;+-- > } VkMemoryHostPointerPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT registry at www.khronos.org>+data VkMemoryHostPointerPropertiesEXT = VkMemoryHostPointerPropertiesEXT## Addr##+ ByteArray##++instance Eq VkMemoryHostPointerPropertiesEXT where+ (VkMemoryHostPointerPropertiesEXT## a _) ==+ x@(VkMemoryHostPointerPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryHostPointerPropertiesEXT where+ (VkMemoryHostPointerPropertiesEXT## a _) `compare`+ x@(VkMemoryHostPointerPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryHostPointerPropertiesEXT where+ sizeOf ~_ = #{size VkMemoryHostPointerPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkMemoryHostPointerPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryHostPointerPropertiesEXT where+ unsafeAddr (VkMemoryHostPointerPropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryHostPointerPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryHostPointerPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryHostPointerPropertiesEXT where+ type StructFields VkMemoryHostPointerPropertiesEXT =+ '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryHostPointerPropertiesEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryHostPointerPropertiesEXT where+ type FieldType "sType" VkMemoryHostPointerPropertiesEXT =+ VkStructureType+ type FieldOptional "sType" VkMemoryHostPointerPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryHostPointerPropertiesEXT =+ #{offset VkMemoryHostPointerPropertiesEXT, sType}+ type FieldIsArray "sType" VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryHostPointerPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryHostPointerPropertiesEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryHostPointerPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryHostPointerPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryHostPointerPropertiesEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryHostPointerPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryHostPointerPropertiesEXT where+ type FieldType "pNext" VkMemoryHostPointerPropertiesEXT = Ptr Void+ type FieldOptional "pNext" VkMemoryHostPointerPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryHostPointerPropertiesEXT =+ #{offset VkMemoryHostPointerPropertiesEXT, pNext}+ type FieldIsArray "pNext" VkMemoryHostPointerPropertiesEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryHostPointerPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryHostPointerPropertiesEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryHostPointerPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryHostPointerPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryHostPointerPropertiesEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryHostPointerPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "memoryTypeBits" VkMemoryHostPointerPropertiesEXT where+ type FieldType "memoryTypeBits" VkMemoryHostPointerPropertiesEXT =+ Word32+ type FieldOptional "memoryTypeBits"+ VkMemoryHostPointerPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeBits" VkMemoryHostPointerPropertiesEXT+ =+ #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}+ type FieldIsArray "memoryTypeBits" VkMemoryHostPointerPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeBits" VkMemoryHostPointerPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeBits" VkMemoryHostPointerPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryHostPointerPropertiesEXT, memoryTypeBits}++instance Show VkMemoryHostPointerPropertiesEXT where+ showsPrec d x+ = showString "VkMemoryHostPointerPropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memoryTypeBits = " .+ showsPrec d (getField @"memoryTypeBits" x) . showChar '}'++-- | > typedef struct VkMemoryRequirements {+-- > VkDeviceSize size;+-- > VkDeviceSize alignment;+-- > uint32_t memoryTypeBits;+-- > } VkMemoryRequirements;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryRequirements VkMemoryRequirements registry at www.khronos.org>+data VkMemoryRequirements = VkMemoryRequirements## Addr## ByteArray##++instance Eq VkMemoryRequirements where+ (VkMemoryRequirements## a _) == x@(VkMemoryRequirements## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryRequirements where+ (VkMemoryRequirements## a _) `compare` x@(VkMemoryRequirements## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryRequirements where+ sizeOf ~_ = #{size VkMemoryRequirements}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryRequirements}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryRequirements where+ unsafeAddr (VkMemoryRequirements## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryRequirements## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryRequirements## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryRequirements where+ type StructFields VkMemoryRequirements =+ '["size", "alignment", "memoryTypeBits"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryRequirements = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryRequirements = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryRequirements = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "size" VkMemoryRequirements+ where+ type FieldType "size" VkMemoryRequirements = VkDeviceSize+ type FieldOptional "size" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkMemoryRequirements =+ #{offset VkMemoryRequirements, size}+ type FieldIsArray "size" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryRequirements, size}++instance {-# OVERLAPPING #-}+ CanReadField "size" VkMemoryRequirements where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryRequirements, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkMemoryRequirements where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryRequirements, size}++instance {-# OVERLAPPING #-}+ HasField "alignment" VkMemoryRequirements where+ type FieldType "alignment" VkMemoryRequirements = VkDeviceSize+ type FieldOptional "alignment" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs+ type FieldOffset "alignment" VkMemoryRequirements =+ #{offset VkMemoryRequirements, alignment}+ type FieldIsArray "alignment" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryRequirements, alignment}++instance {-# OVERLAPPING #-}+ CanReadField "alignment" VkMemoryRequirements where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements, alignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryRequirements, alignment}++instance {-# OVERLAPPING #-}+ CanWriteField "alignment" VkMemoryRequirements where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryRequirements, alignment}++instance {-# OVERLAPPING #-}+ HasField "memoryTypeBits" VkMemoryRequirements where+ type FieldType "memoryTypeBits" VkMemoryRequirements = Word32+ type FieldOptional "memoryTypeBits" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeBits" VkMemoryRequirements =+ #{offset VkMemoryRequirements, memoryTypeBits}+ type FieldIsArray "memoryTypeBits" VkMemoryRequirements = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryRequirements, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeBits" VkMemoryRequirements where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements, memoryTypeBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryRequirements, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeBits" VkMemoryRequirements where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryRequirements, memoryTypeBits}++instance Show VkMemoryRequirements where+ showsPrec d x+ = showString "VkMemoryRequirements {" .+ showString "size = " .+ showsPrec d (getField @"size" x) .+ showString ", " .+ showString "alignment = " .+ showsPrec d (getField @"alignment" x) .+ showString ", " .+ showString "memoryTypeBits = " .+ showsPrec d (getField @"memoryTypeBits" x) . showChar '}'++-- | > typedef struct VkMemoryRequirements2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkMemoryRequirements memoryRequirements;+-- > } VkMemoryRequirements2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryRequirements2 VkMemoryRequirements2 registry at www.khronos.org>+data VkMemoryRequirements2 = VkMemoryRequirements2## Addr##+ ByteArray##++instance Eq VkMemoryRequirements2 where+ (VkMemoryRequirements2## a _) == x@(VkMemoryRequirements2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryRequirements2 where+ (VkMemoryRequirements2## a _) `compare`+ x@(VkMemoryRequirements2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryRequirements2 where+ sizeOf ~_ = #{size VkMemoryRequirements2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryRequirements2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryRequirements2 where+ unsafeAddr (VkMemoryRequirements2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryRequirements2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryRequirements2## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryRequirements2 where+ type StructFields VkMemoryRequirements2 =+ '["sType", "pNext", "memoryRequirements"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryRequirements2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryRequirements2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkMemoryRequirements2+ where+ type FieldType "sType" VkMemoryRequirements2 = VkStructureType+ type FieldOptional "sType" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryRequirements2 =+ #{offset VkMemoryRequirements2, sType}+ type FieldIsArray "sType" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryRequirements2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryRequirements2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryRequirements2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryRequirements2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryRequirements2, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkMemoryRequirements2+ where+ type FieldType "pNext" VkMemoryRequirements2 = Ptr Void+ type FieldOptional "pNext" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryRequirements2 =+ #{offset VkMemoryRequirements2, pNext}+ type FieldIsArray "pNext" VkMemoryRequirements2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryRequirements2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryRequirements2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryRequirements2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryRequirements2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryRequirements2, pNext}++instance {-# OVERLAPPING #-}+ HasField "memoryRequirements" VkMemoryRequirements2 where+ type FieldType "memoryRequirements" VkMemoryRequirements2 =+ VkMemoryRequirements+ type FieldOptional "memoryRequirements" VkMemoryRequirements2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryRequirements" VkMemoryRequirements2 =+ #{offset VkMemoryRequirements2, memoryRequirements}+ type FieldIsArray "memoryRequirements" VkMemoryRequirements2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryRequirements2, memoryRequirements}++instance {-# OVERLAPPING #-}+ CanReadField "memoryRequirements" VkMemoryRequirements2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryRequirements2, memoryRequirements})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryRequirements2, memoryRequirements}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryRequirements" VkMemoryRequirements2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryRequirements2, memoryRequirements}++instance Show VkMemoryRequirements2 where+ showsPrec d x+ = showString "VkMemoryRequirements2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memoryRequirements = " .+ showsPrec d (getField @"memoryRequirements" x) . showChar '}'++-- | Alias for `VkMemoryRequirements2`+type VkMemoryRequirements2KHR = VkMemoryRequirements2++-- | > typedef struct VkMemoryType {+-- > VkMemoryPropertyFlags propertyFlags;+-- > uint32_t heapIndex;+-- > } VkMemoryType;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryType VkMemoryType registry at www.khronos.org>+data VkMemoryType = VkMemoryType## Addr## ByteArray##++instance Eq VkMemoryType where+ (VkMemoryType## a _) == x@(VkMemoryType## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryType where+ (VkMemoryType## a _) `compare` x@(VkMemoryType## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryType where+ sizeOf ~_ = #{size VkMemoryType}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMemoryType}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryType where+ unsafeAddr (VkMemoryType## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryType## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryType## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryType where+ type StructFields VkMemoryType = '["propertyFlags", "heapIndex"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryType = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryType = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryType = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "propertyFlags" VkMemoryType+ where+ type FieldType "propertyFlags" VkMemoryType = VkMemoryPropertyFlags+ type FieldOptional "propertyFlags" VkMemoryType = 'True -- ' closing tick for hsc2hs+ type FieldOffset "propertyFlags" VkMemoryType =+ #{offset VkMemoryType, propertyFlags}+ type FieldIsArray "propertyFlags" VkMemoryType = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryType, propertyFlags}++instance {-# OVERLAPPING #-}+ CanReadField "propertyFlags" VkMemoryType where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryType, propertyFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryType, propertyFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "propertyFlags" VkMemoryType where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryType, propertyFlags}++instance {-# OVERLAPPING #-} HasField "heapIndex" VkMemoryType+ where+ type FieldType "heapIndex" VkMemoryType = Word32+ type FieldOptional "heapIndex" VkMemoryType = 'False -- ' closing tick for hsc2hs+ type FieldOffset "heapIndex" VkMemoryType =+ #{offset VkMemoryType, heapIndex}+ type FieldIsArray "heapIndex" VkMemoryType = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkMemoryType, heapIndex}++instance {-# OVERLAPPING #-} CanReadField "heapIndex" VkMemoryType+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryType, heapIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryType, heapIndex}++instance {-# OVERLAPPING #-} CanWriteField "heapIndex" VkMemoryType+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryType, heapIndex}++instance Show VkMemoryType where+ showsPrec d x+ = showString "VkMemoryType {" .+ showString "propertyFlags = " .+ showsPrec d (getField @"propertyFlags" x) .+ showString ", " .+ showString "heapIndex = " .+ showsPrec d (getField @"heapIndex" x) . showChar '}'
@@ -0,0 +1,199 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT+ (VkMultisamplePropertiesEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkMultisamplePropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkExtent2D maxSampleLocationGridSize;+-- > } VkMultisamplePropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMultisamplePropertiesEXT VkMultisamplePropertiesEXT registry at www.khronos.org>+data VkMultisamplePropertiesEXT = VkMultisamplePropertiesEXT## Addr##+ ByteArray##++instance Eq VkMultisamplePropertiesEXT where+ (VkMultisamplePropertiesEXT## a _) ==+ x@(VkMultisamplePropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMultisamplePropertiesEXT where+ (VkMultisamplePropertiesEXT## a _) `compare`+ x@(VkMultisamplePropertiesEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMultisamplePropertiesEXT where+ sizeOf ~_ = #{size VkMultisamplePropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMultisamplePropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMultisamplePropertiesEXT where+ unsafeAddr (VkMultisamplePropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMultisamplePropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMultisamplePropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMultisamplePropertiesEXT where+ type StructFields VkMultisamplePropertiesEXT =+ '["sType", "pNext", "maxSampleLocationGridSize"] -- ' closing tick for hsc2hs+ type CUnionType VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMultisamplePropertiesEXT = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMultisamplePropertiesEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMultisamplePropertiesEXT where+ type FieldType "sType" VkMultisamplePropertiesEXT = VkStructureType+ type FieldOptional "sType" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMultisamplePropertiesEXT =+ #{offset VkMultisamplePropertiesEXT, sType}+ type FieldIsArray "sType" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMultisamplePropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMultisamplePropertiesEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMultisamplePropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMultisamplePropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMultisamplePropertiesEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMultisamplePropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMultisamplePropertiesEXT where+ type FieldType "pNext" VkMultisamplePropertiesEXT = Ptr Void+ type FieldOptional "pNext" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMultisamplePropertiesEXT =+ #{offset VkMultisamplePropertiesEXT, pNext}+ type FieldIsArray "pNext" VkMultisamplePropertiesEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMultisamplePropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMultisamplePropertiesEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMultisamplePropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMultisamplePropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMultisamplePropertiesEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMultisamplePropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxSampleLocationGridSize" VkMultisamplePropertiesEXT+ where+ type FieldType "maxSampleLocationGridSize"+ VkMultisamplePropertiesEXT+ = VkExtent2D+ type FieldOptional "maxSampleLocationGridSize"+ VkMultisamplePropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSampleLocationGridSize"+ VkMultisamplePropertiesEXT+ =+ #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}+ type FieldIsArray "maxSampleLocationGridSize"+ VkMultisamplePropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxSampleLocationGridSize" VkMultisamplePropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSampleLocationGridSize"+ VkMultisamplePropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMultisamplePropertiesEXT, maxSampleLocationGridSize}++instance Show VkMultisamplePropertiesEXT where+ showsPrec d x+ = showString "VkMultisamplePropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxSampleLocationGridSize = " .+ showsPrec d (getField @"maxSampleLocationGridSize" x) .+ showChar '}'
@@ -0,0 +1,1720 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.ObjectTable+ (VkObjectTableCreateInfoNVX(..),+ VkObjectTableDescriptorSetEntryNVX(..), VkObjectTableEntryNVX(..),+ VkObjectTableIndexBufferEntryNVX(..),+ VkObjectTablePipelineEntryNVX(..),+ VkObjectTablePushConstantEntryNVX(..),+ VkObjectTableVertexBufferEntryNVX(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.IndexType (VkIndexType)+import Graphics.Vulkan.Types.Enum.Object (VkObjectEntryTypeNVX, VkObjectEntryUsageFlagsNVX)+import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer,+ VkDescriptorSet,+ VkPipeline,+ VkPipelineLayout)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkObjectTableCreateInfoNVX {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t objectCount;+-- > const VkObjectEntryTypeNVX* pObjectEntryTypes;+-- > const uint32_t* pObjectEntryCounts;+-- > const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;+-- > uint32_t maxUniformBuffersPerDescriptor;+-- > uint32_t maxStorageBuffersPerDescriptor;+-- > uint32_t maxStorageImagesPerDescriptor;+-- > uint32_t maxSampledImagesPerDescriptor;+-- > uint32_t maxPipelineLayouts;+-- > } VkObjectTableCreateInfoNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableCreateInfoNVX VkObjectTableCreateInfoNVX registry at www.khronos.org>+data VkObjectTableCreateInfoNVX = VkObjectTableCreateInfoNVX## Addr##+ ByteArray##++instance Eq VkObjectTableCreateInfoNVX where+ (VkObjectTableCreateInfoNVX## a _) ==+ x@(VkObjectTableCreateInfoNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTableCreateInfoNVX where+ (VkObjectTableCreateInfoNVX## a _) `compare`+ x@(VkObjectTableCreateInfoNVX## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTableCreateInfoNVX where+ sizeOf ~_ = #{size VkObjectTableCreateInfoNVX}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkObjectTableCreateInfoNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTableCreateInfoNVX where+ unsafeAddr (VkObjectTableCreateInfoNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTableCreateInfoNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTableCreateInfoNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTableCreateInfoNVX where+ type StructFields VkObjectTableCreateInfoNVX =+ '["sType", "pNext", "objectCount", "pObjectEntryTypes", -- ' closing tick for hsc2hs+ "pObjectEntryCounts", "pObjectEntryUsageFlags",+ "maxUniformBuffersPerDescriptor", "maxStorageBuffersPerDescriptor",+ "maxStorageImagesPerDescriptor", "maxSampledImagesPerDescriptor",+ "maxPipelineLayouts"]+ type CUnionType VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTableCreateInfoNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkObjectTableCreateInfoNVX where+ type FieldType "sType" VkObjectTableCreateInfoNVX = VkStructureType+ type FieldOptional "sType" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkObjectTableCreateInfoNVX =+ #{offset VkObjectTableCreateInfoNVX, sType}+ type FieldIsArray "sType" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkObjectTableCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkObjectTableCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkObjectTableCreateInfoNVX where+ type FieldType "pNext" VkObjectTableCreateInfoNVX = Ptr Void+ type FieldOptional "pNext" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkObjectTableCreateInfoNVX =+ #{offset VkObjectTableCreateInfoNVX, pNext}+ type FieldIsArray "pNext" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkObjectTableCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkObjectTableCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "objectCount" VkObjectTableCreateInfoNVX where+ type FieldType "objectCount" VkObjectTableCreateInfoNVX = Word32+ type FieldOptional "objectCount" VkObjectTableCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "objectCount" VkObjectTableCreateInfoNVX =+ #{offset VkObjectTableCreateInfoNVX, objectCount}+ type FieldIsArray "objectCount" VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, objectCount}++instance {-# OVERLAPPING #-}+ CanReadField "objectCount" VkObjectTableCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, objectCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, objectCount}++instance {-# OVERLAPPING #-}+ CanWriteField "objectCount" VkObjectTableCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, objectCount}++instance {-# OVERLAPPING #-}+ HasField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where+ type FieldType "pObjectEntryTypes" VkObjectTableCreateInfoNVX =+ Ptr VkObjectEntryTypeNVX+ type FieldOptional "pObjectEntryTypes" VkObjectTableCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pObjectEntryTypes" VkObjectTableCreateInfoNVX =+ #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}+ type FieldIsArray "pObjectEntryTypes" VkObjectTableCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}++instance {-# OVERLAPPING #-}+ CanReadField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}++instance {-# OVERLAPPING #-}+ CanWriteField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryTypes}++instance {-# OVERLAPPING #-}+ HasField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where+ type FieldType "pObjectEntryCounts" VkObjectTableCreateInfoNVX =+ Ptr Word32+ type FieldOptional "pObjectEntryCounts" VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pObjectEntryCounts" VkObjectTableCreateInfoNVX =+ #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}+ type FieldIsArray "pObjectEntryCounts" VkObjectTableCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}++instance {-# OVERLAPPING #-}+ CanReadField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryCounts}++instance {-# OVERLAPPING #-}+ HasField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX where+ type FieldType "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX+ = Ptr VkObjectEntryUsageFlagsNVX+ type FieldOptional "pObjectEntryUsageFlags"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pObjectEntryUsageFlags"+ VkObjectTableCreateInfoNVX+ =+ #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}+ type FieldIsArray "pObjectEntryUsageFlags"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, pObjectEntryUsageFlags}++instance {-# OVERLAPPING #-}+ HasField "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ type FieldType "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ = Word32+ type FieldOptional "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ =+ #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}+ type FieldIsArray "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}++instance {-# OVERLAPPING #-}+ CanReadField "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}++instance {-# OVERLAPPING #-}+ CanWriteField "maxUniformBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxUniformBuffersPerDescriptor}++instance {-# OVERLAPPING #-}+ HasField "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ type FieldType "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ = Word32+ type FieldOptional "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ =+ #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}+ type FieldIsArray "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}++instance {-# OVERLAPPING #-}+ CanReadField "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}++instance {-# OVERLAPPING #-}+ CanWriteField "maxStorageBuffersPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageBuffersPerDescriptor}++instance {-# OVERLAPPING #-}+ HasField "maxStorageImagesPerDescriptor" VkObjectTableCreateInfoNVX+ where+ type FieldType "maxStorageImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ = Word32+ type FieldOptional "maxStorageImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxStorageImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ =+ #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}+ type FieldIsArray "maxStorageImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}++instance {-# OVERLAPPING #-}+ CanReadField "maxStorageImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}++instance {-# OVERLAPPING #-}+ CanWriteField "maxStorageImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxStorageImagesPerDescriptor}++instance {-# OVERLAPPING #-}+ HasField "maxSampledImagesPerDescriptor" VkObjectTableCreateInfoNVX+ where+ type FieldType "maxSampledImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ = Word32+ type FieldOptional "maxSampledImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSampledImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ =+ #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}+ type FieldIsArray "maxSampledImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}++instance {-# OVERLAPPING #-}+ CanReadField "maxSampledImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSampledImagesPerDescriptor"+ VkObjectTableCreateInfoNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxSampledImagesPerDescriptor}++instance {-# OVERLAPPING #-}+ HasField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where+ type FieldType "maxPipelineLayouts" VkObjectTableCreateInfoNVX =+ Word32+ type FieldOptional "maxPipelineLayouts" VkObjectTableCreateInfoNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPipelineLayouts" VkObjectTableCreateInfoNVX =+ #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}+ type FieldIsArray "maxPipelineLayouts" VkObjectTableCreateInfoNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}++instance {-# OVERLAPPING #-}+ CanReadField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableCreateInfoNVX, maxPipelineLayouts}++instance Show VkObjectTableCreateInfoNVX where+ showsPrec d x+ = showString "VkObjectTableCreateInfoNVX {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "objectCount = " .+ showsPrec d (getField @"objectCount" x) .+ showString ", " .+ showString "pObjectEntryTypes = " .+ showsPrec d (getField @"pObjectEntryTypes" x) .+ showString ", " .+ showString "pObjectEntryCounts = " .+ showsPrec d (getField @"pObjectEntryCounts" x) .+ showString ", " .+ showString "pObjectEntryUsageFlags = " .+ showsPrec d (getField @"pObjectEntryUsageFlags" x) .+ showString ", " .+ showString "maxUniformBuffersPerDescriptor = " .+ showsPrec d+ (getField @"maxUniformBuffersPerDescriptor" x)+ .+ showString ", " .+ showString+ "maxStorageBuffersPerDescriptor = "+ .+ showsPrec d+ (getField+ @"maxStorageBuffersPerDescriptor"+ x)+ .+ showString ", " .+ showString+ "maxStorageImagesPerDescriptor = "+ .+ showsPrec d+ (getField+ @"maxStorageImagesPerDescriptor"+ x)+ .+ showString ", " .+ showString+ "maxSampledImagesPerDescriptor = "+ .+ showsPrec d+ (getField+ @"maxSampledImagesPerDescriptor"+ x)+ .+ showString ", " .+ showString+ "maxPipelineLayouts = "+ .+ showsPrec d+ (getField+ @"maxPipelineLayouts"+ x)+ . showChar '}'++-- | > typedef struct VkObjectTableDescriptorSetEntryNVX {+-- > VkObjectEntryTypeNVX type;+-- > VkObjectEntryUsageFlagsNVX flags;+-- > VkPipelineLayout pipelineLayout;+-- > VkDescriptorSet descriptorSet;+-- > } VkObjectTableDescriptorSetEntryNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableDescriptorSetEntryNVX VkObjectTableDescriptorSetEntryNVX registry at www.khronos.org>+data VkObjectTableDescriptorSetEntryNVX = VkObjectTableDescriptorSetEntryNVX## Addr##+ ByteArray##++instance Eq VkObjectTableDescriptorSetEntryNVX where+ (VkObjectTableDescriptorSetEntryNVX## a _) ==+ x@(VkObjectTableDescriptorSetEntryNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTableDescriptorSetEntryNVX where+ (VkObjectTableDescriptorSetEntryNVX## a _) `compare`+ x@(VkObjectTableDescriptorSetEntryNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTableDescriptorSetEntryNVX where+ sizeOf ~_ = #{size VkObjectTableDescriptorSetEntryNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkObjectTableDescriptorSetEntryNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTableDescriptorSetEntryNVX where+ unsafeAddr (VkObjectTableDescriptorSetEntryNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTableDescriptorSetEntryNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTableDescriptorSetEntryNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTableDescriptorSetEntryNVX where+ type StructFields VkObjectTableDescriptorSetEntryNVX =+ '["type", "flags", "pipelineLayout", "descriptorSet"] -- ' closing tick for hsc2hs+ type CUnionType VkObjectTableDescriptorSetEntryNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTableDescriptorSetEntryNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTableDescriptorSetEntryNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "type" VkObjectTableDescriptorSetEntryNVX where+ type FieldType "type" VkObjectTableDescriptorSetEntryNVX =+ VkObjectEntryTypeNVX+ type FieldOptional "type" VkObjectTableDescriptorSetEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkObjectTableDescriptorSetEntryNVX =+ #{offset VkObjectTableDescriptorSetEntryNVX, type}+ type FieldIsArray "type" VkObjectTableDescriptorSetEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableDescriptorSetEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkObjectTableDescriptorSetEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkObjectTableDescriptorSetEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, type}++instance {-# OVERLAPPING #-}+ HasField "flags" VkObjectTableDescriptorSetEntryNVX where+ type FieldType "flags" VkObjectTableDescriptorSetEntryNVX =+ VkObjectEntryUsageFlagsNVX+ type FieldOptional "flags" VkObjectTableDescriptorSetEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkObjectTableDescriptorSetEntryNVX =+ #{offset VkObjectTableDescriptorSetEntryNVX, flags}+ type FieldIsArray "flags" VkObjectTableDescriptorSetEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableDescriptorSetEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkObjectTableDescriptorSetEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkObjectTableDescriptorSetEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, flags}++instance {-# OVERLAPPING #-}+ HasField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX where+ type FieldType "pipelineLayout" VkObjectTableDescriptorSetEntryNVX+ = VkPipelineLayout+ type FieldOptional "pipelineLayout"+ VkObjectTableDescriptorSetEntryNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineLayout"+ VkObjectTableDescriptorSetEntryNVX+ =+ #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}+ type FieldIsArray "pipelineLayout"+ VkObjectTableDescriptorSetEntryNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, pipelineLayout}++instance {-# OVERLAPPING #-}+ HasField "descriptorSet" VkObjectTableDescriptorSetEntryNVX where+ type FieldType "descriptorSet" VkObjectTableDescriptorSetEntryNVX =+ VkDescriptorSet+ type FieldOptional "descriptorSet"+ VkObjectTableDescriptorSetEntryNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorSet" VkObjectTableDescriptorSetEntryNVX+ =+ #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}+ type FieldIsArray "descriptorSet"+ VkObjectTableDescriptorSetEntryNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorSet" VkObjectTableDescriptorSetEntryNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorSet" VkObjectTableDescriptorSetEntryNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableDescriptorSetEntryNVX, descriptorSet}++instance Show VkObjectTableDescriptorSetEntryNVX where+ showsPrec d x+ = showString "VkObjectTableDescriptorSetEntryNVX {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pipelineLayout = " .+ showsPrec d (getField @"pipelineLayout" x) .+ showString ", " .+ showString "descriptorSet = " .+ showsPrec d (getField @"descriptorSet" x) . showChar '}'++-- | > typedef struct VkObjectTableEntryNVX {+-- > VkObjectEntryTypeNVX type;+-- > VkObjectEntryUsageFlagsNVX flags;+-- > } VkObjectTableEntryNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableEntryNVX VkObjectTableEntryNVX registry at www.khronos.org>+data VkObjectTableEntryNVX = VkObjectTableEntryNVX## Addr##+ ByteArray##++instance Eq VkObjectTableEntryNVX where+ (VkObjectTableEntryNVX## a _) == x@(VkObjectTableEntryNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTableEntryNVX where+ (VkObjectTableEntryNVX## a _) `compare`+ x@(VkObjectTableEntryNVX## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTableEntryNVX where+ sizeOf ~_ = #{size VkObjectTableEntryNVX}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkObjectTableEntryNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTableEntryNVX where+ unsafeAddr (VkObjectTableEntryNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTableEntryNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTableEntryNVX## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTableEntryNVX where+ type StructFields VkObjectTableEntryNVX = '["type", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTableEntryNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "type" VkObjectTableEntryNVX+ where+ type FieldType "type" VkObjectTableEntryNVX = VkObjectEntryTypeNVX+ type FieldOptional "type" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkObjectTableEntryNVX =+ #{offset VkObjectTableEntryNVX, type}+ type FieldIsArray "type" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkObjectTableEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkObjectTableEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableEntryNVX, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkObjectTableEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableEntryNVX, type}++instance {-# OVERLAPPING #-} HasField "flags" VkObjectTableEntryNVX+ where+ type FieldType "flags" VkObjectTableEntryNVX =+ VkObjectEntryUsageFlagsNVX+ type FieldOptional "flags" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkObjectTableEntryNVX =+ #{offset VkObjectTableEntryNVX, flags}+ type FieldIsArray "flags" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkObjectTableEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkObjectTableEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableEntryNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkObjectTableEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableEntryNVX, flags}++instance Show VkObjectTableEntryNVX where+ showsPrec d x+ = showString "VkObjectTableEntryNVX {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | > typedef struct VkObjectTableIndexBufferEntryNVX {+-- > VkObjectEntryTypeNVX type;+-- > VkObjectEntryUsageFlagsNVX flags;+-- > VkBuffer buffer;+-- > VkIndexType indexType;+-- > } VkObjectTableIndexBufferEntryNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableIndexBufferEntryNVX VkObjectTableIndexBufferEntryNVX registry at www.khronos.org>+data VkObjectTableIndexBufferEntryNVX = VkObjectTableIndexBufferEntryNVX## Addr##+ ByteArray##++instance Eq VkObjectTableIndexBufferEntryNVX where+ (VkObjectTableIndexBufferEntryNVX## a _) ==+ x@(VkObjectTableIndexBufferEntryNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTableIndexBufferEntryNVX where+ (VkObjectTableIndexBufferEntryNVX## a _) `compare`+ x@(VkObjectTableIndexBufferEntryNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTableIndexBufferEntryNVX where+ sizeOf ~_ = #{size VkObjectTableIndexBufferEntryNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkObjectTableIndexBufferEntryNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTableIndexBufferEntryNVX where+ unsafeAddr (VkObjectTableIndexBufferEntryNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTableIndexBufferEntryNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTableIndexBufferEntryNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTableIndexBufferEntryNVX where+ type StructFields VkObjectTableIndexBufferEntryNVX =+ '["type", "flags", "buffer", "indexType"] -- ' closing tick for hsc2hs+ type CUnionType VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTableIndexBufferEntryNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "type" VkObjectTableIndexBufferEntryNVX where+ type FieldType "type" VkObjectTableIndexBufferEntryNVX =+ VkObjectEntryTypeNVX+ type FieldOptional "type" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkObjectTableIndexBufferEntryNVX =+ #{offset VkObjectTableIndexBufferEntryNVX, type}+ type FieldIsArray "type" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableIndexBufferEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkObjectTableIndexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkObjectTableIndexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, type}++instance {-# OVERLAPPING #-}+ HasField "flags" VkObjectTableIndexBufferEntryNVX where+ type FieldType "flags" VkObjectTableIndexBufferEntryNVX =+ VkObjectEntryUsageFlagsNVX+ type FieldOptional "flags" VkObjectTableIndexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkObjectTableIndexBufferEntryNVX =+ #{offset VkObjectTableIndexBufferEntryNVX, flags}+ type FieldIsArray "flags" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableIndexBufferEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkObjectTableIndexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkObjectTableIndexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, flags}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkObjectTableIndexBufferEntryNVX where+ type FieldType "buffer" VkObjectTableIndexBufferEntryNVX = VkBuffer+ type FieldOptional "buffer" VkObjectTableIndexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkObjectTableIndexBufferEntryNVX =+ #{offset VkObjectTableIndexBufferEntryNVX, buffer}+ type FieldIsArray "buffer" VkObjectTableIndexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableIndexBufferEntryNVX, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkObjectTableIndexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkObjectTableIndexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, buffer}++instance {-# OVERLAPPING #-}+ HasField "indexType" VkObjectTableIndexBufferEntryNVX where+ type FieldType "indexType" VkObjectTableIndexBufferEntryNVX =+ VkIndexType+ type FieldOptional "indexType" VkObjectTableIndexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "indexType" VkObjectTableIndexBufferEntryNVX =+ #{offset VkObjectTableIndexBufferEntryNVX, indexType}+ type FieldIsArray "indexType" VkObjectTableIndexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableIndexBufferEntryNVX, indexType}++instance {-# OVERLAPPING #-}+ CanReadField "indexType" VkObjectTableIndexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableIndexBufferEntryNVX, indexType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableIndexBufferEntryNVX, indexType}++instance {-# OVERLAPPING #-}+ CanWriteField "indexType" VkObjectTableIndexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableIndexBufferEntryNVX, indexType}++instance Show VkObjectTableIndexBufferEntryNVX where+ showsPrec d x+ = showString "VkObjectTableIndexBufferEntryNVX {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "indexType = " .+ showsPrec d (getField @"indexType" x) . showChar '}'++-- | > typedef struct VkObjectTablePipelineEntryNVX {+-- > VkObjectEntryTypeNVX type;+-- > VkObjectEntryUsageFlagsNVX flags;+-- > VkPipeline pipeline;+-- > } VkObjectTablePipelineEntryNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePipelineEntryNVX VkObjectTablePipelineEntryNVX registry at www.khronos.org>+data VkObjectTablePipelineEntryNVX = VkObjectTablePipelineEntryNVX## Addr##+ ByteArray##++instance Eq VkObjectTablePipelineEntryNVX where+ (VkObjectTablePipelineEntryNVX## a _) ==+ x@(VkObjectTablePipelineEntryNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTablePipelineEntryNVX where+ (VkObjectTablePipelineEntryNVX## a _) `compare`+ x@(VkObjectTablePipelineEntryNVX## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTablePipelineEntryNVX where+ sizeOf ~_ = #{size VkObjectTablePipelineEntryNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkObjectTablePipelineEntryNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTablePipelineEntryNVX where+ unsafeAddr (VkObjectTablePipelineEntryNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTablePipelineEntryNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTablePipelineEntryNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTablePipelineEntryNVX where+ type StructFields VkObjectTablePipelineEntryNVX =+ '["type", "flags", "pipeline"] -- ' closing tick for hsc2hs+ type CUnionType VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTablePipelineEntryNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "type" VkObjectTablePipelineEntryNVX where+ type FieldType "type" VkObjectTablePipelineEntryNVX =+ VkObjectEntryTypeNVX+ type FieldOptional "type" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkObjectTablePipelineEntryNVX =+ #{offset VkObjectTablePipelineEntryNVX, type}+ type FieldIsArray "type" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePipelineEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkObjectTablePipelineEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePipelineEntryNVX, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePipelineEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkObjectTablePipelineEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePipelineEntryNVX, type}++instance {-# OVERLAPPING #-}+ HasField "flags" VkObjectTablePipelineEntryNVX where+ type FieldType "flags" VkObjectTablePipelineEntryNVX =+ VkObjectEntryUsageFlagsNVX+ type FieldOptional "flags" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkObjectTablePipelineEntryNVX =+ #{offset VkObjectTablePipelineEntryNVX, flags}+ type FieldIsArray "flags" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePipelineEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkObjectTablePipelineEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePipelineEntryNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePipelineEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkObjectTablePipelineEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePipelineEntryNVX, flags}++instance {-# OVERLAPPING #-}+ HasField "pipeline" VkObjectTablePipelineEntryNVX where+ type FieldType "pipeline" VkObjectTablePipelineEntryNVX =+ VkPipeline+ type FieldOptional "pipeline" VkObjectTablePipelineEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipeline" VkObjectTablePipelineEntryNVX =+ #{offset VkObjectTablePipelineEntryNVX, pipeline}+ type FieldIsArray "pipeline" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePipelineEntryNVX, pipeline}++instance {-# OVERLAPPING #-}+ CanReadField "pipeline" VkObjectTablePipelineEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePipelineEntryNVX, pipeline})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePipelineEntryNVX, pipeline}++instance {-# OVERLAPPING #-}+ CanWriteField "pipeline" VkObjectTablePipelineEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePipelineEntryNVX, pipeline}++instance Show VkObjectTablePipelineEntryNVX where+ showsPrec d x+ = showString "VkObjectTablePipelineEntryNVX {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pipeline = " .+ showsPrec d (getField @"pipeline" x) . showChar '}'++-- | > typedef struct VkObjectTablePushConstantEntryNVX {+-- > VkObjectEntryTypeNVX type;+-- > VkObjectEntryUsageFlagsNVX flags;+-- > VkPipelineLayout pipelineLayout;+-- > VkShaderStageFlags stageFlags;+-- > } VkObjectTablePushConstantEntryNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePushConstantEntryNVX VkObjectTablePushConstantEntryNVX registry at www.khronos.org>+data VkObjectTablePushConstantEntryNVX = VkObjectTablePushConstantEntryNVX## Addr##+ ByteArray##++instance Eq VkObjectTablePushConstantEntryNVX where+ (VkObjectTablePushConstantEntryNVX## a _) ==+ x@(VkObjectTablePushConstantEntryNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTablePushConstantEntryNVX where+ (VkObjectTablePushConstantEntryNVX## a _) `compare`+ x@(VkObjectTablePushConstantEntryNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTablePushConstantEntryNVX where+ sizeOf ~_ = #{size VkObjectTablePushConstantEntryNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkObjectTablePushConstantEntryNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTablePushConstantEntryNVX where+ unsafeAddr (VkObjectTablePushConstantEntryNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTablePushConstantEntryNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTablePushConstantEntryNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTablePushConstantEntryNVX where+ type StructFields VkObjectTablePushConstantEntryNVX =+ '["type", "flags", "pipelineLayout", "stageFlags"] -- ' closing tick for hsc2hs+ type CUnionType VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTablePushConstantEntryNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "type" VkObjectTablePushConstantEntryNVX where+ type FieldType "type" VkObjectTablePushConstantEntryNVX =+ VkObjectEntryTypeNVX+ type FieldOptional "type" VkObjectTablePushConstantEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkObjectTablePushConstantEntryNVX =+ #{offset VkObjectTablePushConstantEntryNVX, type}+ type FieldIsArray "type" VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePushConstantEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkObjectTablePushConstantEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkObjectTablePushConstantEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, type}++instance {-# OVERLAPPING #-}+ HasField "flags" VkObjectTablePushConstantEntryNVX where+ type FieldType "flags" VkObjectTablePushConstantEntryNVX =+ VkObjectEntryUsageFlagsNVX+ type FieldOptional "flags" VkObjectTablePushConstantEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkObjectTablePushConstantEntryNVX =+ #{offset VkObjectTablePushConstantEntryNVX, flags}+ type FieldIsArray "flags" VkObjectTablePushConstantEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePushConstantEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkObjectTablePushConstantEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkObjectTablePushConstantEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, flags}++instance {-# OVERLAPPING #-}+ HasField "pipelineLayout" VkObjectTablePushConstantEntryNVX where+ type FieldType "pipelineLayout" VkObjectTablePushConstantEntryNVX =+ VkPipelineLayout+ type FieldOptional "pipelineLayout"+ VkObjectTablePushConstantEntryNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineLayout" VkObjectTablePushConstantEntryNVX+ =+ #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}+ type FieldIsArray "pipelineLayout"+ VkObjectTablePushConstantEntryNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineLayout" VkObjectTablePushConstantEntryNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineLayout" VkObjectTablePushConstantEntryNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, pipelineLayout}++instance {-# OVERLAPPING #-}+ HasField "stageFlags" VkObjectTablePushConstantEntryNVX where+ type FieldType "stageFlags" VkObjectTablePushConstantEntryNVX =+ VkShaderStageFlags+ type FieldOptional "stageFlags" VkObjectTablePushConstantEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "stageFlags" VkObjectTablePushConstantEntryNVX =+ #{offset VkObjectTablePushConstantEntryNVX, stageFlags}+ type FieldIsArray "stageFlags" VkObjectTablePushConstantEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTablePushConstantEntryNVX, stageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "stageFlags" VkObjectTablePushConstantEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTablePushConstantEntryNVX, stageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTablePushConstantEntryNVX, stageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "stageFlags" VkObjectTablePushConstantEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTablePushConstantEntryNVX, stageFlags}++instance Show VkObjectTablePushConstantEntryNVX where+ showsPrec d x+ = showString "VkObjectTablePushConstantEntryNVX {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pipelineLayout = " .+ showsPrec d (getField @"pipelineLayout" x) .+ showString ", " .+ showString "stageFlags = " .+ showsPrec d (getField @"stageFlags" x) . showChar '}'++-- | > typedef struct VkObjectTableVertexBufferEntryNVX {+-- > VkObjectEntryTypeNVX type;+-- > VkObjectEntryUsageFlagsNVX flags;+-- > VkBuffer buffer;+-- > } VkObjectTableVertexBufferEntryNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableVertexBufferEntryNVX VkObjectTableVertexBufferEntryNVX registry at www.khronos.org>+data VkObjectTableVertexBufferEntryNVX = VkObjectTableVertexBufferEntryNVX## Addr##+ ByteArray##++instance Eq VkObjectTableVertexBufferEntryNVX where+ (VkObjectTableVertexBufferEntryNVX## a _) ==+ x@(VkObjectTableVertexBufferEntryNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkObjectTableVertexBufferEntryNVX where+ (VkObjectTableVertexBufferEntryNVX## a _) `compare`+ x@(VkObjectTableVertexBufferEntryNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkObjectTableVertexBufferEntryNVX where+ sizeOf ~_ = #{size VkObjectTableVertexBufferEntryNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkObjectTableVertexBufferEntryNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkObjectTableVertexBufferEntryNVX where+ unsafeAddr (VkObjectTableVertexBufferEntryNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkObjectTableVertexBufferEntryNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkObjectTableVertexBufferEntryNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkObjectTableVertexBufferEntryNVX where+ type StructFields VkObjectTableVertexBufferEntryNVX =+ '["type", "flags", "buffer"] -- ' closing tick for hsc2hs+ type CUnionType VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs+ type StructExtends VkObjectTableVertexBufferEntryNVX = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "type" VkObjectTableVertexBufferEntryNVX where+ type FieldType "type" VkObjectTableVertexBufferEntryNVX =+ VkObjectEntryTypeNVX+ type FieldOptional "type" VkObjectTableVertexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkObjectTableVertexBufferEntryNVX =+ #{offset VkObjectTableVertexBufferEntryNVX, type}+ type FieldIsArray "type" VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableVertexBufferEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkObjectTableVertexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableVertexBufferEntryNVX, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableVertexBufferEntryNVX, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkObjectTableVertexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableVertexBufferEntryNVX, type}++instance {-# OVERLAPPING #-}+ HasField "flags" VkObjectTableVertexBufferEntryNVX where+ type FieldType "flags" VkObjectTableVertexBufferEntryNVX =+ VkObjectEntryUsageFlagsNVX+ type FieldOptional "flags" VkObjectTableVertexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkObjectTableVertexBufferEntryNVX =+ #{offset VkObjectTableVertexBufferEntryNVX, flags}+ type FieldIsArray "flags" VkObjectTableVertexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableVertexBufferEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkObjectTableVertexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableVertexBufferEntryNVX, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableVertexBufferEntryNVX, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkObjectTableVertexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableVertexBufferEntryNVX, flags}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkObjectTableVertexBufferEntryNVX where+ type FieldType "buffer" VkObjectTableVertexBufferEntryNVX =+ VkBuffer+ type FieldOptional "buffer" VkObjectTableVertexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkObjectTableVertexBufferEntryNVX =+ #{offset VkObjectTableVertexBufferEntryNVX, buffer}+ type FieldIsArray "buffer" VkObjectTableVertexBufferEntryNVX =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkObjectTableVertexBufferEntryNVX, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkObjectTableVertexBufferEntryNVX where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkObjectTableVertexBufferEntryNVX, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkObjectTableVertexBufferEntryNVX, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkObjectTableVertexBufferEntryNVX where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkObjectTableVertexBufferEntryNVX, buffer}++instance Show VkObjectTableVertexBufferEntryNVX where+ showsPrec d x+ = showString "VkObjectTableVertexBufferEntryNVX {" .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) . showChar '}'
@@ -0,0 +1,272 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Offset+ (VkOffset2D(..), VkOffset3D(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkOffset2D {+-- > int32_t x;+-- > int32_t y;+-- > } VkOffset2D;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkOffset2D VkOffset2D registry at www.khronos.org>+data VkOffset2D = VkOffset2D## Addr## ByteArray##++instance Eq VkOffset2D where+ (VkOffset2D## a _) == x@(VkOffset2D## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkOffset2D where+ (VkOffset2D## a _) `compare` x@(VkOffset2D## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkOffset2D where+ sizeOf ~_ = #{size VkOffset2D}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkOffset2D}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkOffset2D where+ unsafeAddr (VkOffset2D## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkOffset2D## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkOffset2D## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkOffset2D where+ type StructFields VkOffset2D = '["x", "y"] -- ' closing tick for hsc2hs+ type CUnionType VkOffset2D = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkOffset2D = 'False -- ' closing tick for hsc2hs+ type StructExtends VkOffset2D = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "x" VkOffset2D where+ type FieldType "x" VkOffset2D = Int32+ type FieldOptional "x" VkOffset2D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "x" VkOffset2D =+ #{offset VkOffset2D, x}+ type FieldIsArray "x" VkOffset2D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkOffset2D, x}++instance {-# OVERLAPPING #-} CanReadField "x" VkOffset2D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkOffset2D, x})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkOffset2D, x}++instance {-# OVERLAPPING #-} CanWriteField "x" VkOffset2D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkOffset2D, x}++instance {-# OVERLAPPING #-} HasField "y" VkOffset2D where+ type FieldType "y" VkOffset2D = Int32+ type FieldOptional "y" VkOffset2D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "y" VkOffset2D =+ #{offset VkOffset2D, y}+ type FieldIsArray "y" VkOffset2D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkOffset2D, y}++instance {-# OVERLAPPING #-} CanReadField "y" VkOffset2D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkOffset2D, y})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkOffset2D, y}++instance {-# OVERLAPPING #-} CanWriteField "y" VkOffset2D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkOffset2D, y}++instance Show VkOffset2D where+ showsPrec d x+ = showString "VkOffset2D {" .+ showString "x = " .+ showsPrec d (getField @"x" x) .+ showString ", " .+ showString "y = " . showsPrec d (getField @"y" x) . showChar '}'++-- | > typedef struct VkOffset3D {+-- > int32_t x;+-- > int32_t y;+-- > int32_t z;+-- > } VkOffset3D;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkOffset3D VkOffset3D registry at www.khronos.org>+data VkOffset3D = VkOffset3D## Addr## ByteArray##++instance Eq VkOffset3D where+ (VkOffset3D## a _) == x@(VkOffset3D## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkOffset3D where+ (VkOffset3D## a _) `compare` x@(VkOffset3D## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkOffset3D where+ sizeOf ~_ = #{size VkOffset3D}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkOffset3D}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkOffset3D where+ unsafeAddr (VkOffset3D## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkOffset3D## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkOffset3D## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkOffset3D where+ type StructFields VkOffset3D = '["x", "y", "z"] -- ' closing tick for hsc2hs+ type CUnionType VkOffset3D = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkOffset3D = 'False -- ' closing tick for hsc2hs+ type StructExtends VkOffset3D = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "x" VkOffset3D where+ type FieldType "x" VkOffset3D = Int32+ type FieldOptional "x" VkOffset3D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "x" VkOffset3D =+ #{offset VkOffset3D, x}+ type FieldIsArray "x" VkOffset3D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkOffset3D, x}++instance {-# OVERLAPPING #-} CanReadField "x" VkOffset3D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkOffset3D, x})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkOffset3D, x}++instance {-# OVERLAPPING #-} CanWriteField "x" VkOffset3D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkOffset3D, x}++instance {-# OVERLAPPING #-} HasField "y" VkOffset3D where+ type FieldType "y" VkOffset3D = Int32+ type FieldOptional "y" VkOffset3D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "y" VkOffset3D =+ #{offset VkOffset3D, y}+ type FieldIsArray "y" VkOffset3D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkOffset3D, y}++instance {-# OVERLAPPING #-} CanReadField "y" VkOffset3D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkOffset3D, y})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkOffset3D, y}++instance {-# OVERLAPPING #-} CanWriteField "y" VkOffset3D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkOffset3D, y}++instance {-# OVERLAPPING #-} HasField "z" VkOffset3D where+ type FieldType "z" VkOffset3D = Int32+ type FieldOptional "z" VkOffset3D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "z" VkOffset3D =+ #{offset VkOffset3D, z}+ type FieldIsArray "z" VkOffset3D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkOffset3D, z}++instance {-# OVERLAPPING #-} CanReadField "z" VkOffset3D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkOffset3D, z})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkOffset3D, z}++instance {-# OVERLAPPING #-} CanWriteField "z" VkOffset3D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkOffset3D, z}++instance Show VkOffset3D where+ showsPrec d x+ = showString "VkOffset3D {" .+ showString "x = " .+ showsPrec d (getField @"x" x) .+ showString ", " .+ showString "y = " .+ showsPrec d (getField @"y" x) .+ showString ", " .+ showString "z = " . showsPrec d (getField @"z" x) . showChar '}'
@@ -0,0 +1,289 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE+ (VkPastPresentationTimingGOOGLE(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkPastPresentationTimingGOOGLE {+-- > uint32_t presentID;+-- > uint64_t desiredPresentTime;+-- > uint64_t actualPresentTime;+-- > uint64_t earliestPresentTime;+-- > uint64_t presentMargin;+-- > } VkPastPresentationTimingGOOGLE;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPastPresentationTimingGOOGLE VkPastPresentationTimingGOOGLE registry at www.khronos.org>+data VkPastPresentationTimingGOOGLE = VkPastPresentationTimingGOOGLE## Addr##+ ByteArray##++instance Eq VkPastPresentationTimingGOOGLE where+ (VkPastPresentationTimingGOOGLE## a _) ==+ x@(VkPastPresentationTimingGOOGLE## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPastPresentationTimingGOOGLE where+ (VkPastPresentationTimingGOOGLE## a _) `compare`+ x@(VkPastPresentationTimingGOOGLE## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPastPresentationTimingGOOGLE where+ sizeOf ~_ = #{size VkPastPresentationTimingGOOGLE}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPastPresentationTimingGOOGLE}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPastPresentationTimingGOOGLE where+ unsafeAddr (VkPastPresentationTimingGOOGLE## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPastPresentationTimingGOOGLE## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPastPresentationTimingGOOGLE##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPastPresentationTimingGOOGLE where+ type StructFields VkPastPresentationTimingGOOGLE =+ '["presentID", "desiredPresentTime", "actualPresentTime", -- ' closing tick for hsc2hs+ "earliestPresentTime", "presentMargin"]+ type CUnionType VkPastPresentationTimingGOOGLE = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPastPresentationTimingGOOGLE = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPastPresentationTimingGOOGLE = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "presentID" VkPastPresentationTimingGOOGLE where+ type FieldType "presentID" VkPastPresentationTimingGOOGLE = Word32+ type FieldOptional "presentID" VkPastPresentationTimingGOOGLE =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "presentID" VkPastPresentationTimingGOOGLE =+ #{offset VkPastPresentationTimingGOOGLE, presentID}+ type FieldIsArray "presentID" VkPastPresentationTimingGOOGLE =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPastPresentationTimingGOOGLE, presentID}++instance {-# OVERLAPPING #-}+ CanReadField "presentID" VkPastPresentationTimingGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, presentID})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, presentID}++instance {-# OVERLAPPING #-}+ CanWriteField "presentID" VkPastPresentationTimingGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, presentID}++instance {-# OVERLAPPING #-}+ HasField "desiredPresentTime" VkPastPresentationTimingGOOGLE where+ type FieldType "desiredPresentTime" VkPastPresentationTimingGOOGLE+ = Word64+ type FieldOptional "desiredPresentTime"+ VkPastPresentationTimingGOOGLE+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "desiredPresentTime"+ VkPastPresentationTimingGOOGLE+ =+ #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}+ type FieldIsArray "desiredPresentTime"+ VkPastPresentationTimingGOOGLE+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}++instance {-# OVERLAPPING #-}+ CanReadField "desiredPresentTime" VkPastPresentationTimingGOOGLE+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}++instance {-# OVERLAPPING #-}+ CanWriteField "desiredPresentTime" VkPastPresentationTimingGOOGLE+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, desiredPresentTime}++instance {-# OVERLAPPING #-}+ HasField "actualPresentTime" VkPastPresentationTimingGOOGLE where+ type FieldType "actualPresentTime" VkPastPresentationTimingGOOGLE =+ Word64+ type FieldOptional "actualPresentTime"+ VkPastPresentationTimingGOOGLE+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "actualPresentTime" VkPastPresentationTimingGOOGLE+ =+ #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}+ type FieldIsArray "actualPresentTime"+ VkPastPresentationTimingGOOGLE+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}++instance {-# OVERLAPPING #-}+ CanReadField "actualPresentTime" VkPastPresentationTimingGOOGLE+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, actualPresentTime})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}++instance {-# OVERLAPPING #-}+ CanWriteField "actualPresentTime" VkPastPresentationTimingGOOGLE+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, actualPresentTime}++instance {-# OVERLAPPING #-}+ HasField "earliestPresentTime" VkPastPresentationTimingGOOGLE where+ type FieldType "earliestPresentTime" VkPastPresentationTimingGOOGLE+ = Word64+ type FieldOptional "earliestPresentTime"+ VkPastPresentationTimingGOOGLE+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "earliestPresentTime"+ VkPastPresentationTimingGOOGLE+ =+ #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}+ type FieldIsArray "earliestPresentTime"+ VkPastPresentationTimingGOOGLE+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}++instance {-# OVERLAPPING #-}+ CanReadField "earliestPresentTime" VkPastPresentationTimingGOOGLE+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}++instance {-# OVERLAPPING #-}+ CanWriteField "earliestPresentTime" VkPastPresentationTimingGOOGLE+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, earliestPresentTime}++instance {-# OVERLAPPING #-}+ HasField "presentMargin" VkPastPresentationTimingGOOGLE where+ type FieldType "presentMargin" VkPastPresentationTimingGOOGLE =+ Word64+ type FieldOptional "presentMargin" VkPastPresentationTimingGOOGLE =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "presentMargin" VkPastPresentationTimingGOOGLE =+ #{offset VkPastPresentationTimingGOOGLE, presentMargin}+ type FieldIsArray "presentMargin" VkPastPresentationTimingGOOGLE =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPastPresentationTimingGOOGLE, presentMargin}++instance {-# OVERLAPPING #-}+ CanReadField "presentMargin" VkPastPresentationTimingGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPastPresentationTimingGOOGLE, presentMargin})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPastPresentationTimingGOOGLE, presentMargin}++instance {-# OVERLAPPING #-}+ CanWriteField "presentMargin" VkPastPresentationTimingGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPastPresentationTimingGOOGLE, presentMargin}++instance Show VkPastPresentationTimingGOOGLE where+ showsPrec d x+ = showString "VkPastPresentationTimingGOOGLE {" .+ showString "presentID = " .+ showsPrec d (getField @"presentID" x) .+ showString ", " .+ showString "desiredPresentTime = " .+ showsPrec d (getField @"desiredPresentTime" x) .+ showString ", " .+ showString "actualPresentTime = " .+ showsPrec d (getField @"actualPresentTime" x) .+ showString ", " .+ showString "earliestPresentTime = " .+ showsPrec d (getField @"earliestPresentTime" x) .+ showString ", " .+ showString "presentMargin = " .+ showsPrec d (getField @"presentMargin" x) . showChar '}'
@@ -0,0 +1,20205 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.PhysicalDevice+ (VkPhysicalDevice16BitStorageFeatures(..),+ VkPhysicalDevice16BitStorageFeaturesKHR,+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(..),+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(..),+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT(..),+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT(..),+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT(..),+ VkPhysicalDeviceDiscardRectanglePropertiesEXT(..),+ VkPhysicalDeviceExternalBufferInfo(..),+ VkPhysicalDeviceExternalBufferInfoKHR,+ VkPhysicalDeviceExternalFenceInfo(..),+ VkPhysicalDeviceExternalFenceInfoKHR,+ VkPhysicalDeviceExternalImageFormatInfo(..),+ VkPhysicalDeviceExternalImageFormatInfoKHR,+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT(..),+ VkPhysicalDeviceExternalSemaphoreInfo(..),+ VkPhysicalDeviceExternalSemaphoreInfoKHR,+ VkPhysicalDeviceFeatures2(..), VkPhysicalDeviceFeatures2KHR,+ VkPhysicalDeviceGroupProperties(..),+ VkPhysicalDeviceGroupPropertiesKHR,+ VkPhysicalDeviceIDProperties(..), VkPhysicalDeviceIDPropertiesKHR,+ VkPhysicalDeviceImageFormatInfo2(..),+ VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits(..),+ VkPhysicalDeviceMaintenance3Properties(..),+ VkPhysicalDeviceMaintenance3PropertiesKHR,+ VkPhysicalDeviceMemoryProperties(..),+ VkPhysicalDeviceMemoryProperties2(..),+ VkPhysicalDeviceMemoryProperties2KHR,+ VkPhysicalDeviceMultiviewFeatures(..),+ VkPhysicalDeviceMultiviewFeaturesKHR,+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(..),+ VkPhysicalDeviceMultiviewProperties(..),+ VkPhysicalDeviceMultiviewPropertiesKHR,+ VkPhysicalDevicePointClippingProperties(..),+ VkPhysicalDevicePointClippingPropertiesKHR,+ VkPhysicalDeviceProperties(..), VkPhysicalDeviceProperties2(..),+ VkPhysicalDeviceProperties2KHR,+ VkPhysicalDeviceProtectedMemoryFeatures(..),+ VkPhysicalDeviceProtectedMemoryProperties(..),+ VkPhysicalDevicePushDescriptorPropertiesKHR(..),+ VkPhysicalDeviceSampleLocationsPropertiesEXT(..),+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT(..),+ VkPhysicalDeviceSamplerYcbcrConversionFeatures(..),+ VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,+ VkPhysicalDeviceShaderCorePropertiesAMD(..),+ VkPhysicalDeviceShaderDrawParameterFeatures(..),+ VkPhysicalDeviceSparseImageFormatInfo2(..),+ VkPhysicalDeviceSparseImageFormatInfo2KHR,+ VkPhysicalDeviceSparseProperties(..),+ VkPhysicalDeviceSubgroupProperties(..),+ VkPhysicalDeviceSurfaceInfo2KHR(..),+ VkPhysicalDeviceVariablePointerFeatures(..),+ VkPhysicalDeviceVariablePointerFeaturesKHR,+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##,+ proxy##)+import GHC.TypeLits (KnownNat,+ natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Constants (VK_LUID_SIZE,+ pattern VK_LUID_SIZE,+ VK_MAX_DEVICE_GROUP_SIZE,+ pattern VK_MAX_DEVICE_GROUP_SIZE,+ VK_MAX_MEMORY_HEAPS,+ pattern VK_MAX_MEMORY_HEAPS,+ VK_MAX_MEMORY_TYPES,+ pattern VK_MAX_MEMORY_TYPES,+ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,+ pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,+ VK_UUID_SIZE,+ pattern VK_UUID_SIZE)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32, VkDeviceSize)+import Graphics.Vulkan.Types.Enum.Buffer (VkBufferCreateFlags,+ VkBufferUsageFlags)+import Graphics.Vulkan.Types.Enum.External (VkExternalFenceHandleTypeFlagBits,+ VkExternalMemoryHandleTypeFlagBits,+ VkExternalSemaphoreHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.Image (VkImageCreateFlags,+ VkImageTiling,+ VkImageType,+ VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.PhysicalDeviceType (VkPhysicalDeviceType)+import Graphics.Vulkan.Types.Enum.PointClippingBehavior (VkPointClippingBehavior)+import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits,+ VkSampleCountFlags)+import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags (VkSubgroupFeatureFlags)+import Graphics.Vulkan.Types.Handles (VkPhysicalDevice,+ VkSurfaceKHR)+import Graphics.Vulkan.Types.Struct.Device (VkDeviceCreateInfo)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryHeap,+ VkMemoryType)+import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkPhysicalDevice16BitStorageFeatures {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 storageBuffer16BitAccess;+-- > VkBool32 uniformAndStorageBuffer16BitAccess;+-- > VkBool32 storagePushConstant16;+-- > VkBool32 storageInputOutput16;+-- > } VkPhysicalDevice16BitStorageFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures registry at www.khronos.org>+data VkPhysicalDevice16BitStorageFeatures = VkPhysicalDevice16BitStorageFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDevice16BitStorageFeatures where+ (VkPhysicalDevice16BitStorageFeatures## a _) ==+ x@(VkPhysicalDevice16BitStorageFeatures## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDevice16BitStorageFeatures where+ (VkPhysicalDevice16BitStorageFeatures## a _) `compare`+ x@(VkPhysicalDevice16BitStorageFeatures## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDevice16BitStorageFeatures where+ sizeOf ~_+ = #{size VkPhysicalDevice16BitStorageFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDevice16BitStorageFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDevice16BitStorageFeatures+ where+ unsafeAddr (VkPhysicalDevice16BitStorageFeatures## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDevice16BitStorageFeatures## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDevice16BitStorageFeatures##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDevice16BitStorageFeatures where+ type StructFields VkPhysicalDevice16BitStorageFeatures =+ '["sType", "pNext", "storageBuffer16BitAccess", -- ' closing tick for hsc2hs+ "uniformAndStorageBuffer16BitAccess", "storagePushConstant16",+ "storageInputOutput16"]+ type CUnionType VkPhysicalDevice16BitStorageFeatures = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDevice16BitStorageFeatures = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDevice16BitStorageFeatures =+ '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDevice16BitStorageFeatures where+ type FieldType "sType" VkPhysicalDevice16BitStorageFeatures =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDevice16BitStorageFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDevice16BitStorageFeatures =+ #{offset VkPhysicalDevice16BitStorageFeatures, sType}+ type FieldIsArray "sType" VkPhysicalDevice16BitStorageFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevice16BitStorageFeatures, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDevice16BitStorageFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDevice16BitStorageFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDevice16BitStorageFeatures where+ type FieldType "pNext" VkPhysicalDevice16BitStorageFeatures =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDevice16BitStorageFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDevice16BitStorageFeatures =+ #{offset VkPhysicalDevice16BitStorageFeatures, pNext}+ type FieldIsArray "pNext" VkPhysicalDevice16BitStorageFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevice16BitStorageFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDevice16BitStorageFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDevice16BitStorageFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, pNext}++instance {-# OVERLAPPING #-}+ HasField "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ where+ type FieldType "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ = VkBool32+ type FieldOptional "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ =+ #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}+ type FieldIsArray "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}++instance {-# OVERLAPPING #-}+ CanReadField "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "storageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess}++instance {-# OVERLAPPING #-}+ HasField "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ where+ type FieldType "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ = VkBool32+ type FieldOptional "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ =+ #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}+ type FieldIsArray "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}++instance {-# OVERLAPPING #-}+ CanReadField "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "uniformAndStorageBuffer16BitAccess"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess}++instance {-# OVERLAPPING #-}+ HasField "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ where+ type FieldType "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ = VkBool32+ type FieldOptional "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ =+ #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}+ type FieldIsArray "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}++instance {-# OVERLAPPING #-}+ CanReadField "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}++instance {-# OVERLAPPING #-}+ CanWriteField "storagePushConstant16"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storagePushConstant16}++instance {-# OVERLAPPING #-}+ HasField "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ where+ type FieldType "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ = VkBool32+ type FieldOptional "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ =+ #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}+ type FieldIsArray "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}++instance {-# OVERLAPPING #-}+ CanReadField "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}++instance {-# OVERLAPPING #-}+ CanWriteField "storageInputOutput16"+ VkPhysicalDevice16BitStorageFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevice16BitStorageFeatures, storageInputOutput16}++instance Show VkPhysicalDevice16BitStorageFeatures where+ showsPrec d x+ = showString "VkPhysicalDevice16BitStorageFeatures {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "storageBuffer16BitAccess = " .+ showsPrec d (getField @"storageBuffer16BitAccess" x) .+ showString ", " .+ showString "uniformAndStorageBuffer16BitAccess = " .+ showsPrec d (getField @"uniformAndStorageBuffer16BitAccess" x) .+ showString ", " .+ showString "storagePushConstant16 = " .+ showsPrec d (getField @"storagePushConstant16" x) .+ showString ", " .+ showString "storageInputOutput16 = " .+ showsPrec d (getField @"storageInputOutput16" x) .+ showChar '}'++-- | Alias for `VkPhysicalDevice16BitStorageFeatures`+type VkPhysicalDevice16BitStorageFeaturesKHR =+ VkPhysicalDevice16BitStorageFeatures++-- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 advancedBlendCoherentOperations;+-- > } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at www.khronos.org>+data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT where+ (VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## a _) ==+ x@(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ (VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## a _) `compare`+ x@(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ unsafeAddr (VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ type StructFields VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = '["sType", "pNext", "advancedBlendCoherentOperations"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = '[VkPhysicalDeviceFeatures2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ type FieldType "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = VkBool32+ type FieldOptional "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}+ type FieldIsArray "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendCoherentOperations"+ VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations}++instance Show VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT+ where+ showsPrec d x+ = showString "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "advancedBlendCoherentOperations = " .+ showsPrec d (getField @"advancedBlendCoherentOperations" x) .+ showChar '}'++-- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t advancedBlendMaxColorAttachments;+-- > VkBool32 advancedBlendIndependentBlend;+-- > VkBool32 advancedBlendNonPremultipliedSrcColor;+-- > VkBool32 advancedBlendNonPremultipliedDstColor;+-- > VkBool32 advancedBlendCorrelatedOverlap;+-- > VkBool32 advancedBlendAllOperations;+-- > } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ (VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ (VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## a _)+ `compare`+ x@(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ unsafeAddr+ (VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type StructFields+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ '["sType", "pNext", "advancedBlendMaxColorAttachments", -- ' closing tick for hsc2hs+ "advancedBlendIndependentBlend",+ "advancedBlendNonPremultipliedSrcColor",+ "advancedBlendNonPremultipliedDstColor",+ "advancedBlendCorrelatedOverlap", "advancedBlendAllOperations"]+ type CUnionType VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'True -- ' closing tick for hsc2hs+ type StructExtends+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = Word32+ type FieldOptional "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}+ type FieldIsArray "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendMaxColorAttachments"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendMaxColorAttachments}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = VkBool32+ type FieldOptional "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}+ type FieldIsArray "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendIndependentBlend"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendIndependentBlend}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = VkBool32+ type FieldOptional "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}+ type FieldIsArray "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendNonPremultipliedSrcColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedSrcColor}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = VkBool32+ type FieldOptional "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}+ type FieldIsArray "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendNonPremultipliedDstColor"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendNonPremultipliedDstColor}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = VkBool32+ type FieldOptional "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}+ type FieldIsArray "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendCorrelatedOverlap"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendCorrelatedOverlap}++instance {-# OVERLAPPING #-}+ HasField "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ type FieldType "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = VkBool32+ type FieldOptional "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ =+ #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}+ type FieldIsArray "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}++instance {-# OVERLAPPING #-}+ CanReadField "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}++instance {-# OVERLAPPING #-}+ CanWriteField "advancedBlendAllOperations"+ VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT, advancedBlendAllOperations}++instance Show VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT+ where+ showsPrec d x+ = showString+ "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "advancedBlendMaxColorAttachments = " .+ showsPrec d (getField @"advancedBlendMaxColorAttachments" x) .+ showString ", " .+ showString "advancedBlendIndependentBlend = " .+ showsPrec d (getField @"advancedBlendIndependentBlend" x) .+ showString ", " .+ showString "advancedBlendNonPremultipliedSrcColor = " .+ showsPrec d+ (getField @"advancedBlendNonPremultipliedSrcColor" x)+ .+ showString ", " .+ showString "advancedBlendNonPremultipliedDstColor = " .+ showsPrec d+ (getField @"advancedBlendNonPremultipliedDstColor"+ x)+ .+ showString ", " .+ showString "advancedBlendCorrelatedOverlap = " .+ showsPrec d+ (getField @"advancedBlendCorrelatedOverlap" x)+ .+ showString ", " .+ showString "advancedBlendAllOperations = " .+ showsPrec d+ (getField @"advancedBlendAllOperations"+ x)+ . showChar '}'++-- | > typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > float primitiveOverestimationSize;+-- > float maxExtraPrimitiveOverestimationSize;+-- > float extraPrimitiveOverestimationSizeGranularity;+-- > VkBool32 primitiveUnderestimation;+-- > VkBool32 conservativePointAndLineRasterization;+-- > VkBool32 degenerateTrianglesRasterized;+-- > VkBool32 degenerateLinesRasterized;+-- > VkBool32 fullyCoveredFragmentShaderInputVariable;+-- > VkBool32 conservativeRasterizationPostDepthCoverage;+-- > } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceConservativeRasterizationPropertiesEXT = VkPhysicalDeviceConservativeRasterizationPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ (VkPhysicalDeviceConservativeRasterizationPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceConservativeRasterizationPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ (VkPhysicalDeviceConservativeRasterizationPropertiesEXT## a _)+ `compare`+ x@(VkPhysicalDeviceConservativeRasterizationPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceConservativeRasterizationPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceConservativeRasterizationPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ unsafeAddr+ (VkPhysicalDeviceConservativeRasterizationPropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceConservativeRasterizationPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceConservativeRasterizationPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type StructFields+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ '["sType", "pNext", "primitiveOverestimationSize", -- ' closing tick for hsc2hs+ "maxExtraPrimitiveOverestimationSize",+ "extraPrimitiveOverestimationSizeGranularity",+ "primitiveUnderestimation",+ "conservativePointAndLineRasterization",+ "degenerateTrianglesRasterized", "degenerateLinesRasterized",+ "fullyCoveredFragmentShaderInputVariable",+ "conservativeRasterizationPostDepthCoverage"]+ type CUnionType+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = #{type float}+ type FieldOptional "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}+ type FieldIsArray "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ CanReadField "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ CanWriteField "primitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ HasField "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = #{type float}+ type FieldOptional "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}+ type FieldIsArray "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxExtraPrimitiveOverestimationSize"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, maxExtraPrimitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ HasField "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = #{type float}+ type FieldOptional "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}+ type FieldIsArray "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "extraPrimitiveOverestimationSizeGranularity"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, extraPrimitiveOverestimationSizeGranularity}++instance {-# OVERLAPPING #-}+ HasField "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkBool32+ type FieldOptional "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}+ type FieldIsArray "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}++instance {-# OVERLAPPING #-}+ CanReadField "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}++instance {-# OVERLAPPING #-}+ CanWriteField "primitiveUnderestimation"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, primitiveUnderestimation}++instance {-# OVERLAPPING #-}+ HasField "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkBool32+ type FieldOptional "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}+ type FieldIsArray "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}++instance {-# OVERLAPPING #-}+ CanReadField "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}++instance {-# OVERLAPPING #-}+ CanWriteField "conservativePointAndLineRasterization"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativePointAndLineRasterization}++instance {-# OVERLAPPING #-}+ HasField "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkBool32+ type FieldOptional "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}+ type FieldIsArray "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}++instance {-# OVERLAPPING #-}+ CanReadField "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}++instance {-# OVERLAPPING #-}+ CanWriteField "degenerateTrianglesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateTrianglesRasterized}++instance {-# OVERLAPPING #-}+ HasField "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkBool32+ type FieldOptional "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}+ type FieldIsArray "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}++instance {-# OVERLAPPING #-}+ CanReadField "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}++instance {-# OVERLAPPING #-}+ CanWriteField "degenerateLinesRasterized"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, degenerateLinesRasterized}++instance {-# OVERLAPPING #-}+ HasField "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkBool32+ type FieldOptional "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}+ type FieldIsArray "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}++instance {-# OVERLAPPING #-}+ CanReadField "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}++instance {-# OVERLAPPING #-}+ CanWriteField "fullyCoveredFragmentShaderInputVariable"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, fullyCoveredFragmentShaderInputVariable}++instance {-# OVERLAPPING #-}+ HasField "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ type FieldType "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = VkBool32+ type FieldOptional "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ =+ #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}+ type FieldIsArray "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}++instance {-# OVERLAPPING #-}+ CanReadField "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}++instance {-# OVERLAPPING #-}+ CanWriteField "conservativeRasterizationPostDepthCoverage"+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceConservativeRasterizationPropertiesEXT, conservativeRasterizationPostDepthCoverage}++instance Show+ VkPhysicalDeviceConservativeRasterizationPropertiesEXT+ where+ showsPrec d x+ = showString+ "VkPhysicalDeviceConservativeRasterizationPropertiesEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "primitiveOverestimationSize = " .+ showsPrec d (getField @"primitiveOverestimationSize" x) .+ showString ", " .+ showString "maxExtraPrimitiveOverestimationSize = " .+ showsPrec d (getField @"maxExtraPrimitiveOverestimationSize" x) .+ showString ", " .+ showString "extraPrimitiveOverestimationSizeGranularity = " .+ showsPrec d+ (getField @"extraPrimitiveOverestimationSizeGranularity"+ x)+ .+ showString ", " .+ showString "primitiveUnderestimation = " .+ showsPrec d (getField @"primitiveUnderestimation" x) .+ showString ", " .+ showString+ "conservativePointAndLineRasterization = "+ .+ showsPrec d+ (getField+ @"conservativePointAndLineRasterization"+ x)+ .+ showString ", " .+ showString+ "degenerateTrianglesRasterized = "+ .+ showsPrec d+ (getField+ @"degenerateTrianglesRasterized"+ x)+ .+ showString ", " .+ showString+ "degenerateLinesRasterized = "+ .+ showsPrec d+ (getField+ @"degenerateLinesRasterized"+ x)+ .+ showString ", " .+ showString+ "fullyCoveredFragmentShaderInputVariable = "+ .+ showsPrec d+ (getField+ @"fullyCoveredFragmentShaderInputVariable"+ x)+ .+ showString ", " .+ showString+ "conservativeRasterizationPostDepthCoverage = "+ .+ showsPrec d+ (getField+ @"conservativeRasterizationPostDepthCoverage"+ x)+ . showChar '}'++-- | > typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 shaderInputAttachmentArrayDynamicIndexing;+-- > VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;+-- > VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;+-- > VkBool32 shaderUniformBufferArrayNonUniformIndexing;+-- > VkBool32 shaderSampledImageArrayNonUniformIndexing;+-- > VkBool32 shaderStorageBufferArrayNonUniformIndexing;+-- > VkBool32 shaderStorageImageArrayNonUniformIndexing;+-- > VkBool32 shaderInputAttachmentArrayNonUniformIndexing;+-- > VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;+-- > VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;+-- > VkBool32 descriptorBindingUniformBufferUpdateAfterBind;+-- > VkBool32 descriptorBindingSampledImageUpdateAfterBind;+-- > VkBool32 descriptorBindingStorageImageUpdateAfterBind;+-- > VkBool32 descriptorBindingStorageBufferUpdateAfterBind;+-- > VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;+-- > VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;+-- > VkBool32 descriptorBindingUpdateUnusedWhilePending;+-- > VkBool32 descriptorBindingPartiallyBound;+-- > VkBool32 descriptorBindingVariableDescriptorCount;+-- > VkBool32 runtimeDescriptorArray;+-- > } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at www.khronos.org>+data VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeaturesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceDescriptorIndexingFeaturesEXT where+ (VkPhysicalDeviceDescriptorIndexingFeaturesEXT## a _) ==+ x@(VkPhysicalDeviceDescriptorIndexingFeaturesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceDescriptorIndexingFeaturesEXT where+ (VkPhysicalDeviceDescriptorIndexingFeaturesEXT## a _) `compare`+ x@(VkPhysicalDeviceDescriptorIndexingFeaturesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceDescriptorIndexingFeaturesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceDescriptorIndexingFeaturesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ unsafeAddr (VkPhysicalDeviceDescriptorIndexingFeaturesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceDescriptorIndexingFeaturesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceDescriptorIndexingFeaturesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type StructFields VkPhysicalDeviceDescriptorIndexingFeaturesEXT =+ '["sType", "pNext", "shaderInputAttachmentArrayDynamicIndexing", -- ' closing tick for hsc2hs+ "shaderUniformTexelBufferArrayDynamicIndexing",+ "shaderStorageTexelBufferArrayDynamicIndexing",+ "shaderUniformBufferArrayNonUniformIndexing",+ "shaderSampledImageArrayNonUniformIndexing",+ "shaderStorageBufferArrayNonUniformIndexing",+ "shaderStorageImageArrayNonUniformIndexing",+ "shaderInputAttachmentArrayNonUniformIndexing",+ "shaderUniformTexelBufferArrayNonUniformIndexing",+ "shaderStorageTexelBufferArrayNonUniformIndexing",+ "descriptorBindingUniformBufferUpdateAfterBind",+ "descriptorBindingSampledImageUpdateAfterBind",+ "descriptorBindingStorageImageUpdateAfterBind",+ "descriptorBindingStorageBufferUpdateAfterBind",+ "descriptorBindingUniformTexelBufferUpdateAfterBind",+ "descriptorBindingStorageTexelBufferUpdateAfterBind",+ "descriptorBindingUpdateUnusedWhilePending",+ "descriptorBindingPartiallyBound",+ "descriptorBindingVariableDescriptorCount",+ "runtimeDescriptorArray"]+ type CUnionType VkPhysicalDeviceDescriptorIndexingFeaturesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceDescriptorIndexingFeaturesEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceDescriptorIndexingFeaturesEXT =+ '[VkPhysicalDeviceFeatures2KHR, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}+ type FieldIsArray "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderInputAttachmentArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}+ type FieldIsArray "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderUniformTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}+ type FieldIsArray "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageTexelBufferArrayDynamicIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}+ type FieldIsArray "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderUniformBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}+ type FieldIsArray "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderSampledImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderSampledImageArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}+ type FieldIsArray "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}+ type FieldIsArray "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageImageArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}+ type FieldIsArray "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderInputAttachmentArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderInputAttachmentArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional+ "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}+ type FieldIsArray "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderUniformTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderUniformTexelBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional+ "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}+ type FieldIsArray "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageTexelBufferArrayNonUniformIndexing"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, shaderStorageTexelBufferArrayNonUniformIndexing}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}+ type FieldIsArray "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingUniformBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}+ type FieldIsArray "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingSampledImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingSampledImageUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}+ type FieldIsArray "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingStorageImageUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageImageUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}+ type FieldIsArray "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingStorageBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional+ "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}+ type FieldIsArray+ "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingUniformTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUniformTexelBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional+ "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}+ type FieldIsArray+ "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingStorageTexelBufferUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingStorageTexelBufferUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}+ type FieldIsArray "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingUpdateUnusedWhilePending"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingUpdateUnusedWhilePending}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}+ type FieldIsArray "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingPartiallyBound"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingPartiallyBound}++instance {-# OVERLAPPING #-}+ HasField "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}+ type FieldIsArray "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "descriptorBindingVariableDescriptorCount"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, descriptorBindingVariableDescriptorCount}++instance {-# OVERLAPPING #-}+ HasField "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ type FieldType "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = VkBool32+ type FieldOptional "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}+ type FieldIsArray "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}++instance {-# OVERLAPPING #-}+ CanReadField "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}++instance {-# OVERLAPPING #-}+ CanWriteField "runtimeDescriptorArray"+ VkPhysicalDeviceDescriptorIndexingFeaturesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingFeaturesEXT, runtimeDescriptorArray}++instance Show VkPhysicalDeviceDescriptorIndexingFeaturesEXT where+ showsPrec d x+ = showString "VkPhysicalDeviceDescriptorIndexingFeaturesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "shaderInputAttachmentArrayDynamicIndexing = " .+ showsPrec d+ (getField @"shaderInputAttachmentArrayDynamicIndexing" x)+ .+ showString ", " .+ showString "shaderUniformTexelBufferArrayDynamicIndexing = " .+ showsPrec d+ (getField @"shaderUniformTexelBufferArrayDynamicIndexing" x)+ .+ showString ", " .+ showString "shaderStorageTexelBufferArrayDynamicIndexing = " .+ showsPrec d+ (getField @"shaderStorageTexelBufferArrayDynamicIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderUniformBufferArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderUniformBufferArrayNonUniformIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderSampledImageArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderSampledImageArrayNonUniformIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderStorageBufferArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderStorageBufferArrayNonUniformIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderStorageImageArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderStorageImageArrayNonUniformIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderInputAttachmentArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderInputAttachmentArrayNonUniformIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderUniformTexelBufferArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderUniformTexelBufferArrayNonUniformIndexing"+ x)+ .+ showString ", " .+ showString+ "shaderStorageTexelBufferArrayNonUniformIndexing = "+ .+ showsPrec d+ (getField+ @"shaderStorageTexelBufferArrayNonUniformIndexing"+ x)+ .+ showString ", "+ .+ showString+ "descriptorBindingUniformBufferUpdateAfterBind = "+ .+ showsPrec d+ (getField+ @"descriptorBindingUniformBufferUpdateAfterBind"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingSampledImageUpdateAfterBind = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingSampledImageUpdateAfterBind"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingStorageImageUpdateAfterBind = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingStorageImageUpdateAfterBind"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingStorageBufferUpdateAfterBind = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingStorageBufferUpdateAfterBind"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingUniformTexelBufferUpdateAfterBind = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingUniformTexelBufferUpdateAfterBind"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingStorageTexelBufferUpdateAfterBind = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingStorageTexelBufferUpdateAfterBind"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingUpdateUnusedWhilePending = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingUpdateUnusedWhilePending"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingPartiallyBound = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingPartiallyBound"+ x)+ .+ showString+ ", "+ .+ showString+ "descriptorBindingVariableDescriptorCount = "+ .+ showsPrec+ d+ (getField+ @"descriptorBindingVariableDescriptorCount"+ x)+ .+ showString+ ", "+ .+ showString+ "runtimeDescriptorArray = "+ .+ showsPrec+ d+ (getField+ @"runtimeDescriptorArray"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxUpdateAfterBindDescriptorsInAllPools;+-- > VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;+-- > VkBool32 shaderSampledImageArrayNonUniformIndexingNative;+-- > VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;+-- > VkBool32 shaderStorageImageArrayNonUniformIndexingNative;+-- > VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;+-- > VkBool32 robustBufferAccessUpdateAfterBind;+-- > VkBool32 quadDivergentImplicitLod;+-- > uint32_t maxPerStageDescriptorUpdateAfterBindSamplers;+-- > uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers;+-- > uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers;+-- > uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages;+-- > uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages;+-- > uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments;+-- > uint32_t maxPerStageUpdateAfterBindResources;+-- > uint32_t maxDescriptorSetUpdateAfterBindSamplers;+-- > uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers;+-- > uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;+-- > uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers;+-- > uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;+-- > uint32_t maxDescriptorSetUpdateAfterBindSampledImages;+-- > uint32_t maxDescriptorSetUpdateAfterBindStorageImages;+-- > uint32_t maxDescriptorSetUpdateAfterBindInputAttachments;+-- > } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceDescriptorIndexingPropertiesEXT where+ (VkPhysicalDeviceDescriptorIndexingPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceDescriptorIndexingPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceDescriptorIndexingPropertiesEXT where+ (VkPhysicalDeviceDescriptorIndexingPropertiesEXT## a _) `compare`+ x@(VkPhysicalDeviceDescriptorIndexingPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceDescriptorIndexingPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceDescriptorIndexingPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ unsafeAddr (VkPhysicalDeviceDescriptorIndexingPropertiesEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceDescriptorIndexingPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceDescriptorIndexingPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type StructFields VkPhysicalDeviceDescriptorIndexingPropertiesEXT =+ '["sType", "pNext", "maxUpdateAfterBindDescriptorsInAllPools", -- ' closing tick for hsc2hs+ "shaderUniformBufferArrayNonUniformIndexingNative",+ "shaderSampledImageArrayNonUniformIndexingNative",+ "shaderStorageBufferArrayNonUniformIndexingNative",+ "shaderStorageImageArrayNonUniformIndexingNative",+ "shaderInputAttachmentArrayNonUniformIndexingNative",+ "robustBufferAccessUpdateAfterBind", "quadDivergentImplicitLod",+ "maxPerStageDescriptorUpdateAfterBindSamplers",+ "maxPerStageDescriptorUpdateAfterBindUniformBuffers",+ "maxPerStageDescriptorUpdateAfterBindStorageBuffers",+ "maxPerStageDescriptorUpdateAfterBindSampledImages",+ "maxPerStageDescriptorUpdateAfterBindStorageImages",+ "maxPerStageDescriptorUpdateAfterBindInputAttachments",+ "maxPerStageUpdateAfterBindResources",+ "maxDescriptorSetUpdateAfterBindSamplers",+ "maxDescriptorSetUpdateAfterBindUniformBuffers",+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic",+ "maxDescriptorSetUpdateAfterBindStorageBuffers",+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic",+ "maxDescriptorSetUpdateAfterBindSampledImages",+ "maxDescriptorSetUpdateAfterBindStorageImages",+ "maxDescriptorSetUpdateAfterBindInputAttachments"]+ type CUnionType VkPhysicalDeviceDescriptorIndexingPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceDescriptorIndexingPropertiesEXT =+ 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = '[VkPhysicalDeviceProperties2KHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}+ type FieldIsArray "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}++instance {-# OVERLAPPING #-}+ CanReadField "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}++instance {-# OVERLAPPING #-}+ CanWriteField "maxUpdateAfterBindDescriptorsInAllPools"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxUpdateAfterBindDescriptorsInAllPools}++instance {-# OVERLAPPING #-}+ HasField "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional+ "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}+ type FieldIsArray+ "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanReadField "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderUniformBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderUniformBufferArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ HasField "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional+ "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}+ type FieldIsArray "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanReadField "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderSampledImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderSampledImageArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional+ "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}+ type FieldIsArray+ "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageBufferArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageBufferArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional+ "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}+ type FieldIsArray "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderStorageImageArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ HasField "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional+ "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}+ type FieldIsArray+ "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanReadField "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderInputAttachmentArrayNonUniformIndexingNative"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, shaderInputAttachmentArrayNonUniformIndexingNative}++instance {-# OVERLAPPING #-}+ HasField "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}+ type FieldIsArray "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanReadField "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}++instance {-# OVERLAPPING #-}+ CanWriteField "robustBufferAccessUpdateAfterBind"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, robustBufferAccessUpdateAfterBind}++instance {-# OVERLAPPING #-}+ HasField "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = VkBool32+ type FieldOptional "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}+ type FieldIsArray "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}++instance {-# OVERLAPPING #-}+ CanReadField "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}++instance {-# OVERLAPPING #-}+ CanWriteField "quadDivergentImplicitLod"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, quadDivergentImplicitLod}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}+ type FieldIsArray "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSamplers}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}+ type FieldIsArray+ "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindUniformBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}+ type FieldIsArray+ "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}+ type FieldIsArray+ "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindSampledImages}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}+ type FieldIsArray+ "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindStorageImages}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType+ "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}+ type FieldIsArray+ "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField+ "maxPerStageDescriptorUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageDescriptorUpdateAfterBindInputAttachments}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}+ type FieldIsArray "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageUpdateAfterBindResources"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxPerStageUpdateAfterBindResources}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}+ type FieldIsArray "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUpdateAfterBindSamplers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSamplers}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}+ type FieldIsArray "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUpdateAfterBindUniformBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}+ type FieldIsArray+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanWriteField+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindUniformBuffersDynamic}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}+ type FieldIsArray "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUpdateAfterBindStorageBuffers"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}+ type FieldIsArray+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanWriteField+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageBuffersDynamic}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}+ type FieldIsArray "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUpdateAfterBindSampledImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindSampledImages}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}+ type FieldIsArray "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUpdateAfterBindStorageImages"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindStorageImages}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ type FieldType "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = Word32+ type FieldOptional+ "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ =+ #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}+ type FieldIsArray "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUpdateAfterBindInputAttachments"+ VkPhysicalDeviceDescriptorIndexingPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDescriptorIndexingPropertiesEXT, maxDescriptorSetUpdateAfterBindInputAttachments}++instance Show VkPhysicalDeviceDescriptorIndexingPropertiesEXT where+ showsPrec d x+ = showString "VkPhysicalDeviceDescriptorIndexingPropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxUpdateAfterBindDescriptorsInAllPools = " .+ showsPrec d (getField @"maxUpdateAfterBindDescriptorsInAllPools" x)+ .+ showString ", " .+ showString "shaderUniformBufferArrayNonUniformIndexingNative = " .+ showsPrec d+ (getField @"shaderUniformBufferArrayNonUniformIndexingNative" x)+ .+ showString ", " .+ showString+ "shaderSampledImageArrayNonUniformIndexingNative = "+ .+ showsPrec d+ (getField+ @"shaderSampledImageArrayNonUniformIndexingNative"+ x)+ .+ showString ", " .+ showString+ "shaderStorageBufferArrayNonUniformIndexingNative = "+ .+ showsPrec d+ (getField+ @"shaderStorageBufferArrayNonUniformIndexingNative"+ x)+ .+ showString ", " .+ showString+ "shaderStorageImageArrayNonUniformIndexingNative = "+ .+ showsPrec d+ (getField+ @"shaderStorageImageArrayNonUniformIndexingNative"+ x)+ .+ showString ", " .+ showString+ "shaderInputAttachmentArrayNonUniformIndexingNative = "+ .+ showsPrec d+ (getField+ @"shaderInputAttachmentArrayNonUniformIndexingNative"+ x)+ .+ showString ", " .+ showString+ "robustBufferAccessUpdateAfterBind = "+ .+ showsPrec d+ (getField+ @"robustBufferAccessUpdateAfterBind"+ x)+ .+ showString ", " .+ showString+ "quadDivergentImplicitLod = "+ .+ showsPrec d+ (getField+ @"quadDivergentImplicitLod"+ x)+ .+ showString ", " .+ showString+ "maxPerStageDescriptorUpdateAfterBindSamplers = "+ .+ showsPrec d+ (getField+ @"maxPerStageDescriptorUpdateAfterBindSamplers"+ x)+ .+ showString ", " .+ showString+ "maxPerStageDescriptorUpdateAfterBindUniformBuffers = "+ .+ showsPrec d+ (getField+ @"maxPerStageDescriptorUpdateAfterBindUniformBuffers"+ x)+ .+ showString ", "+ .+ showString+ "maxPerStageDescriptorUpdateAfterBindStorageBuffers = "+ .+ showsPrec d+ (getField+ @"maxPerStageDescriptorUpdateAfterBindStorageBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorUpdateAfterBindSampledImages = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorUpdateAfterBindSampledImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorUpdateAfterBindStorageImages = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorUpdateAfterBindStorageImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorUpdateAfterBindInputAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorUpdateAfterBindInputAttachments"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageUpdateAfterBindResources = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageUpdateAfterBindResources"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindSamplers = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindSamplers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindUniformBuffers = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindUniformBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindUniformBuffersDynamic"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindStorageBuffers = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindStorageBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindStorageBuffersDynamic"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindSampledImages = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindSampledImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindStorageImages = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindStorageImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUpdateAfterBindInputAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUpdateAfterBindInputAttachments"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxDiscardRectangles;+-- > } VkPhysicalDeviceDiscardRectanglePropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceDiscardRectanglePropertiesEXT = VkPhysicalDeviceDiscardRectanglePropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceDiscardRectanglePropertiesEXT where+ (VkPhysicalDeviceDiscardRectanglePropertiesEXT## a _) ==+ x@(VkPhysicalDeviceDiscardRectanglePropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceDiscardRectanglePropertiesEXT where+ (VkPhysicalDeviceDiscardRectanglePropertiesEXT## a _) `compare`+ x@(VkPhysicalDeviceDiscardRectanglePropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceDiscardRectanglePropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceDiscardRectanglePropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ unsafeAddr (VkPhysicalDeviceDiscardRectanglePropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceDiscardRectanglePropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceDiscardRectanglePropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ type StructFields VkPhysicalDeviceDiscardRectanglePropertiesEXT =+ '["sType", "pNext", "maxDiscardRectangles"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceDiscardRectanglePropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceDiscardRectanglePropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceDiscardRectanglePropertiesEXT =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ =+ #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ =+ #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ type FieldType "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = Word32+ type FieldOptional "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ =+ #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}+ type FieldIsArray "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}++instance {-# OVERLAPPING #-}+ CanReadField "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDiscardRectangles"+ VkPhysicalDeviceDiscardRectanglePropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceDiscardRectanglePropertiesEXT, maxDiscardRectangles}++instance Show VkPhysicalDeviceDiscardRectanglePropertiesEXT where+ showsPrec d x+ = showString "VkPhysicalDeviceDiscardRectanglePropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxDiscardRectangles = " .+ showsPrec d (getField @"maxDiscardRectangles" x) . showChar '}'++-- | > typedef struct VkPhysicalDeviceExternalBufferInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBufferCreateFlags flags;+-- > VkBufferUsageFlags usage;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > } VkPhysicalDeviceExternalBufferInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org>+data VkPhysicalDeviceExternalBufferInfo = VkPhysicalDeviceExternalBufferInfo## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceExternalBufferInfo where+ (VkPhysicalDeviceExternalBufferInfo## a _) ==+ x@(VkPhysicalDeviceExternalBufferInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceExternalBufferInfo where+ (VkPhysicalDeviceExternalBufferInfo## a _) `compare`+ x@(VkPhysicalDeviceExternalBufferInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceExternalBufferInfo where+ sizeOf ~_ = #{size VkPhysicalDeviceExternalBufferInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceExternalBufferInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceExternalBufferInfo where+ unsafeAddr (VkPhysicalDeviceExternalBufferInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceExternalBufferInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceExternalBufferInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceExternalBufferInfo where+ type StructFields VkPhysicalDeviceExternalBufferInfo =+ '["sType", "pNext", "flags", "usage", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceExternalBufferInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceExternalBufferInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceExternalBufferInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceExternalBufferInfo where+ type FieldType "sType" VkPhysicalDeviceExternalBufferInfo =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceExternalBufferInfo =+ #{offset VkPhysicalDeviceExternalBufferInfo, sType}+ type FieldIsArray "sType" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalBufferInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceExternalBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceExternalBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceExternalBufferInfo where+ type FieldType "pNext" VkPhysicalDeviceExternalBufferInfo =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceExternalBufferInfo =+ #{offset VkPhysicalDeviceExternalBufferInfo, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalBufferInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceExternalBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceExternalBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPhysicalDeviceExternalBufferInfo where+ type FieldType "flags" VkPhysicalDeviceExternalBufferInfo =+ VkBufferCreateFlags+ type FieldOptional "flags" VkPhysicalDeviceExternalBufferInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPhysicalDeviceExternalBufferInfo =+ #{offset VkPhysicalDeviceExternalBufferInfo, flags}+ type FieldIsArray "flags" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalBufferInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPhysicalDeviceExternalBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPhysicalDeviceExternalBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "usage" VkPhysicalDeviceExternalBufferInfo where+ type FieldType "usage" VkPhysicalDeviceExternalBufferInfo =+ VkBufferUsageFlags+ type FieldOptional "usage" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "usage" VkPhysicalDeviceExternalBufferInfo =+ #{offset VkPhysicalDeviceExternalBufferInfo, usage}+ type FieldIsArray "usage" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalBufferInfo, usage}++instance {-# OVERLAPPING #-}+ CanReadField "usage" VkPhysicalDeviceExternalBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, usage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, usage}++instance {-# OVERLAPPING #-}+ CanWriteField "usage" VkPhysicalDeviceExternalBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, usage}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkPhysicalDeviceExternalBufferInfo where+ type FieldType "handleType" VkPhysicalDeviceExternalBufferInfo =+ VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType" VkPhysicalDeviceExternalBufferInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkPhysicalDeviceExternalBufferInfo =+ #{offset VkPhysicalDeviceExternalBufferInfo, handleType}+ type FieldIsArray "handleType" VkPhysicalDeviceExternalBufferInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalBufferInfo, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkPhysicalDeviceExternalBufferInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalBufferInfo, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkPhysicalDeviceExternalBufferInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalBufferInfo, handleType}++instance Show VkPhysicalDeviceExternalBufferInfo where+ showsPrec d x+ = showString "VkPhysicalDeviceExternalBufferInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "usage = " .+ showsPrec d (getField @"usage" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceExternalBufferInfo`+type VkPhysicalDeviceExternalBufferInfoKHR =+ VkPhysicalDeviceExternalBufferInfo++-- | > typedef struct VkPhysicalDeviceExternalFenceInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalFenceHandleTypeFlagBits handleType;+-- > } VkPhysicalDeviceExternalFenceInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org>+data VkPhysicalDeviceExternalFenceInfo = VkPhysicalDeviceExternalFenceInfo## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceExternalFenceInfo where+ (VkPhysicalDeviceExternalFenceInfo## a _) ==+ x@(VkPhysicalDeviceExternalFenceInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceExternalFenceInfo where+ (VkPhysicalDeviceExternalFenceInfo## a _) `compare`+ x@(VkPhysicalDeviceExternalFenceInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceExternalFenceInfo where+ sizeOf ~_ = #{size VkPhysicalDeviceExternalFenceInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceExternalFenceInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceExternalFenceInfo where+ unsafeAddr (VkPhysicalDeviceExternalFenceInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceExternalFenceInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceExternalFenceInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceExternalFenceInfo where+ type StructFields VkPhysicalDeviceExternalFenceInfo =+ '["sType", "pNext", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceExternalFenceInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceExternalFenceInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceExternalFenceInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceExternalFenceInfo where+ type FieldType "sType" VkPhysicalDeviceExternalFenceInfo =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceExternalFenceInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceExternalFenceInfo =+ #{offset VkPhysicalDeviceExternalFenceInfo, sType}+ type FieldIsArray "sType" VkPhysicalDeviceExternalFenceInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalFenceInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceExternalFenceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalFenceInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceExternalFenceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceExternalFenceInfo where+ type FieldType "pNext" VkPhysicalDeviceExternalFenceInfo = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceExternalFenceInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceExternalFenceInfo =+ #{offset VkPhysicalDeviceExternalFenceInfo, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceExternalFenceInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalFenceInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceExternalFenceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalFenceInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceExternalFenceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkPhysicalDeviceExternalFenceInfo where+ type FieldType "handleType" VkPhysicalDeviceExternalFenceInfo =+ VkExternalFenceHandleTypeFlagBits+ type FieldOptional "handleType" VkPhysicalDeviceExternalFenceInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkPhysicalDeviceExternalFenceInfo =+ #{offset VkPhysicalDeviceExternalFenceInfo, handleType}+ type FieldIsArray "handleType" VkPhysicalDeviceExternalFenceInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalFenceInfo, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkPhysicalDeviceExternalFenceInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalFenceInfo, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkPhysicalDeviceExternalFenceInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalFenceInfo, handleType}++instance Show VkPhysicalDeviceExternalFenceInfo where+ showsPrec d x+ = showString "VkPhysicalDeviceExternalFenceInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceExternalFenceInfo`+type VkPhysicalDeviceExternalFenceInfoKHR =+ VkPhysicalDeviceExternalFenceInfo++-- | > typedef struct VkPhysicalDeviceExternalImageFormatInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > } VkPhysicalDeviceExternalImageFormatInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo registry at www.khronos.org>+data VkPhysicalDeviceExternalImageFormatInfo = VkPhysicalDeviceExternalImageFormatInfo## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceExternalImageFormatInfo where+ (VkPhysicalDeviceExternalImageFormatInfo## a _) ==+ x@(VkPhysicalDeviceExternalImageFormatInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceExternalImageFormatInfo where+ (VkPhysicalDeviceExternalImageFormatInfo## a _) `compare`+ x@(VkPhysicalDeviceExternalImageFormatInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceExternalImageFormatInfo where+ sizeOf ~_+ = #{size VkPhysicalDeviceExternalImageFormatInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceExternalImageFormatInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceExternalImageFormatInfo+ where+ unsafeAddr (VkPhysicalDeviceExternalImageFormatInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceExternalImageFormatInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceExternalImageFormatInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceExternalImageFormatInfo+ where+ type StructFields VkPhysicalDeviceExternalImageFormatInfo =+ '["sType", "pNext", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceExternalImageFormatInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceExternalImageFormatInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceExternalImageFormatInfo =+ '[VkPhysicalDeviceImageFormatInfo2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceExternalImageFormatInfo where+ type FieldType "sType" VkPhysicalDeviceExternalImageFormatInfo =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceExternalImageFormatInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceExternalImageFormatInfo =+ #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}+ type FieldIsArray "sType" VkPhysicalDeviceExternalImageFormatInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceExternalImageFormatInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalImageFormatInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceExternalImageFormatInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceExternalImageFormatInfo where+ type FieldType "pNext" VkPhysicalDeviceExternalImageFormatInfo =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceExternalImageFormatInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceExternalImageFormatInfo =+ #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceExternalImageFormatInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceExternalImageFormatInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceExternalImageFormatInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkPhysicalDeviceExternalImageFormatInfo where+ type FieldType "handleType" VkPhysicalDeviceExternalImageFormatInfo+ = VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType"+ VkPhysicalDeviceExternalImageFormatInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleType"+ VkPhysicalDeviceExternalImageFormatInfo+ =+ #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}+ type FieldIsArray "handleType"+ VkPhysicalDeviceExternalImageFormatInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkPhysicalDeviceExternalImageFormatInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkPhysicalDeviceExternalImageFormatInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalImageFormatInfo, handleType}++instance Show VkPhysicalDeviceExternalImageFormatInfo where+ showsPrec d x+ = showString "VkPhysicalDeviceExternalImageFormatInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceExternalImageFormatInfo`+type VkPhysicalDeviceExternalImageFormatInfoKHR =+ VkPhysicalDeviceExternalImageFormatInfo++-- | > typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkDeviceSize minImportedHostPointerAlignment;+-- > } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceExternalMemoryHostPropertiesEXT = VkPhysicalDeviceExternalMemoryHostPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceExternalMemoryHostPropertiesEXT where+ (VkPhysicalDeviceExternalMemoryHostPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceExternalMemoryHostPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceExternalMemoryHostPropertiesEXT where+ (VkPhysicalDeviceExternalMemoryHostPropertiesEXT## a _) `compare`+ x@(VkPhysicalDeviceExternalMemoryHostPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceExternalMemoryHostPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceExternalMemoryHostPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ unsafeAddr (VkPhysicalDeviceExternalMemoryHostPropertiesEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceExternalMemoryHostPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceExternalMemoryHostPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ type StructFields VkPhysicalDeviceExternalMemoryHostPropertiesEXT =+ '["sType", "pNext", "minImportedHostPointerAlignment"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceExternalMemoryHostPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceExternalMemoryHostPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ =+ #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ =+ #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ type FieldType "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = VkDeviceSize+ type FieldOptional "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ =+ #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}+ type FieldIsArray "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minImportedHostPointerAlignment"+ VkPhysicalDeviceExternalMemoryHostPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalMemoryHostPropertiesEXT, minImportedHostPointerAlignment}++instance Show VkPhysicalDeviceExternalMemoryHostPropertiesEXT where+ showsPrec d x+ = showString "VkPhysicalDeviceExternalMemoryHostPropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "minImportedHostPointerAlignment = " .+ showsPrec d (getField @"minImportedHostPointerAlignment" x) .+ showChar '}'++-- | > typedef struct VkPhysicalDeviceExternalSemaphoreInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalSemaphoreHandleTypeFlagBits handleType;+-- > } VkPhysicalDeviceExternalSemaphoreInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo registry at www.khronos.org>+data VkPhysicalDeviceExternalSemaphoreInfo = VkPhysicalDeviceExternalSemaphoreInfo## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceExternalSemaphoreInfo where+ (VkPhysicalDeviceExternalSemaphoreInfo## a _) ==+ x@(VkPhysicalDeviceExternalSemaphoreInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceExternalSemaphoreInfo where+ (VkPhysicalDeviceExternalSemaphoreInfo## a _) `compare`+ x@(VkPhysicalDeviceExternalSemaphoreInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceExternalSemaphoreInfo where+ sizeOf ~_+ = #{size VkPhysicalDeviceExternalSemaphoreInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceExternalSemaphoreInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceExternalSemaphoreInfo+ where+ unsafeAddr (VkPhysicalDeviceExternalSemaphoreInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceExternalSemaphoreInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceExternalSemaphoreInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceExternalSemaphoreInfo where+ type StructFields VkPhysicalDeviceExternalSemaphoreInfo =+ '["sType", "pNext", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceExternalSemaphoreInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceExternalSemaphoreInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceExternalSemaphoreInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceExternalSemaphoreInfo where+ type FieldType "sType" VkPhysicalDeviceExternalSemaphoreInfo =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceExternalSemaphoreInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceExternalSemaphoreInfo =+ #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}+ type FieldIsArray "sType" VkPhysicalDeviceExternalSemaphoreInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceExternalSemaphoreInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceExternalSemaphoreInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceExternalSemaphoreInfo where+ type FieldType "pNext" VkPhysicalDeviceExternalSemaphoreInfo =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceExternalSemaphoreInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceExternalSemaphoreInfo =+ #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceExternalSemaphoreInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceExternalSemaphoreInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceExternalSemaphoreInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkPhysicalDeviceExternalSemaphoreInfo where+ type FieldType "handleType" VkPhysicalDeviceExternalSemaphoreInfo =+ VkExternalSemaphoreHandleTypeFlagBits+ type FieldOptional "handleType"+ VkPhysicalDeviceExternalSemaphoreInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkPhysicalDeviceExternalSemaphoreInfo+ =+ #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}+ type FieldIsArray "handleType"+ VkPhysicalDeviceExternalSemaphoreInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkPhysicalDeviceExternalSemaphoreInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkPhysicalDeviceExternalSemaphoreInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceExternalSemaphoreInfo, handleType}++instance Show VkPhysicalDeviceExternalSemaphoreInfo where+ showsPrec d x+ = showString "VkPhysicalDeviceExternalSemaphoreInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceExternalSemaphoreInfo`+type VkPhysicalDeviceExternalSemaphoreInfoKHR =+ VkPhysicalDeviceExternalSemaphoreInfo++-- | > typedef struct VkPhysicalDeviceFeatures2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkPhysicalDeviceFeatures features;+-- > } VkPhysicalDeviceFeatures2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2 registry at www.khronos.org>+data VkPhysicalDeviceFeatures2 = VkPhysicalDeviceFeatures2## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceFeatures2 where+ (VkPhysicalDeviceFeatures2## a _) ==+ x@(VkPhysicalDeviceFeatures2## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceFeatures2 where+ (VkPhysicalDeviceFeatures2## a _) `compare`+ x@(VkPhysicalDeviceFeatures2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceFeatures2 where+ sizeOf ~_ = #{size VkPhysicalDeviceFeatures2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPhysicalDeviceFeatures2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceFeatures2 where+ unsafeAddr (VkPhysicalDeviceFeatures2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceFeatures2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceFeatures2## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceFeatures2 where+ type StructFields VkPhysicalDeviceFeatures2 =+ '["sType", "pNext", "features"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceFeatures2 =+ '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceFeatures2 where+ type FieldType "sType" VkPhysicalDeviceFeatures2 = VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceFeatures2 =+ #{offset VkPhysicalDeviceFeatures2, sType}+ type FieldIsArray "sType" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceFeatures2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceFeatures2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceFeatures2 where+ type FieldType "pNext" VkPhysicalDeviceFeatures2 = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceFeatures2 =+ #{offset VkPhysicalDeviceFeatures2, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceFeatures2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceFeatures2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures2, pNext}++instance {-# OVERLAPPING #-}+ HasField "features" VkPhysicalDeviceFeatures2 where+ type FieldType "features" VkPhysicalDeviceFeatures2 =+ VkPhysicalDeviceFeatures+ type FieldOptional "features" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "features" VkPhysicalDeviceFeatures2 =+ #{offset VkPhysicalDeviceFeatures2, features}+ type FieldIsArray "features" VkPhysicalDeviceFeatures2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures2, features}++instance {-# OVERLAPPING #-}+ CanReadField "features" VkPhysicalDeviceFeatures2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures2, features})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures2, features}++instance {-# OVERLAPPING #-}+ CanWriteField "features" VkPhysicalDeviceFeatures2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures2, features}++instance Show VkPhysicalDeviceFeatures2 where+ showsPrec d x+ = showString "VkPhysicalDeviceFeatures2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "features = " .+ showsPrec d (getField @"features" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceFeatures2`+type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2++-- | > typedef struct VkPhysicalDeviceGroupProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t physicalDeviceCount;+-- > VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];+-- > VkBool32 subsetAllocation;+-- > } VkPhysicalDeviceGroupProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties registry at www.khronos.org>+data VkPhysicalDeviceGroupProperties = VkPhysicalDeviceGroupProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceGroupProperties where+ (VkPhysicalDeviceGroupProperties## a _) ==+ x@(VkPhysicalDeviceGroupProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceGroupProperties where+ (VkPhysicalDeviceGroupProperties## a _) `compare`+ x@(VkPhysicalDeviceGroupProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceGroupProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceGroupProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceGroupProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceGroupProperties where+ unsafeAddr (VkPhysicalDeviceGroupProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceGroupProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceGroupProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceGroupProperties where+ type StructFields VkPhysicalDeviceGroupProperties =+ '["sType", "pNext", "physicalDeviceCount", "physicalDevices", -- ' closing tick for hsc2hs+ "subsetAllocation"]+ type CUnionType VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceGroupProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceGroupProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceGroupProperties where+ type FieldType "sType" VkPhysicalDeviceGroupProperties =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceGroupProperties =+ #{offset VkPhysicalDeviceGroupProperties, sType}+ type FieldIsArray "sType" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceGroupProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceGroupProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceGroupProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceGroupProperties where+ type FieldType "pNext" VkPhysicalDeviceGroupProperties = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceGroupProperties =+ #{offset VkPhysicalDeviceGroupProperties, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceGroupProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceGroupProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceGroupProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceGroupProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "physicalDeviceCount" VkPhysicalDeviceGroupProperties+ where+ type FieldType "physicalDeviceCount"+ VkPhysicalDeviceGroupProperties+ = Word32+ type FieldOptional "physicalDeviceCount"+ VkPhysicalDeviceGroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "physicalDeviceCount"+ VkPhysicalDeviceGroupProperties+ =+ #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}+ type FieldIsArray "physicalDeviceCount"+ VkPhysicalDeviceGroupProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}++instance {-# OVERLAPPING #-}+ CanReadField "physicalDeviceCount" VkPhysicalDeviceGroupProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}++instance {-# OVERLAPPING #-}+ CanWriteField "physicalDeviceCount" VkPhysicalDeviceGroupProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, physicalDeviceCount}++instance {-# OVERLAPPING #-}+ HasField "physicalDevices" VkPhysicalDeviceGroupProperties where+ type FieldType "physicalDevices" VkPhysicalDeviceGroupProperties =+ VkPhysicalDevice+ type FieldOptional "physicalDevices"+ VkPhysicalDeviceGroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "physicalDevices" VkPhysicalDeviceGroupProperties+ =+ #{offset VkPhysicalDeviceGroupProperties, physicalDevices}+ type FieldIsArray "physicalDevices" VkPhysicalDeviceGroupProperties+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceGroupProperties, physicalDevices}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "physicalDevices" idx+ VkPhysicalDeviceGroupProperties) =>+ CanReadFieldArray "physicalDevices" idx+ VkPhysicalDeviceGroupProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "physicalDevices" 0+ VkPhysicalDeviceGroupProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "physicalDevices" 1+ VkPhysicalDeviceGroupProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "physicalDevices" 2+ VkPhysicalDeviceGroupProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "physicalDevices" 3+ VkPhysicalDeviceGroupProperties+ #-}+ type FieldArrayLength "physicalDevices"+ VkPhysicalDeviceGroupProperties+ = VK_MAX_DEVICE_GROUP_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_DEVICE_GROUP_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceGroupProperties, physicalDevices}+ ++ sizeOf (undefined :: VkPhysicalDevice) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceGroupProperties, physicalDevices}+ ++ sizeOf (undefined :: VkPhysicalDevice) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "physicalDevices" idx+ VkPhysicalDeviceGroupProperties) =>+ CanWriteFieldArray "physicalDevices" idx+ VkPhysicalDeviceGroupProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "physicalDevices" 0+ VkPhysicalDeviceGroupProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "physicalDevices" 1+ VkPhysicalDeviceGroupProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "physicalDevices" 2+ VkPhysicalDeviceGroupProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "physicalDevices" 3+ VkPhysicalDeviceGroupProperties+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceGroupProperties, physicalDevices}+ ++ sizeOf (undefined :: VkPhysicalDevice) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "subsetAllocation" VkPhysicalDeviceGroupProperties where+ type FieldType "subsetAllocation" VkPhysicalDeviceGroupProperties =+ VkBool32+ type FieldOptional "subsetAllocation"+ VkPhysicalDeviceGroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subsetAllocation" VkPhysicalDeviceGroupProperties+ =+ #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}+ type FieldIsArray "subsetAllocation"+ VkPhysicalDeviceGroupProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "subsetAllocation" VkPhysicalDeviceGroupProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceGroupProperties, subsetAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "subsetAllocation" VkPhysicalDeviceGroupProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceGroupProperties, subsetAllocation}++instance Show VkPhysicalDeviceGroupProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceGroupProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "physicalDeviceCount = " .+ showsPrec d (getField @"physicalDeviceCount" x) .+ showString ", " .+ (showString "physicalDevices = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "physicalDevices"+ VkPhysicalDeviceGroupProperties)+ o = fieldOffset @"physicalDevices"+ @VkPhysicalDeviceGroupProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "physicalDevices"+ VkPhysicalDeviceGroupProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s)+ [0 .. VK_MAX_DEVICE_GROUP_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ showString "subsetAllocation = " .+ showsPrec d (getField @"subsetAllocation" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceGroupProperties`+type VkPhysicalDeviceGroupPropertiesKHR =+ VkPhysicalDeviceGroupProperties++-- | > typedef struct VkPhysicalDeviceIDProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint8_t deviceUUID[VK_UUID_SIZE];+-- > uint8_t driverUUID[VK_UUID_SIZE];+-- > uint8_t deviceLUID[VK_LUID_SIZE];+-- > uint32_t deviceNodeMask;+-- > VkBool32 deviceLUIDValid;+-- > } VkPhysicalDeviceIDProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties registry at www.khronos.org>+data VkPhysicalDeviceIDProperties = VkPhysicalDeviceIDProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceIDProperties where+ (VkPhysicalDeviceIDProperties## a _) ==+ x@(VkPhysicalDeviceIDProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceIDProperties where+ (VkPhysicalDeviceIDProperties## a _) `compare`+ x@(VkPhysicalDeviceIDProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceIDProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceIDProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceIDProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceIDProperties where+ unsafeAddr (VkPhysicalDeviceIDProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceIDProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceIDProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceIDProperties where+ type StructFields VkPhysicalDeviceIDProperties =+ '["sType", "pNext", "deviceUUID", "driverUUID", "deviceLUID", -- ' closing tick for hsc2hs+ "deviceNodeMask", "deviceLUIDValid"]+ type CUnionType VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceIDProperties =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceIDProperties where+ type FieldType "sType" VkPhysicalDeviceIDProperties =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, sType}+ type FieldIsArray "sType" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceIDProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceIDProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceIDProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceIDProperties where+ type FieldType "pNext" VkPhysicalDeviceIDProperties = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceIDProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceIDProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceIDProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceIDProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "deviceUUID" VkPhysicalDeviceIDProperties where+ type FieldType "deviceUUID" VkPhysicalDeviceIDProperties = Word8+ type FieldOptional "deviceUUID" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceUUID" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, deviceUUID}+ type FieldIsArray "deviceUUID" VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, deviceUUID}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "deviceUUID" idx VkPhysicalDeviceIDProperties) =>+ CanReadFieldArray "deviceUUID" idx VkPhysicalDeviceIDProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "deviceUUID" 0 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceUUID" 1 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceUUID" 2 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceUUID" 3 VkPhysicalDeviceIDProperties #-}+ type FieldArrayLength "deviceUUID" VkPhysicalDeviceIDProperties =+ VK_UUID_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_UUID_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceIDProperties, deviceUUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceIDProperties, deviceUUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "deviceUUID" idx VkPhysicalDeviceIDProperties) =>+ CanWriteFieldArray "deviceUUID" idx VkPhysicalDeviceIDProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "deviceUUID" 0 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceUUID" 1 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceUUID" 2 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceUUID" 3 VkPhysicalDeviceIDProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceIDProperties, deviceUUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "driverUUID" VkPhysicalDeviceIDProperties where+ type FieldType "driverUUID" VkPhysicalDeviceIDProperties = Word8+ type FieldOptional "driverUUID" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "driverUUID" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, driverUUID}+ type FieldIsArray "driverUUID" VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, driverUUID}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "driverUUID" idx VkPhysicalDeviceIDProperties) =>+ CanReadFieldArray "driverUUID" idx VkPhysicalDeviceIDProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "driverUUID" 0 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "driverUUID" 1 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "driverUUID" 2 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "driverUUID" 3 VkPhysicalDeviceIDProperties #-}+ type FieldArrayLength "driverUUID" VkPhysicalDeviceIDProperties =+ VK_UUID_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_UUID_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceIDProperties, driverUUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceIDProperties, driverUUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "driverUUID" idx VkPhysicalDeviceIDProperties) =>+ CanWriteFieldArray "driverUUID" idx VkPhysicalDeviceIDProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "driverUUID" 0 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "driverUUID" 1 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "driverUUID" 2 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "driverUUID" 3 VkPhysicalDeviceIDProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceIDProperties, driverUUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "deviceLUID" VkPhysicalDeviceIDProperties where+ type FieldType "deviceLUID" VkPhysicalDeviceIDProperties = Word8+ type FieldOptional "deviceLUID" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceLUID" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, deviceLUID}+ type FieldIsArray "deviceLUID" VkPhysicalDeviceIDProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, deviceLUID}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "deviceLUID" idx VkPhysicalDeviceIDProperties) =>+ CanReadFieldArray "deviceLUID" idx VkPhysicalDeviceIDProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "deviceLUID" 0 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceLUID" 1 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceLUID" 2 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceLUID" 3 VkPhysicalDeviceIDProperties #-}+ type FieldArrayLength "deviceLUID" VkPhysicalDeviceIDProperties =+ VK_LUID_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_LUID_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceIDProperties, deviceLUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceIDProperties, deviceLUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "deviceLUID" idx VkPhysicalDeviceIDProperties) =>+ CanWriteFieldArray "deviceLUID" idx VkPhysicalDeviceIDProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "deviceLUID" 0 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceLUID" 1 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceLUID" 2 VkPhysicalDeviceIDProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceLUID" 3 VkPhysicalDeviceIDProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceIDProperties, deviceLUID} ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "deviceNodeMask" VkPhysicalDeviceIDProperties where+ type FieldType "deviceNodeMask" VkPhysicalDeviceIDProperties =+ Word32+ type FieldOptional "deviceNodeMask" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceNodeMask" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}+ type FieldIsArray "deviceNodeMask" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}++instance {-# OVERLAPPING #-}+ CanReadField "deviceNodeMask" VkPhysicalDeviceIDProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, deviceNodeMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceNodeMask" VkPhysicalDeviceIDProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, deviceNodeMask}++instance {-# OVERLAPPING #-}+ HasField "deviceLUIDValid" VkPhysicalDeviceIDProperties where+ type FieldType "deviceLUIDValid" VkPhysicalDeviceIDProperties =+ VkBool32+ type FieldOptional "deviceLUIDValid" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceLUIDValid" VkPhysicalDeviceIDProperties =+ #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}+ type FieldIsArray "deviceLUIDValid" VkPhysicalDeviceIDProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}++instance {-# OVERLAPPING #-}+ CanReadField "deviceLUIDValid" VkPhysicalDeviceIDProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceLUIDValid" VkPhysicalDeviceIDProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceIDProperties, deviceLUIDValid}++instance Show VkPhysicalDeviceIDProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceIDProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ (showString "deviceUUID = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "deviceUUID" VkPhysicalDeviceIDProperties)+ o = fieldOffset @"deviceUUID" @VkPhysicalDeviceIDProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "deviceUUID" VkPhysicalDeviceIDProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_UUID_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ (showString "driverUUID = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "driverUUID"+ VkPhysicalDeviceIDProperties)+ o = fieldOffset @"driverUUID" @VkPhysicalDeviceIDProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "driverUUID"+ VkPhysicalDeviceIDProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_UUID_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ (showString "deviceLUID = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "deviceLUID"+ VkPhysicalDeviceIDProperties)+ o = fieldOffset @"deviceLUID"+ @VkPhysicalDeviceIDProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "deviceLUID"+ VkPhysicalDeviceIDProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_LUID_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ showString "deviceNodeMask = " .+ showsPrec d (getField @"deviceNodeMask" x) .+ showString ", " .+ showString "deviceLUIDValid = " .+ showsPrec d (getField @"deviceLUIDValid" x) .+ showChar '}'++-- | Alias for `VkPhysicalDeviceIDProperties`+type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties++-- | > typedef struct VkPhysicalDeviceImageFormatInfo2 {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFormat format;+-- > VkImageType type;+-- > VkImageTiling tiling;+-- > VkImageUsageFlags usage;+-- > VkImageCreateFlags flags;+-- > } VkPhysicalDeviceImageFormatInfo2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org>+data VkPhysicalDeviceImageFormatInfo2 = VkPhysicalDeviceImageFormatInfo2## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceImageFormatInfo2 where+ (VkPhysicalDeviceImageFormatInfo2## a _) ==+ x@(VkPhysicalDeviceImageFormatInfo2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceImageFormatInfo2 where+ (VkPhysicalDeviceImageFormatInfo2## a _) `compare`+ x@(VkPhysicalDeviceImageFormatInfo2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceImageFormatInfo2 where+ sizeOf ~_ = #{size VkPhysicalDeviceImageFormatInfo2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceImageFormatInfo2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceImageFormatInfo2 where+ unsafeAddr (VkPhysicalDeviceImageFormatInfo2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceImageFormatInfo2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceImageFormatInfo2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceImageFormatInfo2 where+ type StructFields VkPhysicalDeviceImageFormatInfo2 =+ '["sType", "pNext", "format", "type", "tiling", "usage", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceImageFormatInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "sType" VkPhysicalDeviceImageFormatInfo2 =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, sType}+ type FieldIsArray "sType" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "pNext" VkPhysicalDeviceImageFormatInfo2 = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, pNext}++instance {-# OVERLAPPING #-}+ HasField "format" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "format" VkPhysicalDeviceImageFormatInfo2 = VkFormat+ type FieldOptional "format" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, format}+ type FieldIsArray "format" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, format}++instance {-# OVERLAPPING #-}+ HasField "type" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "type" VkPhysicalDeviceImageFormatInfo2 =+ VkImageType+ type FieldOptional "type" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, type}+ type FieldIsArray "type" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, type}++instance {-# OVERLAPPING #-}+ HasField "tiling" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "tiling" VkPhysicalDeviceImageFormatInfo2 =+ VkImageTiling+ type FieldOptional "tiling" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "tiling" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, tiling}+ type FieldIsArray "tiling" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, tiling}++instance {-# OVERLAPPING #-}+ CanReadField "tiling" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, tiling})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, tiling}++instance {-# OVERLAPPING #-}+ CanWriteField "tiling" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, tiling}++instance {-# OVERLAPPING #-}+ HasField "usage" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "usage" VkPhysicalDeviceImageFormatInfo2 =+ VkImageUsageFlags+ type FieldOptional "usage" VkPhysicalDeviceImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "usage" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, usage}+ type FieldIsArray "usage" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, usage}++instance {-# OVERLAPPING #-}+ CanReadField "usage" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, usage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, usage}++instance {-# OVERLAPPING #-}+ CanWriteField "usage" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, usage}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPhysicalDeviceImageFormatInfo2 where+ type FieldType "flags" VkPhysicalDeviceImageFormatInfo2 =+ VkImageCreateFlags+ type FieldOptional "flags" VkPhysicalDeviceImageFormatInfo2 = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPhysicalDeviceImageFormatInfo2 =+ #{offset VkPhysicalDeviceImageFormatInfo2, flags}+ type FieldIsArray "flags" VkPhysicalDeviceImageFormatInfo2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceImageFormatInfo2, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPhysicalDeviceImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceImageFormatInfo2, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPhysicalDeviceImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceImageFormatInfo2, flags}++instance Show VkPhysicalDeviceImageFormatInfo2 where+ showsPrec d x+ = showString "VkPhysicalDeviceImageFormatInfo2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "tiling = " .+ showsPrec d (getField @"tiling" x) .+ showString ", " .+ showString "usage = " .+ showsPrec d (getField @"usage" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceImageFormatInfo2`+type VkPhysicalDeviceImageFormatInfo2KHR =+ VkPhysicalDeviceImageFormatInfo2++-- | > typedef struct VkPhysicalDeviceLimits {+-- > uint32_t maxImageDimension1D;+-- > uint32_t maxImageDimension2D;+-- > uint32_t maxImageDimension3D;+-- > uint32_t maxImageDimensionCube;+-- > uint32_t maxImageArrayLayers;+-- > uint32_t maxTexelBufferElements;+-- > uint32_t maxUniformBufferRange;+-- > uint32_t maxStorageBufferRange;+-- > uint32_t maxPushConstantsSize;+-- > uint32_t maxMemoryAllocationCount;+-- > uint32_t maxSamplerAllocationCount;+-- > VkDeviceSize bufferImageGranularity;+-- > VkDeviceSize sparseAddressSpaceSize;+-- > uint32_t maxBoundDescriptorSets;+-- > uint32_t maxPerStageDescriptorSamplers;+-- > uint32_t maxPerStageDescriptorUniformBuffers;+-- > uint32_t maxPerStageDescriptorStorageBuffers;+-- > uint32_t maxPerStageDescriptorSampledImages;+-- > uint32_t maxPerStageDescriptorStorageImages;+-- > uint32_t maxPerStageDescriptorInputAttachments;+-- > uint32_t maxPerStageResources;+-- > uint32_t maxDescriptorSetSamplers;+-- > uint32_t maxDescriptorSetUniformBuffers;+-- > uint32_t maxDescriptorSetUniformBuffersDynamic;+-- > uint32_t maxDescriptorSetStorageBuffers;+-- > uint32_t maxDescriptorSetStorageBuffersDynamic;+-- > uint32_t maxDescriptorSetSampledImages;+-- > uint32_t maxDescriptorSetStorageImages;+-- > uint32_t maxDescriptorSetInputAttachments;+-- > uint32_t maxVertexInputAttributes;+-- > uint32_t maxVertexInputBindings;+-- > uint32_t maxVertexInputAttributeOffset;+-- > uint32_t maxVertexInputBindingStride;+-- > uint32_t maxVertexOutputComponents;+-- > uint32_t maxTessellationGenerationLevel;+-- > uint32_t maxTessellationPatchSize;+-- > uint32_t maxTessellationControlPerVertexInputComponents;+-- > uint32_t maxTessellationControlPerVertexOutputComponents;+-- > uint32_t maxTessellationControlPerPatchOutputComponents;+-- > uint32_t maxTessellationControlTotalOutputComponents;+-- > uint32_t maxTessellationEvaluationInputComponents;+-- > uint32_t maxTessellationEvaluationOutputComponents;+-- > uint32_t maxGeometryShaderInvocations;+-- > uint32_t maxGeometryInputComponents;+-- > uint32_t maxGeometryOutputComponents;+-- > uint32_t maxGeometryOutputVertices;+-- > uint32_t maxGeometryTotalOutputComponents;+-- > uint32_t maxFragmentInputComponents;+-- > uint32_t maxFragmentOutputAttachments;+-- > uint32_t maxFragmentDualSrcAttachments;+-- > uint32_t maxFragmentCombinedOutputResources;+-- > uint32_t maxComputeSharedMemorySize;+-- > uint32_t maxComputeWorkGroupCount[3];+-- > uint32_t maxComputeWorkGroupInvocations;+-- > uint32_t maxComputeWorkGroupSize[3];+-- > uint32_t subPixelPrecisionBits;+-- > uint32_t subTexelPrecisionBits;+-- > uint32_t mipmapPrecisionBits;+-- > uint32_t maxDrawIndexedIndexValue;+-- > uint32_t maxDrawIndirectCount;+-- > float maxSamplerLodBias;+-- > float maxSamplerAnisotropy;+-- > uint32_t maxViewports;+-- > uint32_t maxViewportDimensions[2];+-- > float viewportBoundsRange[2];+-- > uint32_t viewportSubPixelBits;+-- > size_t minMemoryMapAlignment;+-- > VkDeviceSize minTexelBufferOffsetAlignment;+-- > VkDeviceSize minUniformBufferOffsetAlignment;+-- > VkDeviceSize minStorageBufferOffsetAlignment;+-- > int32_t minTexelOffset;+-- > uint32_t maxTexelOffset;+-- > int32_t minTexelGatherOffset;+-- > uint32_t maxTexelGatherOffset;+-- > float minInterpolationOffset;+-- > float maxInterpolationOffset;+-- > uint32_t subPixelInterpolationOffsetBits;+-- > uint32_t maxFramebufferWidth;+-- > uint32_t maxFramebufferHeight;+-- > uint32_t maxFramebufferLayers;+-- > VkSampleCountFlags framebufferColorSampleCounts;+-- > VkSampleCountFlags framebufferDepthSampleCounts;+-- > VkSampleCountFlags framebufferStencilSampleCounts;+-- > VkSampleCountFlags framebufferNoAttachmentsSampleCounts;+-- > uint32_t maxColorAttachments;+-- > VkSampleCountFlags sampledImageColorSampleCounts;+-- > VkSampleCountFlags sampledImageIntegerSampleCounts;+-- > VkSampleCountFlags sampledImageDepthSampleCounts;+-- > VkSampleCountFlags sampledImageStencilSampleCounts;+-- > VkSampleCountFlags storageImageSampleCounts;+-- > uint32_t maxSampleMaskWords;+-- > VkBool32 timestampComputeAndGraphics;+-- > float timestampPeriod;+-- > uint32_t maxClipDistances;+-- > uint32_t maxCullDistances;+-- > uint32_t maxCombinedClipAndCullDistances;+-- > uint32_t discreteQueuePriorities;+-- > float pointSizeRange[2];+-- > float lineWidthRange[2];+-- > float pointSizeGranularity;+-- > float lineWidthGranularity;+-- > VkBool32 strictLines;+-- > VkBool32 standardSampleLocations;+-- > VkDeviceSize optimalBufferCopyOffsetAlignment;+-- > VkDeviceSize optimalBufferCopyRowPitchAlignment;+-- > VkDeviceSize nonCoherentAtomSize;+-- > } VkPhysicalDeviceLimits;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceLimits VkPhysicalDeviceLimits registry at www.khronos.org>+data VkPhysicalDeviceLimits = VkPhysicalDeviceLimits## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceLimits where+ (VkPhysicalDeviceLimits## a _) == x@(VkPhysicalDeviceLimits## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceLimits where+ (VkPhysicalDeviceLimits## a _) `compare`+ x@(VkPhysicalDeviceLimits## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceLimits where+ sizeOf ~_ = #{size VkPhysicalDeviceLimits}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPhysicalDeviceLimits}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceLimits where+ unsafeAddr (VkPhysicalDeviceLimits## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceLimits## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceLimits## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceLimits where+ type StructFields VkPhysicalDeviceLimits =+ '["maxImageDimension1D", "maxImageDimension2D", -- ' closing tick for hsc2hs+ "maxImageDimension3D", "maxImageDimensionCube",+ "maxImageArrayLayers", "maxTexelBufferElements",+ "maxUniformBufferRange", "maxStorageBufferRange",+ "maxPushConstantsSize", "maxMemoryAllocationCount",+ "maxSamplerAllocationCount", "bufferImageGranularity",+ "sparseAddressSpaceSize", "maxBoundDescriptorSets",+ "maxPerStageDescriptorSamplers",+ "maxPerStageDescriptorUniformBuffers",+ "maxPerStageDescriptorStorageBuffers",+ "maxPerStageDescriptorSampledImages",+ "maxPerStageDescriptorStorageImages",+ "maxPerStageDescriptorInputAttachments", "maxPerStageResources",+ "maxDescriptorSetSamplers", "maxDescriptorSetUniformBuffers",+ "maxDescriptorSetUniformBuffersDynamic",+ "maxDescriptorSetStorageBuffers",+ "maxDescriptorSetStorageBuffersDynamic",+ "maxDescriptorSetSampledImages", "maxDescriptorSetStorageImages",+ "maxDescriptorSetInputAttachments", "maxVertexInputAttributes",+ "maxVertexInputBindings", "maxVertexInputAttributeOffset",+ "maxVertexInputBindingStride", "maxVertexOutputComponents",+ "maxTessellationGenerationLevel", "maxTessellationPatchSize",+ "maxTessellationControlPerVertexInputComponents",+ "maxTessellationControlPerVertexOutputComponents",+ "maxTessellationControlPerPatchOutputComponents",+ "maxTessellationControlTotalOutputComponents",+ "maxTessellationEvaluationInputComponents",+ "maxTessellationEvaluationOutputComponents",+ "maxGeometryShaderInvocations", "maxGeometryInputComponents",+ "maxGeometryOutputComponents", "maxGeometryOutputVertices",+ "maxGeometryTotalOutputComponents", "maxFragmentInputComponents",+ "maxFragmentOutputAttachments", "maxFragmentDualSrcAttachments",+ "maxFragmentCombinedOutputResources", "maxComputeSharedMemorySize",+ "maxComputeWorkGroupCount", "maxComputeWorkGroupInvocations",+ "maxComputeWorkGroupSize", "subPixelPrecisionBits",+ "subTexelPrecisionBits", "mipmapPrecisionBits",+ "maxDrawIndexedIndexValue", "maxDrawIndirectCount",+ "maxSamplerLodBias", "maxSamplerAnisotropy", "maxViewports",+ "maxViewportDimensions", "viewportBoundsRange",+ "viewportSubPixelBits", "minMemoryMapAlignment",+ "minTexelBufferOffsetAlignment", "minUniformBufferOffsetAlignment",+ "minStorageBufferOffsetAlignment", "minTexelOffset",+ "maxTexelOffset", "minTexelGatherOffset", "maxTexelGatherOffset",+ "minInterpolationOffset", "maxInterpolationOffset",+ "subPixelInterpolationOffsetBits", "maxFramebufferWidth",+ "maxFramebufferHeight", "maxFramebufferLayers",+ "framebufferColorSampleCounts", "framebufferDepthSampleCounts",+ "framebufferStencilSampleCounts",+ "framebufferNoAttachmentsSampleCounts", "maxColorAttachments",+ "sampledImageColorSampleCounts", "sampledImageIntegerSampleCounts",+ "sampledImageDepthSampleCounts", "sampledImageStencilSampleCounts",+ "storageImageSampleCounts", "maxSampleMaskWords",+ "timestampComputeAndGraphics", "timestampPeriod",+ "maxClipDistances", "maxCullDistances",+ "maxCombinedClipAndCullDistances", "discreteQueuePriorities",+ "pointSizeRange", "lineWidthRange", "pointSizeGranularity",+ "lineWidthGranularity", "strictLines", "standardSampleLocations",+ "optimalBufferCopyOffsetAlignment",+ "optimalBufferCopyRowPitchAlignment", "nonCoherentAtomSize"]+ type CUnionType VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceLimits = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceLimits = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "maxImageDimension1D" VkPhysicalDeviceLimits where+ type FieldType "maxImageDimension1D" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxImageDimension1D" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageDimension1D" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxImageDimension1D}+ type FieldIsArray "maxImageDimension1D" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxImageDimension1D}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageDimension1D" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimension1D})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension1D}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageDimension1D" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension1D}++instance {-# OVERLAPPING #-}+ HasField "maxImageDimension2D" VkPhysicalDeviceLimits where+ type FieldType "maxImageDimension2D" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxImageDimension2D" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageDimension2D" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxImageDimension2D}+ type FieldIsArray "maxImageDimension2D" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxImageDimension2D}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageDimension2D" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimension2D})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension2D}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageDimension2D" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension2D}++instance {-# OVERLAPPING #-}+ HasField "maxImageDimension3D" VkPhysicalDeviceLimits where+ type FieldType "maxImageDimension3D" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxImageDimension3D" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageDimension3D" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxImageDimension3D}+ type FieldIsArray "maxImageDimension3D" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxImageDimension3D}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageDimension3D" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimension3D})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension3D}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageDimension3D" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimension3D}++instance {-# OVERLAPPING #-}+ HasField "maxImageDimensionCube" VkPhysicalDeviceLimits where+ type FieldType "maxImageDimensionCube" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxImageDimensionCube" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageDimensionCube" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}+ type FieldIsArray "maxImageDimensionCube" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageDimensionCube" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageDimensionCube})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageDimensionCube" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageDimensionCube}++instance {-# OVERLAPPING #-}+ HasField "maxImageArrayLayers" VkPhysicalDeviceLimits where+ type FieldType "maxImageArrayLayers" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxImageArrayLayers" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageArrayLayers" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}+ type FieldIsArray "maxImageArrayLayers" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageArrayLayers" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxImageArrayLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageArrayLayers" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ HasField "maxTexelBufferElements" VkPhysicalDeviceLimits where+ type FieldType "maxTexelBufferElements" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxTexelBufferElements" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTexelBufferElements" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}+ type FieldIsArray "maxTexelBufferElements" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}++instance {-# OVERLAPPING #-}+ CanReadField "maxTexelBufferElements" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTexelBufferElements})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTexelBufferElements" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTexelBufferElements}++instance {-# OVERLAPPING #-}+ HasField "maxUniformBufferRange" VkPhysicalDeviceLimits where+ type FieldType "maxUniformBufferRange" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxUniformBufferRange" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxUniformBufferRange" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}+ type FieldIsArray "maxUniformBufferRange" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}++instance {-# OVERLAPPING #-}+ CanReadField "maxUniformBufferRange" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxUniformBufferRange})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}++instance {-# OVERLAPPING #-}+ CanWriteField "maxUniformBufferRange" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxUniformBufferRange}++instance {-# OVERLAPPING #-}+ HasField "maxStorageBufferRange" VkPhysicalDeviceLimits where+ type FieldType "maxStorageBufferRange" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxStorageBufferRange" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxStorageBufferRange" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}+ type FieldIsArray "maxStorageBufferRange" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}++instance {-# OVERLAPPING #-}+ CanReadField "maxStorageBufferRange" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxStorageBufferRange})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}++instance {-# OVERLAPPING #-}+ CanWriteField "maxStorageBufferRange" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxStorageBufferRange}++instance {-# OVERLAPPING #-}+ HasField "maxPushConstantsSize" VkPhysicalDeviceLimits where+ type FieldType "maxPushConstantsSize" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxPushConstantsSize" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPushConstantsSize" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}+ type FieldIsArray "maxPushConstantsSize" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxPushConstantsSize" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPushConstantsSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPushConstantsSize" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPushConstantsSize}++instance {-# OVERLAPPING #-}+ HasField "maxMemoryAllocationCount" VkPhysicalDeviceLimits where+ type FieldType "maxMemoryAllocationCount" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxMemoryAllocationCount"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxMemoryAllocationCount" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}+ type FieldIsArray "maxMemoryAllocationCount" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxMemoryAllocationCount" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxMemoryAllocationCount" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxMemoryAllocationCount}++instance {-# OVERLAPPING #-}+ HasField "maxSamplerAllocationCount" VkPhysicalDeviceLimits where+ type FieldType "maxSamplerAllocationCount" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxSamplerAllocationCount"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSamplerAllocationCount" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}+ type FieldIsArray "maxSamplerAllocationCount"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxSamplerAllocationCount" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSamplerAllocationCount" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAllocationCount}++instance {-# OVERLAPPING #-}+ HasField "bufferImageGranularity" VkPhysicalDeviceLimits where+ type FieldType "bufferImageGranularity" VkPhysicalDeviceLimits =+ VkDeviceSize+ type FieldOptional "bufferImageGranularity" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "bufferImageGranularity" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, bufferImageGranularity}+ type FieldIsArray "bufferImageGranularity" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, bufferImageGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "bufferImageGranularity" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, bufferImageGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, bufferImageGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "bufferImageGranularity" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, bufferImageGranularity}++instance {-# OVERLAPPING #-}+ HasField "sparseAddressSpaceSize" VkPhysicalDeviceLimits where+ type FieldType "sparseAddressSpaceSize" VkPhysicalDeviceLimits =+ VkDeviceSize+ type FieldOptional "sparseAddressSpaceSize" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseAddressSpaceSize" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}+ type FieldIsArray "sparseAddressSpaceSize" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}++instance {-# OVERLAPPING #-}+ CanReadField "sparseAddressSpaceSize" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseAddressSpaceSize" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, sparseAddressSpaceSize}++instance {-# OVERLAPPING #-}+ HasField "maxBoundDescriptorSets" VkPhysicalDeviceLimits where+ type FieldType "maxBoundDescriptorSets" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxBoundDescriptorSets" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxBoundDescriptorSets" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}+ type FieldIsArray "maxBoundDescriptorSets" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}++instance {-# OVERLAPPING #-}+ CanReadField "maxBoundDescriptorSets" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}++instance {-# OVERLAPPING #-}+ CanWriteField "maxBoundDescriptorSets" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxBoundDescriptorSets}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorSamplers" VkPhysicalDeviceLimits+ where+ type FieldType "maxPerStageDescriptorSamplers"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxPerStageDescriptorSamplers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorSamplers"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}+ type FieldIsArray "maxPerStageDescriptorSamplers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorSamplers" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorSamplers"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSamplers}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}+ type FieldIsArray "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorUniformBuffers"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorUniformBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}+ type FieldIsArray "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorStorageBuffers"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}+ type FieldIsArray "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorSampledImages"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorSampledImages}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}+ type FieldIsArray "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorStorageImages"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorStorageImages}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}+ type FieldIsArray "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageDescriptorInputAttachments"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageDescriptorInputAttachments}++instance {-# OVERLAPPING #-}+ HasField "maxPerStageResources" VkPhysicalDeviceLimits where+ type FieldType "maxPerStageResources" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxPerStageResources" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerStageResources" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxPerStageResources}+ type FieldIsArray "maxPerStageResources" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxPerStageResources}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerStageResources" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxPerStageResources})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageResources}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerStageResources" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxPerStageResources}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetSamplers" VkPhysicalDeviceLimits where+ type FieldType "maxDescriptorSetSamplers" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxDescriptorSetSamplers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetSamplers" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}+ type FieldIsArray "maxDescriptorSetSamplers" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetSamplers" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetSamplers" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSamplers}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUniformBuffers" VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetUniformBuffers"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetUniformBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUniformBuffers"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}+ type FieldIsArray "maxDescriptorSetUniformBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUniformBuffers"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUniformBuffers"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}+ type FieldIsArray "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetUniformBuffersDynamic"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetUniformBuffersDynamic}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetStorageBuffers" VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetStorageBuffers"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetStorageBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetStorageBuffers"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}+ type FieldIsArray "maxDescriptorSetStorageBuffers"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetStorageBuffers"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetStorageBuffers"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffers}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}+ type FieldIsArray "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetStorageBuffersDynamic"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageBuffersDynamic}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetSampledImages" VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetSampledImages"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetSampledImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetSampledImages"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}+ type FieldIsArray "maxDescriptorSetSampledImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetSampledImages" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetSampledImages"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetSampledImages}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetStorageImages" VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetStorageImages"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetStorageImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetStorageImages"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}+ type FieldIsArray "maxDescriptorSetStorageImages"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetStorageImages" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetStorageImages"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetStorageImages}++instance {-# OVERLAPPING #-}+ HasField "maxDescriptorSetInputAttachments" VkPhysicalDeviceLimits+ where+ type FieldType "maxDescriptorSetInputAttachments"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxDescriptorSetInputAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDescriptorSetInputAttachments"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}+ type FieldIsArray "maxDescriptorSetInputAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxDescriptorSetInputAttachments"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDescriptorSetInputAttachments"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDescriptorSetInputAttachments}++instance {-# OVERLAPPING #-}+ HasField "maxVertexInputAttributes" VkPhysicalDeviceLimits where+ type FieldType "maxVertexInputAttributes" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxVertexInputAttributes"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVertexInputAttributes" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}+ type FieldIsArray "maxVertexInputAttributes" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}++instance {-# OVERLAPPING #-}+ CanReadField "maxVertexInputAttributes" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVertexInputAttributes" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributes}++instance {-# OVERLAPPING #-}+ HasField "maxVertexInputBindings" VkPhysicalDeviceLimits where+ type FieldType "maxVertexInputBindings" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxVertexInputBindings" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVertexInputBindings" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}+ type FieldIsArray "maxVertexInputBindings" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}++instance {-# OVERLAPPING #-}+ CanReadField "maxVertexInputBindings" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputBindings})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVertexInputBindings" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindings}++instance {-# OVERLAPPING #-}+ HasField "maxVertexInputAttributeOffset" VkPhysicalDeviceLimits+ where+ type FieldType "maxVertexInputAttributeOffset"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxVertexInputAttributeOffset"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVertexInputAttributeOffset"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}+ type FieldIsArray "maxVertexInputAttributeOffset"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}++instance {-# OVERLAPPING #-}+ CanReadField "maxVertexInputAttributeOffset" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVertexInputAttributeOffset"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputAttributeOffset}++instance {-# OVERLAPPING #-}+ HasField "maxVertexInputBindingStride" VkPhysicalDeviceLimits where+ type FieldType "maxVertexInputBindingStride" VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxVertexInputBindingStride"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVertexInputBindingStride"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}+ type FieldIsArray "maxVertexInputBindingStride"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}++instance {-# OVERLAPPING #-}+ CanReadField "maxVertexInputBindingStride" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVertexInputBindingStride" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexInputBindingStride}++instance {-# OVERLAPPING #-}+ HasField "maxVertexOutputComponents" VkPhysicalDeviceLimits where+ type FieldType "maxVertexOutputComponents" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxVertexOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVertexOutputComponents" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}+ type FieldIsArray "maxVertexOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxVertexOutputComponents" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVertexOutputComponents" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxVertexOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationGenerationLevel" VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationGenerationLevel"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxTessellationGenerationLevel"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationGenerationLevel"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}+ type FieldIsArray "maxTessellationGenerationLevel"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationGenerationLevel"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationGenerationLevel"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationGenerationLevel}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationPatchSize" VkPhysicalDeviceLimits where+ type FieldType "maxTessellationPatchSize" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxTessellationPatchSize"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationPatchSize" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}+ type FieldIsArray "maxTessellationPatchSize" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationPatchSize" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationPatchSize" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationPatchSize}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}+ type FieldIsArray "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationControlPerVertexInputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexInputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional+ "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}+ type FieldIsArray "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationControlPerVertexOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerVertexOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}+ type FieldIsArray "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationControlPerPatchOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlPerPatchOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}+ type FieldIsArray "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationControlTotalOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationControlTotalOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}+ type FieldIsArray "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationEvaluationInputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationInputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}+ type FieldIsArray "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTessellationEvaluationOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTessellationEvaluationOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxGeometryShaderInvocations" VkPhysicalDeviceLimits+ where+ type FieldType "maxGeometryShaderInvocations"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxGeometryShaderInvocations"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxGeometryShaderInvocations"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}+ type FieldIsArray "maxGeometryShaderInvocations"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}++instance {-# OVERLAPPING #-}+ CanReadField "maxGeometryShaderInvocations" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}++instance {-# OVERLAPPING #-}+ CanWriteField "maxGeometryShaderInvocations" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryShaderInvocations}++instance {-# OVERLAPPING #-}+ HasField "maxGeometryInputComponents" VkPhysicalDeviceLimits where+ type FieldType "maxGeometryInputComponents" VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxGeometryInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxGeometryInputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}+ type FieldIsArray "maxGeometryInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxGeometryInputComponents" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxGeometryInputComponents" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryInputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxGeometryOutputComponents" VkPhysicalDeviceLimits where+ type FieldType "maxGeometryOutputComponents" VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxGeometryOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxGeometryOutputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}+ type FieldIsArray "maxGeometryOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxGeometryOutputComponents" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxGeometryOutputComponents" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxGeometryOutputVertices" VkPhysicalDeviceLimits where+ type FieldType "maxGeometryOutputVertices" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxGeometryOutputVertices"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxGeometryOutputVertices" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}+ type FieldIsArray "maxGeometryOutputVertices"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}++instance {-# OVERLAPPING #-}+ CanReadField "maxGeometryOutputVertices" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}++instance {-# OVERLAPPING #-}+ CanWriteField "maxGeometryOutputVertices" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryOutputVertices}++instance {-# OVERLAPPING #-}+ HasField "maxGeometryTotalOutputComponents" VkPhysicalDeviceLimits+ where+ type FieldType "maxGeometryTotalOutputComponents"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxGeometryTotalOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxGeometryTotalOutputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}+ type FieldIsArray "maxGeometryTotalOutputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxGeometryTotalOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxGeometryTotalOutputComponents"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxGeometryTotalOutputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxFragmentInputComponents" VkPhysicalDeviceLimits where+ type FieldType "maxFragmentInputComponents" VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxFragmentInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFragmentInputComponents"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}+ type FieldIsArray "maxFragmentInputComponents"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}++instance {-# OVERLAPPING #-}+ CanReadField "maxFragmentInputComponents" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFragmentInputComponents" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentInputComponents}++instance {-# OVERLAPPING #-}+ HasField "maxFragmentOutputAttachments" VkPhysicalDeviceLimits+ where+ type FieldType "maxFragmentOutputAttachments"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxFragmentOutputAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFragmentOutputAttachments"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}+ type FieldIsArray "maxFragmentOutputAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxFragmentOutputAttachments" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFragmentOutputAttachments" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentOutputAttachments}++instance {-# OVERLAPPING #-}+ HasField "maxFragmentDualSrcAttachments" VkPhysicalDeviceLimits+ where+ type FieldType "maxFragmentDualSrcAttachments"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxFragmentDualSrcAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFragmentDualSrcAttachments"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}+ type FieldIsArray "maxFragmentDualSrcAttachments"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxFragmentDualSrcAttachments" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFragmentDualSrcAttachments"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentDualSrcAttachments}++instance {-# OVERLAPPING #-}+ HasField "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ where+ type FieldType "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}+ type FieldIsArray "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}++instance {-# OVERLAPPING #-}+ CanReadField "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFragmentCombinedOutputResources"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFragmentCombinedOutputResources}++instance {-# OVERLAPPING #-}+ HasField "maxComputeSharedMemorySize" VkPhysicalDeviceLimits where+ type FieldType "maxComputeSharedMemorySize" VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxComputeSharedMemorySize"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxComputeSharedMemorySize"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}+ type FieldIsArray "maxComputeSharedMemorySize"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}++instance {-# OVERLAPPING #-}+ CanReadField "maxComputeSharedMemorySize" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxComputeSharedMemorySize" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxComputeSharedMemorySize}++instance {-# OVERLAPPING #-}+ HasField "maxComputeWorkGroupCount" VkPhysicalDeviceLimits where+ type FieldType "maxComputeWorkGroupCount" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxComputeWorkGroupCount"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxComputeWorkGroupCount" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}+ type FieldIsArray "maxComputeWorkGroupCount" VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "maxComputeWorkGroupCount" idx+ VkPhysicalDeviceLimits) =>+ CanReadFieldArray "maxComputeWorkGroupCount" idx+ VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanReadFieldArray "maxComputeWorkGroupCount" 0+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "maxComputeWorkGroupCount" 1+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "maxComputeWorkGroupCount" 2+ VkPhysicalDeviceLimits+ #-}+ type FieldArrayLength "maxComputeWorkGroupCount"+ VkPhysicalDeviceLimits+ = 3++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 3++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "maxComputeWorkGroupCount" idx+ VkPhysicalDeviceLimits) =>+ CanWriteFieldArray "maxComputeWorkGroupCount" idx+ VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "maxComputeWorkGroupCount" 0+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "maxComputeWorkGroupCount" 1+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "maxComputeWorkGroupCount" 2+ VkPhysicalDeviceLimits+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupCount}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "maxComputeWorkGroupInvocations" VkPhysicalDeviceLimits+ where+ type FieldType "maxComputeWorkGroupInvocations"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxComputeWorkGroupInvocations"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxComputeWorkGroupInvocations"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}+ type FieldIsArray "maxComputeWorkGroupInvocations"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}++instance {-# OVERLAPPING #-}+ CanReadField "maxComputeWorkGroupInvocations"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}++instance {-# OVERLAPPING #-}+ CanWriteField "maxComputeWorkGroupInvocations"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupInvocations}++instance {-# OVERLAPPING #-}+ HasField "maxComputeWorkGroupSize" VkPhysicalDeviceLimits where+ type FieldType "maxComputeWorkGroupSize" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxComputeWorkGroupSize" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxComputeWorkGroupSize" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}+ type FieldIsArray "maxComputeWorkGroupSize" VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "maxComputeWorkGroupSize" idx+ VkPhysicalDeviceLimits) =>+ CanReadFieldArray "maxComputeWorkGroupSize" idx+ VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanReadFieldArray "maxComputeWorkGroupSize" 0+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "maxComputeWorkGroupSize" 1+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "maxComputeWorkGroupSize" 2+ VkPhysicalDeviceLimits+ #-}+ type FieldArrayLength "maxComputeWorkGroupSize"+ VkPhysicalDeviceLimits+ = 3++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 3++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "maxComputeWorkGroupSize" idx+ VkPhysicalDeviceLimits) =>+ CanWriteFieldArray "maxComputeWorkGroupSize" idx+ VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "maxComputeWorkGroupSize" 0+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "maxComputeWorkGroupSize" 1+ VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "maxComputeWorkGroupSize" 2+ VkPhysicalDeviceLimits+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceLimits, maxComputeWorkGroupSize}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "subPixelPrecisionBits" VkPhysicalDeviceLimits where+ type FieldType "subPixelPrecisionBits" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "subPixelPrecisionBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "subPixelPrecisionBits" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}+ type FieldIsArray "subPixelPrecisionBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}++instance {-# OVERLAPPING #-}+ CanReadField "subPixelPrecisionBits" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}++instance {-# OVERLAPPING #-}+ CanWriteField "subPixelPrecisionBits" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, subPixelPrecisionBits}++instance {-# OVERLAPPING #-}+ HasField "subTexelPrecisionBits" VkPhysicalDeviceLimits where+ type FieldType "subTexelPrecisionBits" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "subTexelPrecisionBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "subTexelPrecisionBits" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}+ type FieldIsArray "subTexelPrecisionBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}++instance {-# OVERLAPPING #-}+ CanReadField "subTexelPrecisionBits" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}++instance {-# OVERLAPPING #-}+ CanWriteField "subTexelPrecisionBits" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, subTexelPrecisionBits}++instance {-# OVERLAPPING #-}+ HasField "mipmapPrecisionBits" VkPhysicalDeviceLimits where+ type FieldType "mipmapPrecisionBits" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "mipmapPrecisionBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "mipmapPrecisionBits" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}+ type FieldIsArray "mipmapPrecisionBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}++instance {-# OVERLAPPING #-}+ CanReadField "mipmapPrecisionBits" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}++instance {-# OVERLAPPING #-}+ CanWriteField "mipmapPrecisionBits" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, mipmapPrecisionBits}++instance {-# OVERLAPPING #-}+ HasField "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits where+ type FieldType "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxDrawIndexedIndexValue"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}+ type FieldIsArray "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}++instance {-# OVERLAPPING #-}+ CanReadField "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDrawIndexedIndexValue" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndexedIndexValue}++instance {-# OVERLAPPING #-}+ HasField "maxDrawIndirectCount" VkPhysicalDeviceLimits where+ type FieldType "maxDrawIndirectCount" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxDrawIndirectCount" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDrawIndirectCount" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}+ type FieldIsArray "maxDrawIndirectCount" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxDrawIndirectCount" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDrawIndirectCount" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxDrawIndirectCount}++instance {-# OVERLAPPING #-}+ HasField "maxSamplerLodBias" VkPhysicalDeviceLimits where+ type FieldType "maxSamplerLodBias" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "maxSamplerLodBias" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSamplerLodBias" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}+ type FieldIsArray "maxSamplerLodBias" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}++instance {-# OVERLAPPING #-}+ CanReadField "maxSamplerLodBias" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSamplerLodBias})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSamplerLodBias" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerLodBias}++instance {-# OVERLAPPING #-}+ HasField "maxSamplerAnisotropy" VkPhysicalDeviceLimits where+ type FieldType "maxSamplerAnisotropy" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "maxSamplerAnisotropy" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSamplerAnisotropy" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}+ type FieldIsArray "maxSamplerAnisotropy" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}++instance {-# OVERLAPPING #-}+ CanReadField "maxSamplerAnisotropy" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSamplerAnisotropy" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSamplerAnisotropy}++instance {-# OVERLAPPING #-}+ HasField "maxViewports" VkPhysicalDeviceLimits where+ type FieldType "maxViewports" VkPhysicalDeviceLimits = Word32+ type FieldOptional "maxViewports" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxViewports" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxViewports}+ type FieldIsArray "maxViewports" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxViewports}++instance {-# OVERLAPPING #-}+ CanReadField "maxViewports" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxViewports})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxViewports}++instance {-# OVERLAPPING #-}+ CanWriteField "maxViewports" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxViewports}++instance {-# OVERLAPPING #-}+ HasField "maxViewportDimensions" VkPhysicalDeviceLimits where+ type FieldType "maxViewportDimensions" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxViewportDimensions" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxViewportDimensions" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxViewportDimensions}+ type FieldIsArray "maxViewportDimensions" VkPhysicalDeviceLimits =+ 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxViewportDimensions}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "maxViewportDimensions" idx+ VkPhysicalDeviceLimits) =>+ CanReadFieldArray "maxViewportDimensions" idx+ VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanReadFieldArray "maxViewportDimensions" 0 VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "maxViewportDimensions" 1 VkPhysicalDeviceLimits+ #-}+ type FieldArrayLength "maxViewportDimensions"+ VkPhysicalDeviceLimits+ = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceLimits, maxViewportDimensions}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceLimits, maxViewportDimensions}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "maxViewportDimensions" idx+ VkPhysicalDeviceLimits) =>+ CanWriteFieldArray "maxViewportDimensions" idx+ VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "maxViewportDimensions" 0 VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "maxViewportDimensions" 1 VkPhysicalDeviceLimits+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceLimits, maxViewportDimensions}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "viewportBoundsRange" VkPhysicalDeviceLimits where+ type FieldType "viewportBoundsRange" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "viewportBoundsRange" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewportBoundsRange" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, viewportBoundsRange}+ type FieldIsArray "viewportBoundsRange" VkPhysicalDeviceLimits =+ 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, viewportBoundsRange}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "viewportBoundsRange" idx VkPhysicalDeviceLimits) =>+ CanReadFieldArray "viewportBoundsRange" idx VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanReadFieldArray "viewportBoundsRange" 0 VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "viewportBoundsRange" 1 VkPhysicalDeviceLimits+ #-}+ type FieldArrayLength "viewportBoundsRange" VkPhysicalDeviceLimits+ = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceLimits, viewportBoundsRange}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceLimits, viewportBoundsRange}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "viewportBoundsRange" idx VkPhysicalDeviceLimits) =>+ CanWriteFieldArray "viewportBoundsRange" idx VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "viewportBoundsRange" 0 VkPhysicalDeviceLimits+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "viewportBoundsRange" 1 VkPhysicalDeviceLimits+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceLimits, viewportBoundsRange}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "viewportSubPixelBits" VkPhysicalDeviceLimits where+ type FieldType "viewportSubPixelBits" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "viewportSubPixelBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewportSubPixelBits" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}+ type FieldIsArray "viewportSubPixelBits" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}++instance {-# OVERLAPPING #-}+ CanReadField "viewportSubPixelBits" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, viewportSubPixelBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}++instance {-# OVERLAPPING #-}+ CanWriteField "viewportSubPixelBits" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, viewportSubPixelBits}++instance {-# OVERLAPPING #-}+ HasField "minMemoryMapAlignment" VkPhysicalDeviceLimits where+ type FieldType "minMemoryMapAlignment" VkPhysicalDeviceLimits =+ CSize+ type FieldOptional "minMemoryMapAlignment" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minMemoryMapAlignment" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}+ type FieldIsArray "minMemoryMapAlignment" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minMemoryMapAlignment" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minMemoryMapAlignment" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minMemoryMapAlignment}++instance {-# OVERLAPPING #-}+ HasField "minTexelBufferOffsetAlignment" VkPhysicalDeviceLimits+ where+ type FieldType "minTexelBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = VkDeviceSize+ type FieldOptional "minTexelBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minTexelBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}+ type FieldIsArray "minTexelBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minTexelBufferOffsetAlignment" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minTexelBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minTexelBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ HasField "minUniformBufferOffsetAlignment" VkPhysicalDeviceLimits+ where+ type FieldType "minUniformBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = VkDeviceSize+ type FieldOptional "minUniformBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minUniformBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}+ type FieldIsArray "minUniformBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minUniformBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minUniformBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minUniformBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ HasField "minStorageBufferOffsetAlignment" VkPhysicalDeviceLimits+ where+ type FieldType "minStorageBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = VkDeviceSize+ type FieldOptional "minStorageBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minStorageBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}+ type FieldIsArray "minStorageBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "minStorageBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "minStorageBufferOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minStorageBufferOffsetAlignment}++instance {-# OVERLAPPING #-}+ HasField "minTexelOffset" VkPhysicalDeviceLimits where+ type FieldType "minTexelOffset" VkPhysicalDeviceLimits = Int32+ type FieldOptional "minTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minTexelOffset" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, minTexelOffset}+ type FieldIsArray "minTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minTexelOffset}++instance {-# OVERLAPPING #-}+ CanReadField "minTexelOffset" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minTexelOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minTexelOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "minTexelOffset" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minTexelOffset}++instance {-# OVERLAPPING #-}+ HasField "maxTexelOffset" VkPhysicalDeviceLimits where+ type FieldType "maxTexelOffset" VkPhysicalDeviceLimits = Word32+ type FieldOptional "maxTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTexelOffset" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxTexelOffset}+ type FieldIsArray "maxTexelOffset" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTexelOffset}++instance {-# OVERLAPPING #-}+ CanReadField "maxTexelOffset" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTexelOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTexelOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTexelOffset" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTexelOffset}++instance {-# OVERLAPPING #-}+ HasField "minTexelGatherOffset" VkPhysicalDeviceLimits where+ type FieldType "minTexelGatherOffset" VkPhysicalDeviceLimits =+ Int32+ type FieldOptional "minTexelGatherOffset" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minTexelGatherOffset" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}+ type FieldIsArray "minTexelGatherOffset" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}++instance {-# OVERLAPPING #-}+ CanReadField "minTexelGatherOffset" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minTexelGatherOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "minTexelGatherOffset" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minTexelGatherOffset}++instance {-# OVERLAPPING #-}+ HasField "maxTexelGatherOffset" VkPhysicalDeviceLimits where+ type FieldType "maxTexelGatherOffset" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxTexelGatherOffset" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxTexelGatherOffset" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}+ type FieldIsArray "maxTexelGatherOffset" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}++instance {-# OVERLAPPING #-}+ CanReadField "maxTexelGatherOffset" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "maxTexelGatherOffset" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxTexelGatherOffset}++instance {-# OVERLAPPING #-}+ HasField "minInterpolationOffset" VkPhysicalDeviceLimits where+ type FieldType "minInterpolationOffset" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "minInterpolationOffset" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minInterpolationOffset" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, minInterpolationOffset}+ type FieldIsArray "minInterpolationOffset" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, minInterpolationOffset}++instance {-# OVERLAPPING #-}+ CanReadField "minInterpolationOffset" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, minInterpolationOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, minInterpolationOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "minInterpolationOffset" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, minInterpolationOffset}++instance {-# OVERLAPPING #-}+ HasField "maxInterpolationOffset" VkPhysicalDeviceLimits where+ type FieldType "maxInterpolationOffset" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "maxInterpolationOffset" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxInterpolationOffset" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}+ type FieldIsArray "maxInterpolationOffset" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}++instance {-# OVERLAPPING #-}+ CanReadField "maxInterpolationOffset" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxInterpolationOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "maxInterpolationOffset" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxInterpolationOffset}++instance {-# OVERLAPPING #-}+ HasField "subPixelInterpolationOffsetBits" VkPhysicalDeviceLimits+ where+ type FieldType "subPixelInterpolationOffsetBits"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "subPixelInterpolationOffsetBits"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subPixelInterpolationOffsetBits"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}+ type FieldIsArray "subPixelInterpolationOffsetBits"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}++instance {-# OVERLAPPING #-}+ CanReadField "subPixelInterpolationOffsetBits"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}++instance {-# OVERLAPPING #-}+ CanWriteField "subPixelInterpolationOffsetBits"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, subPixelInterpolationOffsetBits}++instance {-# OVERLAPPING #-}+ HasField "maxFramebufferWidth" VkPhysicalDeviceLimits where+ type FieldType "maxFramebufferWidth" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxFramebufferWidth" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFramebufferWidth" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}+ type FieldIsArray "maxFramebufferWidth" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}++instance {-# OVERLAPPING #-}+ CanReadField "maxFramebufferWidth" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFramebufferWidth})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFramebufferWidth" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferWidth}++instance {-# OVERLAPPING #-}+ HasField "maxFramebufferHeight" VkPhysicalDeviceLimits where+ type FieldType "maxFramebufferHeight" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxFramebufferHeight" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFramebufferHeight" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}+ type FieldIsArray "maxFramebufferHeight" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}++instance {-# OVERLAPPING #-}+ CanReadField "maxFramebufferHeight" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFramebufferHeight})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFramebufferHeight" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferHeight}++instance {-# OVERLAPPING #-}+ HasField "maxFramebufferLayers" VkPhysicalDeviceLimits where+ type FieldType "maxFramebufferLayers" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxFramebufferLayers" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxFramebufferLayers" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}+ type FieldIsArray "maxFramebufferLayers" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}++instance {-# OVERLAPPING #-}+ CanReadField "maxFramebufferLayers" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxFramebufferLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxFramebufferLayers" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxFramebufferLayers}++instance {-# OVERLAPPING #-}+ HasField "framebufferColorSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "framebufferColorSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "framebufferColorSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "framebufferColorSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}+ type FieldIsArray "framebufferColorSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "framebufferColorSampleCounts" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "framebufferColorSampleCounts" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferColorSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "framebufferDepthSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "framebufferDepthSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "framebufferDepthSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "framebufferDepthSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}+ type FieldIsArray "framebufferDepthSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "framebufferDepthSampleCounts" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "framebufferDepthSampleCounts" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferDepthSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "framebufferStencilSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "framebufferStencilSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "framebufferStencilSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "framebufferStencilSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}+ type FieldIsArray "framebufferStencilSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "framebufferStencilSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "framebufferStencilSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferStencilSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ where+ type FieldType "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}+ type FieldIsArray "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "framebufferNoAttachmentsSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, framebufferNoAttachmentsSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "maxColorAttachments" VkPhysicalDeviceLimits where+ type FieldType "maxColorAttachments" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "maxColorAttachments" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxColorAttachments" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxColorAttachments}+ type FieldIsArray "maxColorAttachments" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxColorAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "maxColorAttachments" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxColorAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxColorAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "maxColorAttachments" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxColorAttachments}++instance {-# OVERLAPPING #-}+ HasField "sampledImageColorSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "sampledImageColorSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "sampledImageColorSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sampledImageColorSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}+ type FieldIsArray "sampledImageColorSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "sampledImageColorSampleCounts" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "sampledImageColorSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageColorSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "sampledImageIntegerSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "sampledImageIntegerSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "sampledImageIntegerSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sampledImageIntegerSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}+ type FieldIsArray "sampledImageIntegerSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "sampledImageIntegerSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "sampledImageIntegerSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageIntegerSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "sampledImageDepthSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "sampledImageDepthSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "sampledImageDepthSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sampledImageDepthSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}+ type FieldIsArray "sampledImageDepthSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "sampledImageDepthSampleCounts" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "sampledImageDepthSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageDepthSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "sampledImageStencilSampleCounts" VkPhysicalDeviceLimits+ where+ type FieldType "sampledImageStencilSampleCounts"+ VkPhysicalDeviceLimits+ = VkSampleCountFlags+ type FieldOptional "sampledImageStencilSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sampledImageStencilSampleCounts"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}+ type FieldIsArray "sampledImageStencilSampleCounts"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "sampledImageStencilSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "sampledImageStencilSampleCounts"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, sampledImageStencilSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "storageImageSampleCounts" VkPhysicalDeviceLimits where+ type FieldType "storageImageSampleCounts" VkPhysicalDeviceLimits =+ VkSampleCountFlags+ type FieldOptional "storageImageSampleCounts"+ VkPhysicalDeviceLimits+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "storageImageSampleCounts" VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}+ type FieldIsArray "storageImageSampleCounts" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "storageImageSampleCounts" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, storageImageSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "storageImageSampleCounts" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, storageImageSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "maxSampleMaskWords" VkPhysicalDeviceLimits where+ type FieldType "maxSampleMaskWords" VkPhysicalDeviceLimits = Word32+ type FieldOptional "maxSampleMaskWords" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSampleMaskWords" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}+ type FieldIsArray "maxSampleMaskWords" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}++instance {-# OVERLAPPING #-}+ CanReadField "maxSampleMaskWords" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxSampleMaskWords})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSampleMaskWords" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxSampleMaskWords}++instance {-# OVERLAPPING #-}+ HasField "timestampComputeAndGraphics" VkPhysicalDeviceLimits where+ type FieldType "timestampComputeAndGraphics" VkPhysicalDeviceLimits+ = VkBool32+ type FieldOptional "timestampComputeAndGraphics"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "timestampComputeAndGraphics"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}+ type FieldIsArray "timestampComputeAndGraphics"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}++instance {-# OVERLAPPING #-}+ CanReadField "timestampComputeAndGraphics" VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}++instance {-# OVERLAPPING #-}+ CanWriteField "timestampComputeAndGraphics" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, timestampComputeAndGraphics}++instance {-# OVERLAPPING #-}+ HasField "timestampPeriod" VkPhysicalDeviceLimits where+ type FieldType "timestampPeriod" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "timestampPeriod" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "timestampPeriod" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, timestampPeriod}+ type FieldIsArray "timestampPeriod" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, timestampPeriod}++instance {-# OVERLAPPING #-}+ CanReadField "timestampPeriod" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, timestampPeriod})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, timestampPeriod}++instance {-# OVERLAPPING #-}+ CanWriteField "timestampPeriod" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, timestampPeriod}++instance {-# OVERLAPPING #-}+ HasField "maxClipDistances" VkPhysicalDeviceLimits where+ type FieldType "maxClipDistances" VkPhysicalDeviceLimits = Word32+ type FieldOptional "maxClipDistances" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxClipDistances" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxClipDistances}+ type FieldIsArray "maxClipDistances" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxClipDistances}++instance {-# OVERLAPPING #-}+ CanReadField "maxClipDistances" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxClipDistances})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxClipDistances}++instance {-# OVERLAPPING #-}+ CanWriteField "maxClipDistances" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxClipDistances}++instance {-# OVERLAPPING #-}+ HasField "maxCullDistances" VkPhysicalDeviceLimits where+ type FieldType "maxCullDistances" VkPhysicalDeviceLimits = Word32+ type FieldOptional "maxCullDistances" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxCullDistances" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, maxCullDistances}+ type FieldIsArray "maxCullDistances" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxCullDistances}++instance {-# OVERLAPPING #-}+ CanReadField "maxCullDistances" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxCullDistances})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxCullDistances}++instance {-# OVERLAPPING #-}+ CanWriteField "maxCullDistances" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxCullDistances}++instance {-# OVERLAPPING #-}+ HasField "maxCombinedClipAndCullDistances" VkPhysicalDeviceLimits+ where+ type FieldType "maxCombinedClipAndCullDistances"+ VkPhysicalDeviceLimits+ = Word32+ type FieldOptional "maxCombinedClipAndCullDistances"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxCombinedClipAndCullDistances"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}+ type FieldIsArray "maxCombinedClipAndCullDistances"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}++instance {-# OVERLAPPING #-}+ CanReadField "maxCombinedClipAndCullDistances"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}++instance {-# OVERLAPPING #-}+ CanWriteField "maxCombinedClipAndCullDistances"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, maxCombinedClipAndCullDistances}++instance {-# OVERLAPPING #-}+ HasField "discreteQueuePriorities" VkPhysicalDeviceLimits where+ type FieldType "discreteQueuePriorities" VkPhysicalDeviceLimits =+ Word32+ type FieldOptional "discreteQueuePriorities" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "discreteQueuePriorities" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}+ type FieldIsArray "discreteQueuePriorities" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}++instance {-# OVERLAPPING #-}+ CanReadField "discreteQueuePriorities" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, discreteQueuePriorities})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}++instance {-# OVERLAPPING #-}+ CanWriteField "discreteQueuePriorities" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, discreteQueuePriorities}++instance {-# OVERLAPPING #-}+ HasField "pointSizeRange" VkPhysicalDeviceLimits where+ type FieldType "pointSizeRange" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "pointSizeRange" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pointSizeRange" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, pointSizeRange}+ type FieldIsArray "pointSizeRange" VkPhysicalDeviceLimits = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, pointSizeRange}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "pointSizeRange" idx VkPhysicalDeviceLimits) =>+ CanReadFieldArray "pointSizeRange" idx VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanReadFieldArray "pointSizeRange" 0 VkPhysicalDeviceLimits #-}++ {-# SPECIALISE instance+ CanReadFieldArray "pointSizeRange" 1 VkPhysicalDeviceLimits #-}+ type FieldArrayLength "pointSizeRange" VkPhysicalDeviceLimits = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceLimits, pointSizeRange} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceLimits, pointSizeRange} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "pointSizeRange" idx VkPhysicalDeviceLimits) =>+ CanWriteFieldArray "pointSizeRange" idx VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "pointSizeRange" 0 VkPhysicalDeviceLimits #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "pointSizeRange" 1 VkPhysicalDeviceLimits #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceLimits, pointSizeRange} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "lineWidthRange" VkPhysicalDeviceLimits where+ type FieldType "lineWidthRange" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "lineWidthRange" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type FieldOffset "lineWidthRange" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, lineWidthRange}+ type FieldIsArray "lineWidthRange" VkPhysicalDeviceLimits = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, lineWidthRange}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "lineWidthRange" idx VkPhysicalDeviceLimits) =>+ CanReadFieldArray "lineWidthRange" idx VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanReadFieldArray "lineWidthRange" 0 VkPhysicalDeviceLimits #-}++ {-# SPECIALISE instance+ CanReadFieldArray "lineWidthRange" 1 VkPhysicalDeviceLimits #-}+ type FieldArrayLength "lineWidthRange" VkPhysicalDeviceLimits = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceLimits, lineWidthRange} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceLimits, lineWidthRange} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "lineWidthRange" idx VkPhysicalDeviceLimits) =>+ CanWriteFieldArray "lineWidthRange" idx VkPhysicalDeviceLimits+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "lineWidthRange" 0 VkPhysicalDeviceLimits #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "lineWidthRange" 1 VkPhysicalDeviceLimits #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceLimits, lineWidthRange} ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "pointSizeGranularity" VkPhysicalDeviceLimits where+ type FieldType "pointSizeGranularity" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "pointSizeGranularity" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pointSizeGranularity" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, pointSizeGranularity}+ type FieldIsArray "pointSizeGranularity" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, pointSizeGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "pointSizeGranularity" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, pointSizeGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, pointSizeGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "pointSizeGranularity" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, pointSizeGranularity}++instance {-# OVERLAPPING #-}+ HasField "lineWidthGranularity" VkPhysicalDeviceLimits where+ type FieldType "lineWidthGranularity" VkPhysicalDeviceLimits =+ #{type float}+ type FieldOptional "lineWidthGranularity" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "lineWidthGranularity" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, lineWidthGranularity}+ type FieldIsArray "lineWidthGranularity" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, lineWidthGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "lineWidthGranularity" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, lineWidthGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, lineWidthGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "lineWidthGranularity" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, lineWidthGranularity}++instance {-# OVERLAPPING #-}+ HasField "strictLines" VkPhysicalDeviceLimits where+ type FieldType "strictLines" VkPhysicalDeviceLimits = VkBool32+ type FieldOptional "strictLines" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs+ type FieldOffset "strictLines" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, strictLines}+ type FieldIsArray "strictLines" VkPhysicalDeviceLimits = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, strictLines}++instance {-# OVERLAPPING #-}+ CanReadField "strictLines" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, strictLines})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, strictLines}++instance {-# OVERLAPPING #-}+ CanWriteField "strictLines" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, strictLines}++instance {-# OVERLAPPING #-}+ HasField "standardSampleLocations" VkPhysicalDeviceLimits where+ type FieldType "standardSampleLocations" VkPhysicalDeviceLimits =+ VkBool32+ type FieldOptional "standardSampleLocations" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "standardSampleLocations" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, standardSampleLocations}+ type FieldIsArray "standardSampleLocations" VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, standardSampleLocations}++instance {-# OVERLAPPING #-}+ CanReadField "standardSampleLocations" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, standardSampleLocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, standardSampleLocations}++instance {-# OVERLAPPING #-}+ CanWriteField "standardSampleLocations" VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, standardSampleLocations}++instance {-# OVERLAPPING #-}+ HasField "optimalBufferCopyOffsetAlignment" VkPhysicalDeviceLimits+ where+ type FieldType "optimalBufferCopyOffsetAlignment"+ VkPhysicalDeviceLimits+ = VkDeviceSize+ type FieldOptional "optimalBufferCopyOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "optimalBufferCopyOffsetAlignment"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}+ type FieldIsArray "optimalBufferCopyOffsetAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "optimalBufferCopyOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "optimalBufferCopyOffsetAlignment"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyOffsetAlignment}++instance {-# OVERLAPPING #-}+ HasField "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ where+ type FieldType "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ = VkDeviceSize+ type FieldOptional "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ =+ #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}+ type FieldIsArray "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}++instance {-# OVERLAPPING #-}+ CanReadField "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}++instance {-# OVERLAPPING #-}+ CanWriteField "optimalBufferCopyRowPitchAlignment"+ VkPhysicalDeviceLimits+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, optimalBufferCopyRowPitchAlignment}++instance {-# OVERLAPPING #-}+ HasField "nonCoherentAtomSize" VkPhysicalDeviceLimits where+ type FieldType "nonCoherentAtomSize" VkPhysicalDeviceLimits =+ VkDeviceSize+ type FieldOptional "nonCoherentAtomSize" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "nonCoherentAtomSize" VkPhysicalDeviceLimits =+ #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}+ type FieldIsArray "nonCoherentAtomSize" VkPhysicalDeviceLimits =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}++instance {-# OVERLAPPING #-}+ CanReadField "nonCoherentAtomSize" VkPhysicalDeviceLimits where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}++instance {-# OVERLAPPING #-}+ CanWriteField "nonCoherentAtomSize" VkPhysicalDeviceLimits where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceLimits, nonCoherentAtomSize}++instance Show VkPhysicalDeviceLimits where+ showsPrec d x+ = showString "VkPhysicalDeviceLimits {" .+ showString "maxImageDimension1D = " .+ showsPrec d (getField @"maxImageDimension1D" x) .+ showString ", " .+ showString "maxImageDimension2D = " .+ showsPrec d (getField @"maxImageDimension2D" x) .+ showString ", " .+ showString "maxImageDimension3D = " .+ showsPrec d (getField @"maxImageDimension3D" x) .+ showString ", " .+ showString "maxImageDimensionCube = " .+ showsPrec d (getField @"maxImageDimensionCube" x) .+ showString ", " .+ showString "maxImageArrayLayers = " .+ showsPrec d (getField @"maxImageArrayLayers" x) .+ showString ", " .+ showString "maxTexelBufferElements = " .+ showsPrec d (getField @"maxTexelBufferElements" x) .+ showString ", " .+ showString "maxUniformBufferRange = " .+ showsPrec d+ (getField @"maxUniformBufferRange" x)+ .+ showString ", " .+ showString "maxStorageBufferRange = " .+ showsPrec d+ (getField @"maxStorageBufferRange" x)+ .+ showString ", " .+ showString "maxPushConstantsSize = " .+ showsPrec d+ (getField @"maxPushConstantsSize"+ x)+ .+ showString ", " .+ showString+ "maxMemoryAllocationCount = "+ .+ showsPrec d+ (getField+ @"maxMemoryAllocationCount"+ x)+ .+ showString ", " .+ showString+ "maxSamplerAllocationCount = "+ .+ showsPrec d+ (getField+ @"maxSamplerAllocationCount"+ x)+ .+ showString ", " .+ showString+ "bufferImageGranularity = "+ .+ showsPrec d+ (getField+ @"bufferImageGranularity"+ x)+ .+ showString ", "+ .+ showString+ "sparseAddressSpaceSize = "+ .+ showsPrec d+ (getField+ @"sparseAddressSpaceSize"+ x)+ .+ showString+ ", "+ .+ showString+ "maxBoundDescriptorSets = "+ .+ showsPrec+ d+ (getField+ @"maxBoundDescriptorSets"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorSamplers = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorSamplers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorUniformBuffers = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorUniformBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorStorageBuffers = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorStorageBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorSampledImages = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorSampledImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorStorageImages = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorStorageImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageDescriptorInputAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageDescriptorInputAttachments"+ x)+ .+ showString+ ", "+ .+ showString+ "maxPerStageResources = "+ .+ showsPrec+ d+ (getField+ @"maxPerStageResources"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetSamplers = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetSamplers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUniformBuffers = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUniformBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetUniformBuffersDynamic = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetUniformBuffersDynamic"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetStorageBuffers = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetStorageBuffers"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetStorageBuffersDynamic = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetStorageBuffersDynamic"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetSampledImages = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetSampledImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetStorageImages = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetStorageImages"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDescriptorSetInputAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxDescriptorSetInputAttachments"+ x)+ .+ showString+ ", "+ .+ showString+ "maxVertexInputAttributes = "+ .+ showsPrec+ d+ (getField+ @"maxVertexInputAttributes"+ x)+ .+ showString+ ", "+ .+ showString+ "maxVertexInputBindings = "+ .+ showsPrec+ d+ (getField+ @"maxVertexInputBindings"+ x)+ .+ showString+ ", "+ .+ showString+ "maxVertexInputAttributeOffset = "+ .+ showsPrec+ d+ (getField+ @"maxVertexInputAttributeOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "maxVertexInputBindingStride = "+ .+ showsPrec+ d+ (getField+ @"maxVertexInputBindingStride"+ x)+ .+ showString+ ", "+ .+ showString+ "maxVertexOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxVertexOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationGenerationLevel = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationGenerationLevel"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationPatchSize = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationPatchSize"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationControlPerVertexInputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationControlPerVertexInputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationControlPerVertexOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationControlPerVertexOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationControlPerPatchOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationControlPerPatchOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationControlTotalOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationControlTotalOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationEvaluationInputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationEvaluationInputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTessellationEvaluationOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxTessellationEvaluationOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxGeometryShaderInvocations = "+ .+ showsPrec+ d+ (getField+ @"maxGeometryShaderInvocations"+ x)+ .+ showString+ ", "+ .+ showString+ "maxGeometryInputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxGeometryInputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxGeometryOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxGeometryOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxGeometryOutputVertices = "+ .+ showsPrec+ d+ (getField+ @"maxGeometryOutputVertices"+ x)+ .+ showString+ ", "+ .+ showString+ "maxGeometryTotalOutputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxGeometryTotalOutputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFragmentInputComponents = "+ .+ showsPrec+ d+ (getField+ @"maxFragmentInputComponents"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFragmentOutputAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxFragmentOutputAttachments"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFragmentDualSrcAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxFragmentDualSrcAttachments"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFragmentCombinedOutputResources = "+ .+ showsPrec+ d+ (getField+ @"maxFragmentCombinedOutputResources"+ x)+ .+ showString+ ", "+ .+ showString+ "maxComputeSharedMemorySize = "+ .+ showsPrec+ d+ (getField+ @"maxComputeSharedMemorySize"+ x)+ .+ showString+ ", "+ .+ (showString+ "maxComputeWorkGroupCount = ["+ .+ showsPrec+ d+ (let s = sizeOf+ (undefined+ ::+ FieldType+ "maxComputeWorkGroupCount"+ VkPhysicalDeviceLimits)+ o = fieldOffset+ @"maxComputeWorkGroupCount"+ @VkPhysicalDeviceLimits+ f i+ = peekByteOff+ (unsafePtr+ x)+ i+ ::+ IO+ (FieldType+ "maxComputeWorkGroupCount"+ VkPhysicalDeviceLimits)+ in+ unsafeDupablePerformIO+ .+ mapM+ f+ $+ map+ (\ i+ ->+ o ++ i *+ s)+ [0+ ..+ 3 -+ 1])+ .+ showChar+ ']')+ .+ showString+ ", "+ .+ showString+ "maxComputeWorkGroupInvocations = "+ .+ showsPrec+ d+ (getField+ @"maxComputeWorkGroupInvocations"+ x)+ .+ showString+ ", "+ .+ (showString+ "maxComputeWorkGroupSize = ["+ .+ showsPrec+ d+ (let s = sizeOf+ (undefined+ ::+ FieldType+ "maxComputeWorkGroupSize"+ VkPhysicalDeviceLimits)+ o = fieldOffset+ @"maxComputeWorkGroupSize"+ @VkPhysicalDeviceLimits+ f i+ = peekByteOff+ (unsafePtr+ x)+ i+ ::+ IO+ (FieldType+ "maxComputeWorkGroupSize"+ VkPhysicalDeviceLimits)+ in+ unsafeDupablePerformIO+ .+ mapM+ f+ $+ map+ (\ i+ ->+ o ++ i *+ s)+ [0+ ..+ 3 -+ 1])+ .+ showChar+ ']')+ .+ showString+ ", "+ .+ showString+ "subPixelPrecisionBits = "+ .+ showsPrec+ d+ (getField+ @"subPixelPrecisionBits"+ x)+ .+ showString+ ", "+ .+ showString+ "subTexelPrecisionBits = "+ .+ showsPrec+ d+ (getField+ @"subTexelPrecisionBits"+ x)+ .+ showString+ ", "+ .+ showString+ "mipmapPrecisionBits = "+ .+ showsPrec+ d+ (getField+ @"mipmapPrecisionBits"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDrawIndexedIndexValue = "+ .+ showsPrec+ d+ (getField+ @"maxDrawIndexedIndexValue"+ x)+ .+ showString+ ", "+ .+ showString+ "maxDrawIndirectCount = "+ .+ showsPrec+ d+ (getField+ @"maxDrawIndirectCount"+ x)+ .+ showString+ ", "+ .+ showString+ "maxSamplerLodBias = "+ .+ showsPrec+ d+ (getField+ @"maxSamplerLodBias"+ x)+ .+ showString+ ", "+ .+ showString+ "maxSamplerAnisotropy = "+ .+ showsPrec+ d+ (getField+ @"maxSamplerAnisotropy"+ x)+ .+ showString+ ", "+ .+ showString+ "maxViewports = "+ .+ showsPrec+ d+ (getField+ @"maxViewports"+ x)+ .+ showString+ ", "+ .+ (showString+ "maxViewportDimensions = ["+ .+ showsPrec+ d+ (let s = sizeOf+ (undefined+ ::+ FieldType+ "maxViewportDimensions"+ VkPhysicalDeviceLimits)+ o = fieldOffset+ @"maxViewportDimensions"+ @VkPhysicalDeviceLimits+ f i+ = peekByteOff+ (unsafePtr+ x)+ i+ ::+ IO+ (FieldType+ "maxViewportDimensions"+ VkPhysicalDeviceLimits)+ in+ unsafeDupablePerformIO+ .+ mapM+ f+ $+ map+ (\ i+ ->+ o ++ i *+ s)+ [0+ ..+ 2 -+ 1])+ .+ showChar+ ']')+ .+ showString+ ", "+ .+ (showString+ "viewportBoundsRange = ["+ .+ showsPrec+ d+ (let s = sizeOf+ (undefined+ ::+ FieldType+ "viewportBoundsRange"+ VkPhysicalDeviceLimits)+ o = fieldOffset+ @"viewportBoundsRange"+ @VkPhysicalDeviceLimits+ f i+ = peekByteOff+ (unsafePtr+ x)+ i+ ::+ IO+ (FieldType+ "viewportBoundsRange"+ VkPhysicalDeviceLimits)+ in+ unsafeDupablePerformIO+ .+ mapM+ f+ $+ map+ (\ i+ ->+ o ++ i *+ s)+ [0+ ..+ 2 -+ 1])+ .+ showChar+ ']')+ .+ showString+ ", "+ .+ showString+ "viewportSubPixelBits = "+ .+ showsPrec+ d+ (getField+ @"viewportSubPixelBits"+ x)+ .+ showString+ ", "+ .+ showString+ "minMemoryMapAlignment = "+ .+ showsPrec+ d+ (getField+ @"minMemoryMapAlignment"+ x)+ .+ showString+ ", "+ .+ showString+ "minTexelBufferOffsetAlignment = "+ .+ showsPrec+ d+ (getField+ @"minTexelBufferOffsetAlignment"+ x)+ .+ showString+ ", "+ .+ showString+ "minUniformBufferOffsetAlignment = "+ .+ showsPrec+ d+ (getField+ @"minUniformBufferOffsetAlignment"+ x)+ .+ showString+ ", "+ .+ showString+ "minStorageBufferOffsetAlignment = "+ .+ showsPrec+ d+ (getField+ @"minStorageBufferOffsetAlignment"+ x)+ .+ showString+ ", "+ .+ showString+ "minTexelOffset = "+ .+ showsPrec+ d+ (getField+ @"minTexelOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTexelOffset = "+ .+ showsPrec+ d+ (getField+ @"maxTexelOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "minTexelGatherOffset = "+ .+ showsPrec+ d+ (getField+ @"minTexelGatherOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "maxTexelGatherOffset = "+ .+ showsPrec+ d+ (getField+ @"maxTexelGatherOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "minInterpolationOffset = "+ .+ showsPrec+ d+ (getField+ @"minInterpolationOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "maxInterpolationOffset = "+ .+ showsPrec+ d+ (getField+ @"maxInterpolationOffset"+ x)+ .+ showString+ ", "+ .+ showString+ "subPixelInterpolationOffsetBits = "+ .+ showsPrec+ d+ (getField+ @"subPixelInterpolationOffsetBits"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFramebufferWidth = "+ .+ showsPrec+ d+ (getField+ @"maxFramebufferWidth"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFramebufferHeight = "+ .+ showsPrec+ d+ (getField+ @"maxFramebufferHeight"+ x)+ .+ showString+ ", "+ .+ showString+ "maxFramebufferLayers = "+ .+ showsPrec+ d+ (getField+ @"maxFramebufferLayers"+ x)+ .+ showString+ ", "+ .+ showString+ "framebufferColorSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"framebufferColorSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "framebufferDepthSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"framebufferDepthSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "framebufferStencilSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"framebufferStencilSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "framebufferNoAttachmentsSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"framebufferNoAttachmentsSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "maxColorAttachments = "+ .+ showsPrec+ d+ (getField+ @"maxColorAttachments"+ x)+ .+ showString+ ", "+ .+ showString+ "sampledImageColorSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"sampledImageColorSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "sampledImageIntegerSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"sampledImageIntegerSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "sampledImageDepthSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"sampledImageDepthSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "sampledImageStencilSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"sampledImageStencilSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "storageImageSampleCounts = "+ .+ showsPrec+ d+ (getField+ @"storageImageSampleCounts"+ x)+ .+ showString+ ", "+ .+ showString+ "maxSampleMaskWords = "+ .+ showsPrec+ d+ (getField+ @"maxSampleMaskWords"+ x)+ .+ showString+ ", "+ .+ showString+ "timestampComputeAndGraphics = "+ .+ showsPrec+ d+ (getField+ @"timestampComputeAndGraphics"+ x)+ .+ showString+ ", "+ .+ showString+ "timestampPeriod = "+ .+ showsPrec+ d+ (getField+ @"timestampPeriod"+ x)+ .+ showString+ ", "+ .+ showString+ "maxClipDistances = "+ .+ showsPrec+ d+ (getField+ @"maxClipDistances"+ x)+ .+ showString+ ", "+ .+ showString+ "maxCullDistances = "+ .+ showsPrec+ d+ (getField+ @"maxCullDistances"+ x)+ .+ showString+ ", "+ .+ showString+ "maxCombinedClipAndCullDistances = "+ .+ showsPrec+ d+ (getField+ @"maxCombinedClipAndCullDistances"+ x)+ .+ showString+ ", "+ .+ showString+ "discreteQueuePriorities = "+ .+ showsPrec+ d+ (getField+ @"discreteQueuePriorities"+ x)+ .+ showString+ ", "+ .+ (showString+ "pointSizeRange = ["+ .+ showsPrec+ d+ (let s = sizeOf+ (undefined+ ::+ FieldType+ "pointSizeRange"+ VkPhysicalDeviceLimits)+ o = fieldOffset+ @"pointSizeRange"+ @VkPhysicalDeviceLimits+ f i+ = peekByteOff+ (unsafePtr+ x)+ i+ ::+ IO+ (FieldType+ "pointSizeRange"+ VkPhysicalDeviceLimits)+ in+ unsafeDupablePerformIO+ .+ mapM+ f+ $+ map+ (\ i+ ->+ o ++ i *+ s)+ [0+ ..+ 2 -+ 1])+ .+ showChar+ ']')+ .+ showString+ ", "+ .+ (showString+ "lineWidthRange = ["+ .+ showsPrec+ d+ (let s = sizeOf+ (undefined+ ::+ FieldType+ "lineWidthRange"+ VkPhysicalDeviceLimits)+ o = fieldOffset+ @"lineWidthRange"+ @VkPhysicalDeviceLimits+ f i+ = peekByteOff+ (unsafePtr+ x)+ i+ ::+ IO+ (FieldType+ "lineWidthRange"+ VkPhysicalDeviceLimits)+ in+ unsafeDupablePerformIO+ .+ mapM+ f+ $+ map+ (\ i+ ->+ o ++ i *+ s)+ [0+ ..+ 2 -+ 1])+ .+ showChar+ ']')+ .+ showString+ ", "+ .+ showString+ "pointSizeGranularity = "+ .+ showsPrec+ d+ (getField+ @"pointSizeGranularity"+ x)+ .+ showString+ ", "+ .+ showString+ "lineWidthGranularity = "+ .+ showsPrec+ d+ (getField+ @"lineWidthGranularity"+ x)+ .+ showString+ ", "+ .+ showString+ "strictLines = "+ .+ showsPrec+ d+ (getField+ @"strictLines"+ x)+ .+ showString+ ", "+ .+ showString+ "standardSampleLocations = "+ .+ showsPrec+ d+ (getField+ @"standardSampleLocations"+ x)+ .+ showString+ ", "+ .+ showString+ "optimalBufferCopyOffsetAlignment = "+ .+ showsPrec+ d+ (getField+ @"optimalBufferCopyOffsetAlignment"+ x)+ .+ showString+ ", "+ .+ showString+ "optimalBufferCopyRowPitchAlignment = "+ .+ showsPrec+ d+ (getField+ @"optimalBufferCopyRowPitchAlignment"+ x)+ .+ showString+ ", "+ .+ showString+ "nonCoherentAtomSize = "+ .+ showsPrec+ d+ (getField+ @"nonCoherentAtomSize"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkPhysicalDeviceMaintenance3Properties {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxPerSetDescriptors;+-- > VkDeviceSize maxMemoryAllocationSize;+-- > } VkPhysicalDeviceMaintenance3Properties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties registry at www.khronos.org>+data VkPhysicalDeviceMaintenance3Properties = VkPhysicalDeviceMaintenance3Properties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceMaintenance3Properties where+ (VkPhysicalDeviceMaintenance3Properties## a _) ==+ x@(VkPhysicalDeviceMaintenance3Properties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceMaintenance3Properties where+ (VkPhysicalDeviceMaintenance3Properties## a _) `compare`+ x@(VkPhysicalDeviceMaintenance3Properties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceMaintenance3Properties where+ sizeOf ~_+ = #{size VkPhysicalDeviceMaintenance3Properties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceMaintenance3Properties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceMaintenance3Properties+ where+ unsafeAddr (VkPhysicalDeviceMaintenance3Properties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceMaintenance3Properties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceMaintenance3Properties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceMaintenance3Properties where+ type StructFields VkPhysicalDeviceMaintenance3Properties =+ '["sType", "pNext", "maxPerSetDescriptors", -- ' closing tick for hsc2hs+ "maxMemoryAllocationSize"]+ type CUnionType VkPhysicalDeviceMaintenance3Properties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceMaintenance3Properties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceMaintenance3Properties =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceMaintenance3Properties where+ type FieldType "sType" VkPhysicalDeviceMaintenance3Properties =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceMaintenance3Properties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceMaintenance3Properties =+ #{offset VkPhysicalDeviceMaintenance3Properties, sType}+ type FieldIsArray "sType" VkPhysicalDeviceMaintenance3Properties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMaintenance3Properties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceMaintenance3Properties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceMaintenance3Properties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceMaintenance3Properties where+ type FieldType "pNext" VkPhysicalDeviceMaintenance3Properties =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceMaintenance3Properties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceMaintenance3Properties =+ #{offset VkPhysicalDeviceMaintenance3Properties, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceMaintenance3Properties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMaintenance3Properties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceMaintenance3Properties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceMaintenance3Properties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ where+ type FieldType "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ = Word32+ type FieldOptional "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ =+ #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}+ type FieldIsArray "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}++instance {-# OVERLAPPING #-}+ CanReadField "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPerSetDescriptors"+ VkPhysicalDeviceMaintenance3Properties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxPerSetDescriptors}++instance {-# OVERLAPPING #-}+ HasField "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ where+ type FieldType "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ = VkDeviceSize+ type FieldOptional "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ =+ #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}+ type FieldIsArray "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxMemoryAllocationSize"+ VkPhysicalDeviceMaintenance3Properties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMaintenance3Properties, maxMemoryAllocationSize}++instance Show VkPhysicalDeviceMaintenance3Properties where+ showsPrec d x+ = showString "VkPhysicalDeviceMaintenance3Properties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxPerSetDescriptors = " .+ showsPrec d (getField @"maxPerSetDescriptors" x) .+ showString ", " .+ showString "maxMemoryAllocationSize = " .+ showsPrec d (getField @"maxMemoryAllocationSize" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceMaintenance3Properties`+type VkPhysicalDeviceMaintenance3PropertiesKHR =+ VkPhysicalDeviceMaintenance3Properties++-- | > typedef struct VkPhysicalDeviceMemoryProperties {+-- > uint32_t memoryTypeCount;+-- > VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];+-- > uint32_t memoryHeapCount;+-- > VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];+-- > } VkPhysicalDeviceMemoryProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties registry at www.khronos.org>+data VkPhysicalDeviceMemoryProperties = VkPhysicalDeviceMemoryProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceMemoryProperties where+ (VkPhysicalDeviceMemoryProperties## a _) ==+ x@(VkPhysicalDeviceMemoryProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceMemoryProperties where+ (VkPhysicalDeviceMemoryProperties## a _) `compare`+ x@(VkPhysicalDeviceMemoryProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceMemoryProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceMemoryProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceMemoryProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceMemoryProperties where+ unsafeAddr (VkPhysicalDeviceMemoryProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceMemoryProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceMemoryProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceMemoryProperties where+ type StructFields VkPhysicalDeviceMemoryProperties =+ '["memoryTypeCount", "memoryTypes", "memoryHeapCount", -- ' closing tick for hsc2hs+ "memoryHeaps"]+ type CUnionType VkPhysicalDeviceMemoryProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceMemoryProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceMemoryProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "memoryTypeCount" VkPhysicalDeviceMemoryProperties where+ type FieldType "memoryTypeCount" VkPhysicalDeviceMemoryProperties =+ Word32+ type FieldOptional "memoryTypeCount"+ VkPhysicalDeviceMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeCount" VkPhysicalDeviceMemoryProperties+ =+ #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}+ type FieldIsArray "memoryTypeCount"+ VkPhysicalDeviceMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeCount" VkPhysicalDeviceMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeCount" VkPhysicalDeviceMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryTypeCount}++instance {-# OVERLAPPING #-}+ HasField "memoryTypes" VkPhysicalDeviceMemoryProperties where+ type FieldType "memoryTypes" VkPhysicalDeviceMemoryProperties =+ VkMemoryType+ type FieldOptional "memoryTypes" VkPhysicalDeviceMemoryProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypes" VkPhysicalDeviceMemoryProperties =+ #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}+ type FieldIsArray "memoryTypes" VkPhysicalDeviceMemoryProperties =+ 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "memoryTypes" idx+ VkPhysicalDeviceMemoryProperties) =>+ CanReadFieldArray "memoryTypes" idx+ VkPhysicalDeviceMemoryProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "memoryTypes" 0 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "memoryTypes" 1 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "memoryTypes" 2 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "memoryTypes" 3 VkPhysicalDeviceMemoryProperties+ #-}+ type FieldArrayLength "memoryTypes"+ VkPhysicalDeviceMemoryProperties+ = VK_MAX_MEMORY_TYPES++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_MEMORY_TYPES++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceMemoryProperties, memoryTypes}+ ++ sizeOf (undefined :: VkMemoryType) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceMemoryProperties, memoryTypes}+ ++ sizeOf (undefined :: VkMemoryType) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "memoryTypes" idx+ VkPhysicalDeviceMemoryProperties) =>+ CanWriteFieldArray "memoryTypes" idx+ VkPhysicalDeviceMemoryProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "memoryTypes" 0 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "memoryTypes" 1 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "memoryTypes" 2 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "memoryTypes" 3 VkPhysicalDeviceMemoryProperties+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceMemoryProperties, memoryTypes}+ ++ sizeOf (undefined :: VkMemoryType) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "memoryHeapCount" VkPhysicalDeviceMemoryProperties where+ type FieldType "memoryHeapCount" VkPhysicalDeviceMemoryProperties =+ Word32+ type FieldOptional "memoryHeapCount"+ VkPhysicalDeviceMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryHeapCount" VkPhysicalDeviceMemoryProperties+ =+ #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}+ type FieldIsArray "memoryHeapCount"+ VkPhysicalDeviceMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}++instance {-# OVERLAPPING #-}+ CanReadField "memoryHeapCount" VkPhysicalDeviceMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryHeapCount" VkPhysicalDeviceMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties, memoryHeapCount}++instance {-# OVERLAPPING #-}+ HasField "memoryHeaps" VkPhysicalDeviceMemoryProperties where+ type FieldType "memoryHeaps" VkPhysicalDeviceMemoryProperties =+ VkMemoryHeap+ type FieldOptional "memoryHeaps" VkPhysicalDeviceMemoryProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryHeaps" VkPhysicalDeviceMemoryProperties =+ #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}+ type FieldIsArray "memoryHeaps" VkPhysicalDeviceMemoryProperties =+ 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "memoryHeaps" idx+ VkPhysicalDeviceMemoryProperties) =>+ CanReadFieldArray "memoryHeaps" idx+ VkPhysicalDeviceMemoryProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "memoryHeaps" 0 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "memoryHeaps" 1 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "memoryHeaps" 2 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "memoryHeaps" 3 VkPhysicalDeviceMemoryProperties+ #-}+ type FieldArrayLength "memoryHeaps"+ VkPhysicalDeviceMemoryProperties+ = VK_MAX_MEMORY_HEAPS++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_MEMORY_HEAPS++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}+ ++ sizeOf (undefined :: VkMemoryHeap) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}+ ++ sizeOf (undefined :: VkMemoryHeap) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "memoryHeaps" idx+ VkPhysicalDeviceMemoryProperties) =>+ CanWriteFieldArray "memoryHeaps" idx+ VkPhysicalDeviceMemoryProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "memoryHeaps" 0 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "memoryHeaps" 1 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "memoryHeaps" 2 VkPhysicalDeviceMemoryProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "memoryHeaps" 3 VkPhysicalDeviceMemoryProperties+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceMemoryProperties, memoryHeaps}+ ++ sizeOf (undefined :: VkMemoryHeap) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkPhysicalDeviceMemoryProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceMemoryProperties {" .+ showString "memoryTypeCount = " .+ showsPrec d (getField @"memoryTypeCount" x) .+ showString ", " .+ (showString "memoryTypes = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "memoryTypes" VkPhysicalDeviceMemoryProperties)+ o = fieldOffset @"memoryTypes" @VkPhysicalDeviceMemoryProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO (FieldType "memoryTypes" VkPhysicalDeviceMemoryProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_MAX_MEMORY_TYPES - 1])+ . showChar ']')+ .+ showString ", " .+ showString "memoryHeapCount = " .+ showsPrec d (getField @"memoryHeapCount" x) .+ showString ", " .+ (showString "memoryHeaps = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "memoryHeaps"+ VkPhysicalDeviceMemoryProperties)+ o = fieldOffset @"memoryHeaps"+ @VkPhysicalDeviceMemoryProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "memoryHeaps"+ VkPhysicalDeviceMemoryProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. VK_MAX_MEMORY_HEAPS - 1])+ . showChar ']')+ . showChar '}'++-- | > typedef struct VkPhysicalDeviceMemoryProperties2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkPhysicalDeviceMemoryProperties memoryProperties;+-- > } VkPhysicalDeviceMemoryProperties2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org>+data VkPhysicalDeviceMemoryProperties2 = VkPhysicalDeviceMemoryProperties2## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceMemoryProperties2 where+ (VkPhysicalDeviceMemoryProperties2## a _) ==+ x@(VkPhysicalDeviceMemoryProperties2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceMemoryProperties2 where+ (VkPhysicalDeviceMemoryProperties2## a _) `compare`+ x@(VkPhysicalDeviceMemoryProperties2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceMemoryProperties2 where+ sizeOf ~_ = #{size VkPhysicalDeviceMemoryProperties2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceMemoryProperties2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceMemoryProperties2 where+ unsafeAddr (VkPhysicalDeviceMemoryProperties2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceMemoryProperties2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceMemoryProperties2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceMemoryProperties2 where+ type StructFields VkPhysicalDeviceMemoryProperties2 =+ '["sType", "pNext", "memoryProperties"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceMemoryProperties2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceMemoryProperties2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceMemoryProperties2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceMemoryProperties2 where+ type FieldType "sType" VkPhysicalDeviceMemoryProperties2 =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceMemoryProperties2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceMemoryProperties2 =+ #{offset VkPhysicalDeviceMemoryProperties2, sType}+ type FieldIsArray "sType" VkPhysicalDeviceMemoryProperties2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceMemoryProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceMemoryProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceMemoryProperties2 where+ type FieldType "pNext" VkPhysicalDeviceMemoryProperties2 = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceMemoryProperties2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceMemoryProperties2 =+ #{offset VkPhysicalDeviceMemoryProperties2, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceMemoryProperties2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceMemoryProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceMemoryProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties2, pNext}++instance {-# OVERLAPPING #-}+ HasField "memoryProperties" VkPhysicalDeviceMemoryProperties2 where+ type FieldType "memoryProperties" VkPhysicalDeviceMemoryProperties2+ = VkPhysicalDeviceMemoryProperties+ type FieldOptional "memoryProperties"+ VkPhysicalDeviceMemoryProperties2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryProperties"+ VkPhysicalDeviceMemoryProperties2+ =+ #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}+ type FieldIsArray "memoryProperties"+ VkPhysicalDeviceMemoryProperties2+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}++instance {-# OVERLAPPING #-}+ CanReadField "memoryProperties" VkPhysicalDeviceMemoryProperties2+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryProperties" VkPhysicalDeviceMemoryProperties2+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMemoryProperties2, memoryProperties}++instance Show VkPhysicalDeviceMemoryProperties2 where+ showsPrec d x+ = showString "VkPhysicalDeviceMemoryProperties2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memoryProperties = " .+ showsPrec d (getField @"memoryProperties" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceMemoryProperties2`+type VkPhysicalDeviceMemoryProperties2KHR =+ VkPhysicalDeviceMemoryProperties2++-- | > typedef struct VkPhysicalDeviceMultiviewFeatures {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 multiview;+-- > VkBool32 multiviewGeometryShader;+-- > VkBool32 multiviewTessellationShader;+-- > } VkPhysicalDeviceMultiviewFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org>+data VkPhysicalDeviceMultiviewFeatures = VkPhysicalDeviceMultiviewFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceMultiviewFeatures where+ (VkPhysicalDeviceMultiviewFeatures## a _) ==+ x@(VkPhysicalDeviceMultiviewFeatures## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceMultiviewFeatures where+ (VkPhysicalDeviceMultiviewFeatures## a _) `compare`+ x@(VkPhysicalDeviceMultiviewFeatures## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceMultiviewFeatures where+ sizeOf ~_ = #{size VkPhysicalDeviceMultiviewFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceMultiviewFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceMultiviewFeatures where+ unsafeAddr (VkPhysicalDeviceMultiviewFeatures## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceMultiviewFeatures## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceMultiviewFeatures##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceMultiviewFeatures where+ type StructFields VkPhysicalDeviceMultiviewFeatures =+ '["sType", "pNext", "multiview", "multiviewGeometryShader", -- ' closing tick for hsc2hs+ "multiviewTessellationShader"]+ type CUnionType VkPhysicalDeviceMultiviewFeatures = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceMultiviewFeatures = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceMultiviewFeatures =+ '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceMultiviewFeatures where+ type FieldType "sType" VkPhysicalDeviceMultiviewFeatures =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceMultiviewFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceMultiviewFeatures =+ #{offset VkPhysicalDeviceMultiviewFeatures, sType}+ type FieldIsArray "sType" VkPhysicalDeviceMultiviewFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewFeatures, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceMultiviewFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceMultiviewFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceMultiviewFeatures where+ type FieldType "pNext" VkPhysicalDeviceMultiviewFeatures = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceMultiviewFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceMultiviewFeatures =+ #{offset VkPhysicalDeviceMultiviewFeatures, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceMultiviewFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceMultiviewFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceMultiviewFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, pNext}++instance {-# OVERLAPPING #-}+ HasField "multiview" VkPhysicalDeviceMultiviewFeatures where+ type FieldType "multiview" VkPhysicalDeviceMultiviewFeatures =+ VkBool32+ type FieldOptional "multiview" VkPhysicalDeviceMultiviewFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "multiview" VkPhysicalDeviceMultiviewFeatures =+ #{offset VkPhysicalDeviceMultiviewFeatures, multiview}+ type FieldIsArray "multiview" VkPhysicalDeviceMultiviewFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewFeatures, multiview}++instance {-# OVERLAPPING #-}+ CanReadField "multiview" VkPhysicalDeviceMultiviewFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, multiview})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiview}++instance {-# OVERLAPPING #-}+ CanWriteField "multiview" VkPhysicalDeviceMultiviewFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiview}++instance {-# OVERLAPPING #-}+ HasField "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ where+ type FieldType "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ = VkBool32+ type FieldOptional "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ =+ #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}+ type FieldIsArray "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}++instance {-# OVERLAPPING #-}+ CanReadField "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}++instance {-# OVERLAPPING #-}+ CanWriteField "multiviewGeometryShader"+ VkPhysicalDeviceMultiviewFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader}++instance {-# OVERLAPPING #-}+ HasField "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ where+ type FieldType "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ = VkBool32+ type FieldOptional "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ =+ #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}+ type FieldIsArray "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}++instance {-# OVERLAPPING #-}+ CanReadField "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}++instance {-# OVERLAPPING #-}+ CanWriteField "multiviewTessellationShader"+ VkPhysicalDeviceMultiviewFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader}++instance Show VkPhysicalDeviceMultiviewFeatures where+ showsPrec d x+ = showString "VkPhysicalDeviceMultiviewFeatures {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "multiview = " .+ showsPrec d (getField @"multiview" x) .+ showString ", " .+ showString "multiviewGeometryShader = " .+ showsPrec d (getField @"multiviewGeometryShader" x) .+ showString ", " .+ showString "multiviewTessellationShader = " .+ showsPrec d (getField @"multiviewTessellationShader" x) .+ showChar '}'++-- | Alias for `VkPhysicalDeviceMultiviewFeatures`+type VkPhysicalDeviceMultiviewFeaturesKHR =+ VkPhysicalDeviceMultiviewFeatures++-- | > typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 perViewPositionAllComponents;+-- > } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at www.khronos.org>+data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ (VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## a _) ==+ x@(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ (VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## a _)+ `compare`+ x@(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ unsafeAddr+ (VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ type StructFields+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = '["sType", "pNext", "perViewPositionAllComponents"] -- ' closing tick for hsc2hs+ type CUnionType+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'True -- ' closing tick for hsc2hs+ type StructExtends+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ type FieldType "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ =+ #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ type FieldType "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ =+ #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, pNext}++instance {-# OVERLAPPING #-}+ HasField "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ type FieldType "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = VkBool32+ type FieldOptional "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ =+ #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}+ type FieldIsArray "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}++instance {-# OVERLAPPING #-}+ CanReadField "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "perViewPositionAllComponents"+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, perViewPositionAllComponents}++instance Show+ VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX+ where+ showsPrec d x+ = showString+ "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "perViewPositionAllComponents = " .+ showsPrec d (getField @"perViewPositionAllComponents" x) .+ showChar '}'++-- | > typedef struct VkPhysicalDeviceMultiviewProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxMultiviewViewCount;+-- > uint32_t maxMultiviewInstanceIndex;+-- > } VkPhysicalDeviceMultiviewProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties registry at www.khronos.org>+data VkPhysicalDeviceMultiviewProperties = VkPhysicalDeviceMultiviewProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceMultiviewProperties where+ (VkPhysicalDeviceMultiviewProperties## a _) ==+ x@(VkPhysicalDeviceMultiviewProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceMultiviewProperties where+ (VkPhysicalDeviceMultiviewProperties## a _) `compare`+ x@(VkPhysicalDeviceMultiviewProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceMultiviewProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceMultiviewProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceMultiviewProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceMultiviewProperties+ where+ unsafeAddr (VkPhysicalDeviceMultiviewProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceMultiviewProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceMultiviewProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceMultiviewProperties where+ type StructFields VkPhysicalDeviceMultiviewProperties =+ '["sType", "pNext", "maxMultiviewViewCount", -- ' closing tick for hsc2hs+ "maxMultiviewInstanceIndex"]+ type CUnionType VkPhysicalDeviceMultiviewProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceMultiviewProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceMultiviewProperties =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceMultiviewProperties where+ type FieldType "sType" VkPhysicalDeviceMultiviewProperties =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceMultiviewProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceMultiviewProperties =+ #{offset VkPhysicalDeviceMultiviewProperties, sType}+ type FieldIsArray "sType" VkPhysicalDeviceMultiviewProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceMultiviewProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceMultiviewProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceMultiviewProperties where+ type FieldType "pNext" VkPhysicalDeviceMultiviewProperties =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceMultiviewProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceMultiviewProperties =+ #{offset VkPhysicalDeviceMultiviewProperties, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceMultiviewProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceMultiviewProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceMultiviewProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ where+ type FieldType "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ = Word32+ type FieldOptional "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ =+ #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}+ type FieldIsArray "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxMultiviewViewCount"+ VkPhysicalDeviceMultiviewProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewViewCount}++instance {-# OVERLAPPING #-}+ HasField "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ where+ type FieldType "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ = Word32+ type FieldOptional "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ =+ #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}+ type FieldIsArray "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}++instance {-# OVERLAPPING #-}+ CanReadField "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "maxMultiviewInstanceIndex"+ VkPhysicalDeviceMultiviewProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceMultiviewProperties, maxMultiviewInstanceIndex}++instance Show VkPhysicalDeviceMultiviewProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceMultiviewProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxMultiviewViewCount = " .+ showsPrec d (getField @"maxMultiviewViewCount" x) .+ showString ", " .+ showString "maxMultiviewInstanceIndex = " .+ showsPrec d (getField @"maxMultiviewInstanceIndex" x) .+ showChar '}'++-- | Alias for `VkPhysicalDeviceMultiviewProperties`+type VkPhysicalDeviceMultiviewPropertiesKHR =+ VkPhysicalDeviceMultiviewProperties++-- | > typedef struct VkPhysicalDevicePointClippingProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkPointClippingBehavior pointClippingBehavior;+-- > } VkPhysicalDevicePointClippingProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties registry at www.khronos.org>+data VkPhysicalDevicePointClippingProperties = VkPhysicalDevicePointClippingProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDevicePointClippingProperties where+ (VkPhysicalDevicePointClippingProperties## a _) ==+ x@(VkPhysicalDevicePointClippingProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDevicePointClippingProperties where+ (VkPhysicalDevicePointClippingProperties## a _) `compare`+ x@(VkPhysicalDevicePointClippingProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDevicePointClippingProperties where+ sizeOf ~_+ = #{size VkPhysicalDevicePointClippingProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDevicePointClippingProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDevicePointClippingProperties+ where+ unsafeAddr (VkPhysicalDevicePointClippingProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDevicePointClippingProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDevicePointClippingProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDevicePointClippingProperties+ where+ type StructFields VkPhysicalDevicePointClippingProperties =+ '["sType", "pNext", "pointClippingBehavior"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDevicePointClippingProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDevicePointClippingProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDevicePointClippingProperties =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDevicePointClippingProperties where+ type FieldType "sType" VkPhysicalDevicePointClippingProperties =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDevicePointClippingProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDevicePointClippingProperties =+ #{offset VkPhysicalDevicePointClippingProperties, sType}+ type FieldIsArray "sType" VkPhysicalDevicePointClippingProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevicePointClippingProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDevicePointClippingProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePointClippingProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevicePointClippingProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDevicePointClippingProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevicePointClippingProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDevicePointClippingProperties where+ type FieldType "pNext" VkPhysicalDevicePointClippingProperties =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDevicePointClippingProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDevicePointClippingProperties =+ #{offset VkPhysicalDevicePointClippingProperties, pNext}+ type FieldIsArray "pNext" VkPhysicalDevicePointClippingProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevicePointClippingProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDevicePointClippingProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePointClippingProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevicePointClippingProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDevicePointClippingProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevicePointClippingProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ where+ type FieldType "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ = VkPointClippingBehavior+ type FieldOptional "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ =+ #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}+ type FieldIsArray "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}++instance {-# OVERLAPPING #-}+ CanReadField "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}++instance {-# OVERLAPPING #-}+ CanWriteField "pointClippingBehavior"+ VkPhysicalDevicePointClippingProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevicePointClippingProperties, pointClippingBehavior}++instance Show VkPhysicalDevicePointClippingProperties where+ showsPrec d x+ = showString "VkPhysicalDevicePointClippingProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pointClippingBehavior = " .+ showsPrec d (getField @"pointClippingBehavior" x) . showChar '}'++-- | Alias for `VkPhysicalDevicePointClippingProperties`+type VkPhysicalDevicePointClippingPropertiesKHR =+ VkPhysicalDevicePointClippingProperties++-- | > typedef struct VkPhysicalDeviceProperties {+-- > uint32_t apiVersion;+-- > uint32_t driverVersion;+-- > uint32_t vendorID;+-- > uint32_t deviceID;+-- > VkPhysicalDeviceType deviceType;+-- > char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];+-- > uint8_t pipelineCacheUUID[VK_UUID_SIZE];+-- > VkPhysicalDeviceLimits limits;+-- > VkPhysicalDeviceSparseProperties sparseProperties;+-- > } VkPhysicalDeviceProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProperties VkPhysicalDeviceProperties registry at www.khronos.org>+data VkPhysicalDeviceProperties = VkPhysicalDeviceProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceProperties where+ (VkPhysicalDeviceProperties## a _) ==+ x@(VkPhysicalDeviceProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceProperties where+ (VkPhysicalDeviceProperties## a _) `compare`+ x@(VkPhysicalDeviceProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPhysicalDeviceProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceProperties where+ unsafeAddr (VkPhysicalDeviceProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceProperties where+ type StructFields VkPhysicalDeviceProperties =+ '["apiVersion", "driverVersion", "vendorID", "deviceID", -- ' closing tick for hsc2hs+ "deviceType", "deviceName", "pipelineCacheUUID", "limits",+ "sparseProperties"]+ type CUnionType VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "apiVersion" VkPhysicalDeviceProperties where+ type FieldType "apiVersion" VkPhysicalDeviceProperties = Word32+ type FieldOptional "apiVersion" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "apiVersion" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, apiVersion}+ type FieldIsArray "apiVersion" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, apiVersion}++instance {-# OVERLAPPING #-}+ CanReadField "apiVersion" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, apiVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, apiVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "apiVersion" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, apiVersion}++instance {-# OVERLAPPING #-}+ HasField "driverVersion" VkPhysicalDeviceProperties where+ type FieldType "driverVersion" VkPhysicalDeviceProperties = Word32+ type FieldOptional "driverVersion" VkPhysicalDeviceProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "driverVersion" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, driverVersion}+ type FieldIsArray "driverVersion" VkPhysicalDeviceProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, driverVersion}++instance {-# OVERLAPPING #-}+ CanReadField "driverVersion" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, driverVersion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, driverVersion}++instance {-# OVERLAPPING #-}+ CanWriteField "driverVersion" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, driverVersion}++instance {-# OVERLAPPING #-}+ HasField "vendorID" VkPhysicalDeviceProperties where+ type FieldType "vendorID" VkPhysicalDeviceProperties = Word32+ type FieldOptional "vendorID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "vendorID" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, vendorID}+ type FieldIsArray "vendorID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, vendorID}++instance {-# OVERLAPPING #-}+ CanReadField "vendorID" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, vendorID})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, vendorID}++instance {-# OVERLAPPING #-}+ CanWriteField "vendorID" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, vendorID}++instance {-# OVERLAPPING #-}+ HasField "deviceID" VkPhysicalDeviceProperties where+ type FieldType "deviceID" VkPhysicalDeviceProperties = Word32+ type FieldOptional "deviceID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceID" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, deviceID}+ type FieldIsArray "deviceID" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, deviceID}++instance {-# OVERLAPPING #-}+ CanReadField "deviceID" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, deviceID})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, deviceID}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceID" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, deviceID}++instance {-# OVERLAPPING #-}+ HasField "deviceType" VkPhysicalDeviceProperties where+ type FieldType "deviceType" VkPhysicalDeviceProperties =+ VkPhysicalDeviceType+ type FieldOptional "deviceType" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceType" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, deviceType}+ type FieldIsArray "deviceType" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, deviceType}++instance {-# OVERLAPPING #-}+ CanReadField "deviceType" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, deviceType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, deviceType}++instance {-# OVERLAPPING #-}+ CanWriteField "deviceType" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, deviceType}++instance {-# OVERLAPPING #-}+ HasField "deviceName" VkPhysicalDeviceProperties where+ type FieldType "deviceName" VkPhysicalDeviceProperties = CChar+ type FieldOptional "deviceName" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "deviceName" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, deviceName}+ type FieldIsArray "deviceName" VkPhysicalDeviceProperties = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, deviceName}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "deviceName" idx VkPhysicalDeviceProperties) =>+ CanReadFieldArray "deviceName" idx VkPhysicalDeviceProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "deviceName" 0 VkPhysicalDeviceProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceName" 1 VkPhysicalDeviceProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceName" 2 VkPhysicalDeviceProperties #-}++ {-# SPECIALISE instance+ CanReadFieldArray "deviceName" 3 VkPhysicalDeviceProperties #-}+ type FieldArrayLength "deviceName" VkPhysicalDeviceProperties =+ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceProperties, deviceName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceProperties, deviceName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "deviceName" idx VkPhysicalDeviceProperties) =>+ CanWriteFieldArray "deviceName" idx VkPhysicalDeviceProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "deviceName" 0 VkPhysicalDeviceProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceName" 1 VkPhysicalDeviceProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceName" 2 VkPhysicalDeviceProperties #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "deviceName" 3 VkPhysicalDeviceProperties #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceProperties, deviceName} ++ sizeOf (undefined :: CChar) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "pipelineCacheUUID" VkPhysicalDeviceProperties where+ type FieldType "pipelineCacheUUID" VkPhysicalDeviceProperties =+ Word8+ type FieldOptional "pipelineCacheUUID" VkPhysicalDeviceProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineCacheUUID" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}+ type FieldIsArray "pipelineCacheUUID" VkPhysicalDeviceProperties =+ 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "pipelineCacheUUID" idx+ VkPhysicalDeviceProperties) =>+ CanReadFieldArray "pipelineCacheUUID" idx+ VkPhysicalDeviceProperties+ where+ {-# SPECIALISE instance+ CanReadFieldArray "pipelineCacheUUID" 0 VkPhysicalDeviceProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "pipelineCacheUUID" 1 VkPhysicalDeviceProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "pipelineCacheUUID" 2 VkPhysicalDeviceProperties+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "pipelineCacheUUID" 3 VkPhysicalDeviceProperties+ #-}+ type FieldArrayLength "pipelineCacheUUID"+ VkPhysicalDeviceProperties+ = VK_UUID_SIZE++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = VK_UUID_SIZE++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceProperties, pipelineCacheUUID}+ ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceProperties, pipelineCacheUUID}+ ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "pipelineCacheUUID" idx+ VkPhysicalDeviceProperties) =>+ CanWriteFieldArray "pipelineCacheUUID" idx+ VkPhysicalDeviceProperties+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "pipelineCacheUUID" 0 VkPhysicalDeviceProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "pipelineCacheUUID" 1 VkPhysicalDeviceProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "pipelineCacheUUID" 2 VkPhysicalDeviceProperties+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "pipelineCacheUUID" 3 VkPhysicalDeviceProperties+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceProperties, pipelineCacheUUID}+ ++ sizeOf (undefined :: Word8) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "limits" VkPhysicalDeviceProperties where+ type FieldType "limits" VkPhysicalDeviceProperties =+ VkPhysicalDeviceLimits+ type FieldOptional "limits" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "limits" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, limits}+ type FieldIsArray "limits" VkPhysicalDeviceProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, limits}++instance {-# OVERLAPPING #-}+ CanReadField "limits" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, limits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, limits}++instance {-# OVERLAPPING #-}+ CanWriteField "limits" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, limits}++instance {-# OVERLAPPING #-}+ HasField "sparseProperties" VkPhysicalDeviceProperties where+ type FieldType "sparseProperties" VkPhysicalDeviceProperties =+ VkPhysicalDeviceSparseProperties+ type FieldOptional "sparseProperties" VkPhysicalDeviceProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseProperties" VkPhysicalDeviceProperties =+ #{offset VkPhysicalDeviceProperties, sparseProperties}+ type FieldIsArray "sparseProperties" VkPhysicalDeviceProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties, sparseProperties}++instance {-# OVERLAPPING #-}+ CanReadField "sparseProperties" VkPhysicalDeviceProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties, sparseProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties, sparseProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseProperties" VkPhysicalDeviceProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties, sparseProperties}++instance Show VkPhysicalDeviceProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceProperties {" .+ showString "apiVersion = " .+ showsPrec d (getField @"apiVersion" x) .+ showString ", " .+ showString "driverVersion = " .+ showsPrec d (getField @"driverVersion" x) .+ showString ", " .+ showString "vendorID = " .+ showsPrec d (getField @"vendorID" x) .+ showString ", " .+ showString "deviceID = " .+ showsPrec d (getField @"deviceID" x) .+ showString ", " .+ showString "deviceType = " .+ showsPrec d (getField @"deviceType" x) .+ showString ", " .+ (showString "deviceName = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "deviceName"+ VkPhysicalDeviceProperties)+ o = fieldOffset @"deviceName"+ @VkPhysicalDeviceProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "deviceName"+ VkPhysicalDeviceProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s)+ [0 .. VK_MAX_PHYSICAL_DEVICE_NAME_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ (showString "pipelineCacheUUID = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "pipelineCacheUUID"+ VkPhysicalDeviceProperties)+ o = fieldOffset @"pipelineCacheUUID"+ @VkPhysicalDeviceProperties+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "pipelineCacheUUID"+ VkPhysicalDeviceProperties)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s)+ [0 .. VK_UUID_SIZE - 1])+ . showChar ']')+ .+ showString ", " .+ showString "limits = " .+ showsPrec d (getField @"limits" x) .+ showString ", " .+ showString "sparseProperties = " .+ showsPrec d+ (getField @"sparseProperties" x)+ . showChar '}'++-- | > typedef struct VkPhysicalDeviceProperties2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkPhysicalDeviceProperties properties;+-- > } VkPhysicalDeviceProperties2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2 registry at www.khronos.org>+data VkPhysicalDeviceProperties2 = VkPhysicalDeviceProperties2## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceProperties2 where+ (VkPhysicalDeviceProperties2## a _) ==+ x@(VkPhysicalDeviceProperties2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceProperties2 where+ (VkPhysicalDeviceProperties2## a _) `compare`+ x@(VkPhysicalDeviceProperties2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceProperties2 where+ sizeOf ~_ = #{size VkPhysicalDeviceProperties2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPhysicalDeviceProperties2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceProperties2 where+ unsafeAddr (VkPhysicalDeviceProperties2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceProperties2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceProperties2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceProperties2 where+ type StructFields VkPhysicalDeviceProperties2 =+ '["sType", "pNext", "properties"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceProperties2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceProperties2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceProperties2 where+ type FieldType "sType" VkPhysicalDeviceProperties2 =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceProperties2 =+ #{offset VkPhysicalDeviceProperties2, sType}+ type FieldIsArray "sType" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceProperties2 where+ type FieldType "pNext" VkPhysicalDeviceProperties2 = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceProperties2 =+ #{offset VkPhysicalDeviceProperties2, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties2, pNext}++instance {-# OVERLAPPING #-}+ HasField "properties" VkPhysicalDeviceProperties2 where+ type FieldType "properties" VkPhysicalDeviceProperties2 =+ VkPhysicalDeviceProperties+ type FieldOptional "properties" VkPhysicalDeviceProperties2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "properties" VkPhysicalDeviceProperties2 =+ #{offset VkPhysicalDeviceProperties2, properties}+ type FieldIsArray "properties" VkPhysicalDeviceProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProperties2, properties}++instance {-# OVERLAPPING #-}+ CanReadField "properties" VkPhysicalDeviceProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProperties2, properties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProperties2, properties}++instance {-# OVERLAPPING #-}+ CanWriteField "properties" VkPhysicalDeviceProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProperties2, properties}++instance Show VkPhysicalDeviceProperties2 where+ showsPrec d x+ = showString "VkPhysicalDeviceProperties2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "properties = " .+ showsPrec d (getField @"properties" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceProperties2`+type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2++-- | > typedef struct VkPhysicalDeviceProtectedMemoryFeatures {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 protectedMemory;+-- > } VkPhysicalDeviceProtectedMemoryFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures registry at www.khronos.org>+data VkPhysicalDeviceProtectedMemoryFeatures = VkPhysicalDeviceProtectedMemoryFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceProtectedMemoryFeatures where+ (VkPhysicalDeviceProtectedMemoryFeatures## a _) ==+ x@(VkPhysicalDeviceProtectedMemoryFeatures## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceProtectedMemoryFeatures where+ (VkPhysicalDeviceProtectedMemoryFeatures## a _) `compare`+ x@(VkPhysicalDeviceProtectedMemoryFeatures## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceProtectedMemoryFeatures where+ sizeOf ~_+ = #{size VkPhysicalDeviceProtectedMemoryFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceProtectedMemoryFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceProtectedMemoryFeatures+ where+ unsafeAddr (VkPhysicalDeviceProtectedMemoryFeatures## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceProtectedMemoryFeatures## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceProtectedMemoryFeatures##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceProtectedMemoryFeatures+ where+ type StructFields VkPhysicalDeviceProtectedMemoryFeatures =+ '["sType", "pNext", "protectedMemory"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceProtectedMemoryFeatures = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceProtectedMemoryFeatures = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceProtectedMemoryFeatures =+ '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceProtectedMemoryFeatures where+ type FieldType "sType" VkPhysicalDeviceProtectedMemoryFeatures =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceProtectedMemoryFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceProtectedMemoryFeatures =+ #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}+ type FieldIsArray "sType" VkPhysicalDeviceProtectedMemoryFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceProtectedMemoryFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceProtectedMemoryFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceProtectedMemoryFeatures where+ type FieldType "pNext" VkPhysicalDeviceProtectedMemoryFeatures =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceProtectedMemoryFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceProtectedMemoryFeatures =+ #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceProtectedMemoryFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceProtectedMemoryFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceProtectedMemoryFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, pNext}++instance {-# OVERLAPPING #-}+ HasField "protectedMemory" VkPhysicalDeviceProtectedMemoryFeatures+ where+ type FieldType "protectedMemory"+ VkPhysicalDeviceProtectedMemoryFeatures+ = VkBool32+ type FieldOptional "protectedMemory"+ VkPhysicalDeviceProtectedMemoryFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "protectedMemory"+ VkPhysicalDeviceProtectedMemoryFeatures+ =+ #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}+ type FieldIsArray "protectedMemory"+ VkPhysicalDeviceProtectedMemoryFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}++instance {-# OVERLAPPING #-}+ CanReadField "protectedMemory"+ VkPhysicalDeviceProtectedMemoryFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}++instance {-# OVERLAPPING #-}+ CanWriteField "protectedMemory"+ VkPhysicalDeviceProtectedMemoryFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory}++instance Show VkPhysicalDeviceProtectedMemoryFeatures where+ showsPrec d x+ = showString "VkPhysicalDeviceProtectedMemoryFeatures {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "protectedMemory = " .+ showsPrec d (getField @"protectedMemory" x) . showChar '}'++-- | > typedef struct VkPhysicalDeviceProtectedMemoryProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 protectedNoFault;+-- > } VkPhysicalDeviceProtectedMemoryProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties registry at www.khronos.org>+data VkPhysicalDeviceProtectedMemoryProperties = VkPhysicalDeviceProtectedMemoryProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceProtectedMemoryProperties where+ (VkPhysicalDeviceProtectedMemoryProperties## a _) ==+ x@(VkPhysicalDeviceProtectedMemoryProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceProtectedMemoryProperties where+ (VkPhysicalDeviceProtectedMemoryProperties## a _) `compare`+ x@(VkPhysicalDeviceProtectedMemoryProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceProtectedMemoryProperties where+ sizeOf ~_+ = #{size VkPhysicalDeviceProtectedMemoryProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceProtectedMemoryProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceProtectedMemoryProperties+ where+ unsafeAddr (VkPhysicalDeviceProtectedMemoryProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceProtectedMemoryProperties## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceProtectedMemoryProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceProtectedMemoryProperties+ where+ type StructFields VkPhysicalDeviceProtectedMemoryProperties =+ '["sType", "pNext", "protectedNoFault"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceProtectedMemoryProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceProtectedMemoryProperties =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceProtectedMemoryProperties =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceProtectedMemoryProperties where+ type FieldType "sType" VkPhysicalDeviceProtectedMemoryProperties =+ VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceProtectedMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceProtectedMemoryProperties+ =+ #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}+ type FieldIsArray "sType" VkPhysicalDeviceProtectedMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceProtectedMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceProtectedMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceProtectedMemoryProperties where+ type FieldType "pNext" VkPhysicalDeviceProtectedMemoryProperties =+ Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceProtectedMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceProtectedMemoryProperties+ =+ #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceProtectedMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceProtectedMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceProtectedMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ where+ type FieldType "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ = VkBool32+ type FieldOptional "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ =+ #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}+ type FieldIsArray "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}++instance {-# OVERLAPPING #-}+ CanReadField "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}++instance {-# OVERLAPPING #-}+ CanWriteField "protectedNoFault"+ VkPhysicalDeviceProtectedMemoryProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceProtectedMemoryProperties, protectedNoFault}++instance Show VkPhysicalDeviceProtectedMemoryProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceProtectedMemoryProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "protectedNoFault = " .+ showsPrec d (getField @"protectedNoFault" x) . showChar '}'++-- | > typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxPushDescriptors;+-- > } VkPhysicalDevicePushDescriptorPropertiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR registry at www.khronos.org>+data VkPhysicalDevicePushDescriptorPropertiesKHR = VkPhysicalDevicePushDescriptorPropertiesKHR## Addr##+ ByteArray##++instance Eq VkPhysicalDevicePushDescriptorPropertiesKHR where+ (VkPhysicalDevicePushDescriptorPropertiesKHR## a _) ==+ x@(VkPhysicalDevicePushDescriptorPropertiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDevicePushDescriptorPropertiesKHR where+ (VkPhysicalDevicePushDescriptorPropertiesKHR## a _) `compare`+ x@(VkPhysicalDevicePushDescriptorPropertiesKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDevicePushDescriptorPropertiesKHR where+ sizeOf ~_+ = #{size VkPhysicalDevicePushDescriptorPropertiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDevicePushDescriptorPropertiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ unsafeAddr (VkPhysicalDevicePushDescriptorPropertiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDevicePushDescriptorPropertiesKHR## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDevicePushDescriptorPropertiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ type StructFields VkPhysicalDevicePushDescriptorPropertiesKHR =+ '["sType", "pNext", "maxPushDescriptors"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDevicePushDescriptorPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDevicePushDescriptorPropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDevicePushDescriptorPropertiesKHR =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDevicePushDescriptorPropertiesKHR where+ type FieldType "sType" VkPhysicalDevicePushDescriptorPropertiesKHR+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ =+ #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}+ type FieldIsArray "sType"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR where+ type FieldType "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ =+ #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ type FieldType "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = Word32+ type FieldOptional "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ =+ #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}+ type FieldIsArray "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}++instance {-# OVERLAPPING #-}+ CanReadField "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}++instance {-# OVERLAPPING #-}+ CanWriteField "maxPushDescriptors"+ VkPhysicalDevicePushDescriptorPropertiesKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDevicePushDescriptorPropertiesKHR, maxPushDescriptors}++instance Show VkPhysicalDevicePushDescriptorPropertiesKHR where+ showsPrec d x+ = showString "VkPhysicalDevicePushDescriptorPropertiesKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxPushDescriptors = " .+ showsPrec d (getField @"maxPushDescriptors" x) . showChar '}'++-- | > typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkSampleCountFlags sampleLocationSampleCounts;+-- > VkExtent2D maxSampleLocationGridSize;+-- > float sampleLocationCoordinateRange[2];+-- > uint32_t sampleLocationSubPixelBits;+-- > VkBool32 variableSampleLocations;+-- > } VkPhysicalDeviceSampleLocationsPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceSampleLocationsPropertiesEXT = VkPhysicalDeviceSampleLocationsPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSampleLocationsPropertiesEXT where+ (VkPhysicalDeviceSampleLocationsPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceSampleLocationsPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSampleLocationsPropertiesEXT where+ (VkPhysicalDeviceSampleLocationsPropertiesEXT## a _) `compare`+ x@(VkPhysicalDeviceSampleLocationsPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceSampleLocationsPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSampleLocationsPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ unsafeAddr (VkPhysicalDeviceSampleLocationsPropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceSampleLocationsPropertiesEXT## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSampleLocationsPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ type StructFields VkPhysicalDeviceSampleLocationsPropertiesEXT =+ '["sType", "pNext", "sampleLocationSampleCounts", -- ' closing tick for hsc2hs+ "maxSampleLocationGridSize", "sampleLocationCoordinateRange",+ "sampleLocationSubPixelBits", "variableSampleLocations"]+ type CUnionType VkPhysicalDeviceSampleLocationsPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSampleLocationsPropertiesEXT =+ 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSampleLocationsPropertiesEXT =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT where+ type FieldType "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT where+ type FieldType "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ type FieldType "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = VkSampleCountFlags+ type FieldOptional "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}+ type FieldIsArray "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationSampleCounts"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSampleCounts}++instance {-# OVERLAPPING #-}+ HasField "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ type FieldType "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = VkExtent2D+ type FieldOptional "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}+ type FieldIsArray "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}++instance {-# OVERLAPPING #-}+ CanReadField "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSampleLocationGridSize"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, maxSampleLocationGridSize}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ type FieldType "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = #{type float}+ type FieldOptional "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}+ type FieldIsArray "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "sampleLocationCoordinateRange" idx+ VkPhysicalDeviceSampleLocationsPropertiesEXT) =>+ CanReadFieldArray "sampleLocationCoordinateRange" idx+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# SPECIALISE instance+ CanReadFieldArray "sampleLocationCoordinateRange" 0+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "sampleLocationCoordinateRange" 1+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ #-}+ type FieldArrayLength "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 2++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 2++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "sampleLocationCoordinateRange" idx+ VkPhysicalDeviceSampleLocationsPropertiesEXT) =>+ CanWriteFieldArray "sampleLocationCoordinateRange" idx+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "sampleLocationCoordinateRange" 0+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "sampleLocationCoordinateRange" 1+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationCoordinateRange}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ type FieldType "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = Word32+ type FieldOptional "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}+ type FieldIsArray "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationSubPixelBits"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, sampleLocationSubPixelBits}++instance {-# OVERLAPPING #-}+ HasField "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ type FieldType "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = VkBool32+ type FieldOptional "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ =+ #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}+ type FieldIsArray "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}++instance {-# OVERLAPPING #-}+ CanReadField "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}++instance {-# OVERLAPPING #-}+ CanWriteField "variableSampleLocations"+ VkPhysicalDeviceSampleLocationsPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSampleLocationsPropertiesEXT, variableSampleLocations}++instance Show VkPhysicalDeviceSampleLocationsPropertiesEXT where+ showsPrec d x+ = showString "VkPhysicalDeviceSampleLocationsPropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "sampleLocationSampleCounts = " .+ showsPrec d (getField @"sampleLocationSampleCounts" x) .+ showString ", " .+ showString "maxSampleLocationGridSize = " .+ showsPrec d (getField @"maxSampleLocationGridSize" x) .+ showString ", " .+ (showString "sampleLocationCoordinateRange = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT)+ o = fieldOffset @"sampleLocationCoordinateRange"+ @VkPhysicalDeviceSampleLocationsPropertiesEXT+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType "sampleLocationCoordinateRange"+ VkPhysicalDeviceSampleLocationsPropertiesEXT)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 2 - 1])+ . showChar ']')+ .+ showString ", " .+ showString "sampleLocationSubPixelBits = " .+ showsPrec d (getField @"sampleLocationSubPixelBits" x) .+ showString ", " .+ showString "variableSampleLocations = " .+ showsPrec d+ (getField @"variableSampleLocations" x)+ . showChar '}'++-- | > typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 filterMinmaxSingleComponentFormats;+-- > VkBool32 filterMinmaxImageComponentMapping;+-- > } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT where+ (VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT where+ (VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## a _) `compare`+ x@(VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ unsafeAddr (VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ type StructFields VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ =+ '["sType", "pNext", "filterMinmaxSingleComponentFormats", -- ' closing tick for hsc2hs+ "filterMinmaxImageComponentMapping"]+ type CUnionType VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ =+ #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ =+ #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ type FieldType "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = VkBool32+ type FieldOptional "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ =+ #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}+ type FieldIsArray "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}++instance {-# OVERLAPPING #-}+ CanReadField "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}++instance {-# OVERLAPPING #-}+ CanWriteField "filterMinmaxSingleComponentFormats"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxSingleComponentFormats}++instance {-# OVERLAPPING #-}+ HasField "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ type FieldType "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = VkBool32+ type FieldOptional "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ =+ #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}+ type FieldIsArray "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}++instance {-# OVERLAPPING #-}+ CanReadField "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}++instance {-# OVERLAPPING #-}+ CanWriteField "filterMinmaxImageComponentMapping"+ VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT, filterMinmaxImageComponentMapping}++instance Show VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT+ where+ showsPrec d x+ = showString "VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "filterMinmaxSingleComponentFormats = " .+ showsPrec d (getField @"filterMinmaxSingleComponentFormats" x) .+ showString ", " .+ showString "filterMinmaxImageComponentMapping = " .+ showsPrec d (getField @"filterMinmaxImageComponentMapping" x) .+ showChar '}'++-- | > typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 samplerYcbcrConversion;+-- > } VkPhysicalDeviceSamplerYcbcrConversionFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at www.khronos.org>+data VkPhysicalDeviceSamplerYcbcrConversionFeatures = VkPhysicalDeviceSamplerYcbcrConversionFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSamplerYcbcrConversionFeatures where+ (VkPhysicalDeviceSamplerYcbcrConversionFeatures## a _) ==+ x@(VkPhysicalDeviceSamplerYcbcrConversionFeatures## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSamplerYcbcrConversionFeatures where+ (VkPhysicalDeviceSamplerYcbcrConversionFeatures## a _) `compare`+ x@(VkPhysicalDeviceSamplerYcbcrConversionFeatures## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceSamplerYcbcrConversionFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSamplerYcbcrConversionFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ unsafeAddr (VkPhysicalDeviceSamplerYcbcrConversionFeatures## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceSamplerYcbcrConversionFeatures## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSamplerYcbcrConversionFeatures##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ type StructFields VkPhysicalDeviceSamplerYcbcrConversionFeatures =+ '["sType", "pNext", "samplerYcbcrConversion"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceSamplerYcbcrConversionFeatures =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSamplerYcbcrConversionFeatures =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSamplerYcbcrConversionFeatures =+ '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ type FieldType "sType"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ =+ #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ type FieldType "pNext"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ =+ #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, pNext}++instance {-# OVERLAPPING #-}+ HasField "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ type FieldType "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = VkBool32+ type FieldOptional "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ =+ #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}+ type FieldIsArray "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}++instance {-# OVERLAPPING #-}+ CanReadField "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}++instance {-# OVERLAPPING #-}+ CanWriteField "samplerYcbcrConversion"+ VkPhysicalDeviceSamplerYcbcrConversionFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion}++instance Show VkPhysicalDeviceSamplerYcbcrConversionFeatures where+ showsPrec d x+ = showString "VkPhysicalDeviceSamplerYcbcrConversionFeatures {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "samplerYcbcrConversion = " .+ showsPrec d (getField @"samplerYcbcrConversion" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceSamplerYcbcrConversionFeatures`+type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =+ VkPhysicalDeviceSamplerYcbcrConversionFeatures++-- | > typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t shaderEngineCount;+-- > uint32_t shaderArraysPerEngineCount;+-- > uint32_t computeUnitsPerShaderArray;+-- > uint32_t simdPerComputeUnit;+-- > uint32_t wavefrontsPerSimd;+-- > uint32_t wavefrontSize;+-- > uint32_t sgprsPerSimd;+-- > uint32_t minSgprAllocation;+-- > uint32_t maxSgprAllocation;+-- > uint32_t sgprAllocationGranularity;+-- > uint32_t vgprsPerSimd;+-- > uint32_t minVgprAllocation;+-- > uint32_t maxVgprAllocation;+-- > uint32_t vgprAllocationGranularity;+-- > } VkPhysicalDeviceShaderCorePropertiesAMD;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD registry at www.khronos.org>+data VkPhysicalDeviceShaderCorePropertiesAMD = VkPhysicalDeviceShaderCorePropertiesAMD## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceShaderCorePropertiesAMD where+ (VkPhysicalDeviceShaderCorePropertiesAMD## a _) ==+ x@(VkPhysicalDeviceShaderCorePropertiesAMD## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceShaderCorePropertiesAMD where+ (VkPhysicalDeviceShaderCorePropertiesAMD## a _) `compare`+ x@(VkPhysicalDeviceShaderCorePropertiesAMD## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceShaderCorePropertiesAMD where+ sizeOf ~_+ = #{size VkPhysicalDeviceShaderCorePropertiesAMD}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceShaderCorePropertiesAMD}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceShaderCorePropertiesAMD+ where+ unsafeAddr (VkPhysicalDeviceShaderCorePropertiesAMD## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceShaderCorePropertiesAMD## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceShaderCorePropertiesAMD##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type StructFields VkPhysicalDeviceShaderCorePropertiesAMD =+ '["sType", "pNext", "shaderEngineCount", -- ' closing tick for hsc2hs+ "shaderArraysPerEngineCount", "computeUnitsPerShaderArray",+ "simdPerComputeUnit", "wavefrontsPerSimd", "wavefrontSize",+ "sgprsPerSimd", "minSgprAllocation", "maxSgprAllocation",+ "sgprAllocationGranularity", "vgprsPerSimd", "minVgprAllocation",+ "maxVgprAllocation", "vgprAllocationGranularity"]+ type CUnionType VkPhysicalDeviceShaderCorePropertiesAMD = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceShaderCorePropertiesAMD = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceShaderCorePropertiesAMD =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceShaderCorePropertiesAMD where+ type FieldType "sType" VkPhysicalDeviceShaderCorePropertiesAMD =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceShaderCorePropertiesAMD =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}+ type FieldIsArray "sType" VkPhysicalDeviceShaderCorePropertiesAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceShaderCorePropertiesAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceShaderCorePropertiesAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceShaderCorePropertiesAMD where+ type FieldType "pNext" VkPhysicalDeviceShaderCorePropertiesAMD =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceShaderCorePropertiesAMD =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceShaderCorePropertiesAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceShaderCorePropertiesAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceShaderCorePropertiesAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, pNext}++instance {-# OVERLAPPING #-}+ HasField "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}+ type FieldIsArray "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}++instance {-# OVERLAPPING #-}+ CanReadField "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderEngineCount}++instance {-# OVERLAPPING #-}+ HasField "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}+ type FieldIsArray "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}++instance {-# OVERLAPPING #-}+ CanReadField "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderArraysPerEngineCount"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, shaderArraysPerEngineCount}++instance {-# OVERLAPPING #-}+ HasField "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}+ type FieldIsArray "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}++instance {-# OVERLAPPING #-}+ CanReadField "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}++instance {-# OVERLAPPING #-}+ CanWriteField "computeUnitsPerShaderArray"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, computeUnitsPerShaderArray}++instance {-# OVERLAPPING #-}+ HasField "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}+ type FieldIsArray "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}++instance {-# OVERLAPPING #-}+ CanReadField "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}++instance {-# OVERLAPPING #-}+ CanWriteField "simdPerComputeUnit"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, simdPerComputeUnit}++instance {-# OVERLAPPING #-}+ HasField "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}+ type FieldIsArray "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}++instance {-# OVERLAPPING #-}+ CanReadField "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}++instance {-# OVERLAPPING #-}+ CanWriteField "wavefrontsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontsPerSimd}++instance {-# OVERLAPPING #-}+ HasField "wavefrontSize" VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "wavefrontSize"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "wavefrontSize"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "wavefrontSize"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}+ type FieldIsArray "wavefrontSize"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}++instance {-# OVERLAPPING #-}+ CanReadField "wavefrontSize"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}++instance {-# OVERLAPPING #-}+ CanWriteField "wavefrontSize"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, wavefrontSize}++instance {-# OVERLAPPING #-}+ HasField "sgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "sgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "sgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}+ type FieldIsArray "sgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}++instance {-# OVERLAPPING #-}+ CanReadField "sgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}++instance {-# OVERLAPPING #-}+ CanWriteField "sgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprsPerSimd}++instance {-# OVERLAPPING #-}+ HasField "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}+ type FieldIsArray "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "minSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minSgprAllocation}++instance {-# OVERLAPPING #-}+ HasField "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}+ type FieldIsArray "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "maxSgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxSgprAllocation}++instance {-# OVERLAPPING #-}+ HasField "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}+ type FieldIsArray "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "sgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, sgprAllocationGranularity}++instance {-# OVERLAPPING #-}+ HasField "vgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "vgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "vgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "vgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}+ type FieldIsArray "vgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}++instance {-# OVERLAPPING #-}+ CanReadField "vgprsPerSimd" VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}++instance {-# OVERLAPPING #-}+ CanWriteField "vgprsPerSimd"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprsPerSimd}++instance {-# OVERLAPPING #-}+ HasField "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}+ type FieldIsArray "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "minVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, minVgprAllocation}++instance {-# OVERLAPPING #-}+ HasField "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}+ type FieldIsArray "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}++instance {-# OVERLAPPING #-}+ CanReadField "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVgprAllocation"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, maxVgprAllocation}++instance {-# OVERLAPPING #-}+ HasField "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ type FieldType "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = Word32+ type FieldOptional "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ =+ #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}+ type FieldIsArray "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "vgprAllocationGranularity"+ VkPhysicalDeviceShaderCorePropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderCorePropertiesAMD, vgprAllocationGranularity}++instance Show VkPhysicalDeviceShaderCorePropertiesAMD where+ showsPrec d x+ = showString "VkPhysicalDeviceShaderCorePropertiesAMD {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "shaderEngineCount = " .+ showsPrec d (getField @"shaderEngineCount" x) .+ showString ", " .+ showString "shaderArraysPerEngineCount = " .+ showsPrec d (getField @"shaderArraysPerEngineCount" x) .+ showString ", " .+ showString "computeUnitsPerShaderArray = " .+ showsPrec d (getField @"computeUnitsPerShaderArray" x) .+ showString ", " .+ showString "simdPerComputeUnit = " .+ showsPrec d (getField @"simdPerComputeUnit" x) .+ showString ", " .+ showString "wavefrontsPerSimd = " .+ showsPrec d (getField @"wavefrontsPerSimd" x) .+ showString ", " .+ showString "wavefrontSize = " .+ showsPrec d (getField @"wavefrontSize" x)+ .+ showString ", " .+ showString "sgprsPerSimd = " .+ showsPrec d+ (getField @"sgprsPerSimd" x)+ .+ showString ", " .+ showString+ "minSgprAllocation = "+ .+ showsPrec d+ (getField+ @"minSgprAllocation"+ x)+ .+ showString ", " .+ showString+ "maxSgprAllocation = "+ .+ showsPrec d+ (getField+ @"maxSgprAllocation"+ x)+ .+ showString ", " .+ showString+ "sgprAllocationGranularity = "+ .+ showsPrec d+ (getField+ @"sgprAllocationGranularity"+ x)+ .+ showString ", "+ .+ showString+ "vgprsPerSimd = "+ .+ showsPrec d+ (getField+ @"vgprsPerSimd"+ x)+ .+ showString+ ", "+ .+ showString+ "minVgprAllocation = "+ .+ showsPrec+ d+ (getField+ @"minVgprAllocation"+ x)+ .+ showString+ ", "+ .+ showString+ "maxVgprAllocation = "+ .+ showsPrec+ d+ (getField+ @"maxVgprAllocation"+ x)+ .+ showString+ ", "+ .+ showString+ "vgprAllocationGranularity = "+ .+ showsPrec+ d+ (getField+ @"vgprAllocationGranularity"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 shaderDrawParameters;+-- > } VkPhysicalDeviceShaderDrawParameterFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures registry at www.khronos.org>+data VkPhysicalDeviceShaderDrawParameterFeatures = VkPhysicalDeviceShaderDrawParameterFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceShaderDrawParameterFeatures where+ (VkPhysicalDeviceShaderDrawParameterFeatures## a _) ==+ x@(VkPhysicalDeviceShaderDrawParameterFeatures## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceShaderDrawParameterFeatures where+ (VkPhysicalDeviceShaderDrawParameterFeatures## a _) `compare`+ x@(VkPhysicalDeviceShaderDrawParameterFeatures## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceShaderDrawParameterFeatures where+ sizeOf ~_+ = #{size VkPhysicalDeviceShaderDrawParameterFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceShaderDrawParameterFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceShaderDrawParameterFeatures+ where+ unsafeAddr (VkPhysicalDeviceShaderDrawParameterFeatures## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceShaderDrawParameterFeatures## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceShaderDrawParameterFeatures##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceShaderDrawParameterFeatures+ where+ type StructFields VkPhysicalDeviceShaderDrawParameterFeatures =+ '["sType", "pNext", "shaderDrawParameters"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceShaderDrawParameterFeatures =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceShaderDrawParameterFeatures =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceShaderDrawParameterFeatures =+ '[VkPhysicalDeviceFeatures2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceShaderDrawParameterFeatures where+ type FieldType "sType" VkPhysicalDeviceShaderDrawParameterFeatures+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceShaderDrawParameterFeatures+ =+ #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceShaderDrawParameterFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceShaderDrawParameterFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceShaderDrawParameterFeatures where+ type FieldType "pNext" VkPhysicalDeviceShaderDrawParameterFeatures+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceShaderDrawParameterFeatures+ =+ #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceShaderDrawParameterFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceShaderDrawParameterFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, pNext}++instance {-# OVERLAPPING #-}+ HasField "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ where+ type FieldType "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = VkBool32+ type FieldOptional "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ =+ #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}+ type FieldIsArray "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}++instance {-# OVERLAPPING #-}+ CanReadField "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderDrawParameters"+ VkPhysicalDeviceShaderDrawParameterFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceShaderDrawParameterFeatures, shaderDrawParameters}++instance Show VkPhysicalDeviceShaderDrawParameterFeatures where+ showsPrec d x+ = showString "VkPhysicalDeviceShaderDrawParameterFeatures {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "shaderDrawParameters = " .+ showsPrec d (getField @"shaderDrawParameters" x) . showChar '}'++-- | > typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFormat format;+-- > VkImageType type;+-- > VkSampleCountFlagBits samples;+-- > VkImageUsageFlags usage;+-- > VkImageTiling tiling;+-- > } VkPhysicalDeviceSparseImageFormatInfo2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2 registry at www.khronos.org>+data VkPhysicalDeviceSparseImageFormatInfo2 = VkPhysicalDeviceSparseImageFormatInfo2## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSparseImageFormatInfo2 where+ (VkPhysicalDeviceSparseImageFormatInfo2## a _) ==+ x@(VkPhysicalDeviceSparseImageFormatInfo2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSparseImageFormatInfo2 where+ (VkPhysicalDeviceSparseImageFormatInfo2## a _) `compare`+ x@(VkPhysicalDeviceSparseImageFormatInfo2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSparseImageFormatInfo2 where+ sizeOf ~_+ = #{size VkPhysicalDeviceSparseImageFormatInfo2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSparseImageFormatInfo2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceSparseImageFormatInfo2+ where+ unsafeAddr (VkPhysicalDeviceSparseImageFormatInfo2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceSparseImageFormatInfo2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSparseImageFormatInfo2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceSparseImageFormatInfo2 where+ type StructFields VkPhysicalDeviceSparseImageFormatInfo2 =+ '["sType", "pNext", "format", "type", "samples", "usage", "tiling"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceSparseImageFormatInfo2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSparseImageFormatInfo2 = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSparseImageFormatInfo2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "sType" VkPhysicalDeviceSparseImageFormatInfo2 =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}+ type FieldIsArray "sType" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, pNext}++instance {-# OVERLAPPING #-}+ HasField "format" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "format" VkPhysicalDeviceSparseImageFormatInfo2 =+ VkFormat+ type FieldOptional "format" VkPhysicalDeviceSparseImageFormatInfo2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}+ type FieldIsArray "format" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, format}++instance {-# OVERLAPPING #-}+ HasField "type" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "type" VkPhysicalDeviceSparseImageFormatInfo2 =+ VkImageType+ type FieldOptional "type" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "type" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}+ type FieldIsArray "type" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}++instance {-# OVERLAPPING #-}+ CanReadField "type" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, type})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}++instance {-# OVERLAPPING #-}+ CanWriteField "type" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, type}++instance {-# OVERLAPPING #-}+ HasField "samples" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "samples" VkPhysicalDeviceSparseImageFormatInfo2 =+ VkSampleCountFlagBits+ type FieldOptional "samples" VkPhysicalDeviceSparseImageFormatInfo2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "samples" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}+ type FieldIsArray "samples" VkPhysicalDeviceSparseImageFormatInfo2+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}++instance {-# OVERLAPPING #-}+ CanReadField "samples" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}++instance {-# OVERLAPPING #-}+ CanWriteField "samples" VkPhysicalDeviceSparseImageFormatInfo2+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, samples}++instance {-# OVERLAPPING #-}+ HasField "usage" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "usage" VkPhysicalDeviceSparseImageFormatInfo2 =+ VkImageUsageFlags+ type FieldOptional "usage" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "usage" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}+ type FieldIsArray "usage" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}++instance {-# OVERLAPPING #-}+ CanReadField "usage" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}++instance {-# OVERLAPPING #-}+ CanWriteField "usage" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, usage}++instance {-# OVERLAPPING #-}+ HasField "tiling" VkPhysicalDeviceSparseImageFormatInfo2 where+ type FieldType "tiling" VkPhysicalDeviceSparseImageFormatInfo2 =+ VkImageTiling+ type FieldOptional "tiling" VkPhysicalDeviceSparseImageFormatInfo2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "tiling" VkPhysicalDeviceSparseImageFormatInfo2 =+ #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}+ type FieldIsArray "tiling" VkPhysicalDeviceSparseImageFormatInfo2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}++instance {-# OVERLAPPING #-}+ CanReadField "tiling" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}++instance {-# OVERLAPPING #-}+ CanWriteField "tiling" VkPhysicalDeviceSparseImageFormatInfo2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseImageFormatInfo2, tiling}++instance Show VkPhysicalDeviceSparseImageFormatInfo2 where+ showsPrec d x+ = showString "VkPhysicalDeviceSparseImageFormatInfo2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "type = " .+ showsPrec d (getField @"type" x) .+ showString ", " .+ showString "samples = " .+ showsPrec d (getField @"samples" x) .+ showString ", " .+ showString "usage = " .+ showsPrec d (getField @"usage" x) .+ showString ", " .+ showString "tiling = " .+ showsPrec d (getField @"tiling" x) .+ showChar '}'++-- | Alias for `VkPhysicalDeviceSparseImageFormatInfo2`+type VkPhysicalDeviceSparseImageFormatInfo2KHR =+ VkPhysicalDeviceSparseImageFormatInfo2++-- | > typedef struct VkPhysicalDeviceSparseProperties {+-- > VkBool32 residencyStandard2DBlockShape;+-- > VkBool32 residencyStandard2DMultisampleBlockShape;+-- > VkBool32 residencyStandard3DBlockShape;+-- > VkBool32 residencyAlignedMipSize;+-- > VkBool32 residencyNonResidentStrict;+-- > } VkPhysicalDeviceSparseProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties registry at www.khronos.org>+data VkPhysicalDeviceSparseProperties = VkPhysicalDeviceSparseProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSparseProperties where+ (VkPhysicalDeviceSparseProperties## a _) ==+ x@(VkPhysicalDeviceSparseProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSparseProperties where+ (VkPhysicalDeviceSparseProperties## a _) `compare`+ x@(VkPhysicalDeviceSparseProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSparseProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceSparseProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSparseProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceSparseProperties where+ unsafeAddr (VkPhysicalDeviceSparseProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceSparseProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSparseProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceSparseProperties where+ type StructFields VkPhysicalDeviceSparseProperties =+ '["residencyStandard2DBlockShape", -- ' closing tick for hsc2hs+ "residencyStandard2DMultisampleBlockShape",+ "residencyStandard3DBlockShape", "residencyAlignedMipSize",+ "residencyNonResidentStrict"]+ type CUnionType VkPhysicalDeviceSparseProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSparseProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSparseProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ type FieldType "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ = VkBool32+ type FieldOptional "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ =+ #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}+ type FieldIsArray "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}++instance {-# OVERLAPPING #-}+ CanReadField "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}++instance {-# OVERLAPPING #-}+ CanWriteField "residencyStandard2DBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DBlockShape}++instance {-# OVERLAPPING #-}+ HasField "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ type FieldType "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ = VkBool32+ type FieldOptional "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ =+ #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}+ type FieldIsArray "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}++instance {-# OVERLAPPING #-}+ CanReadField "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}++instance {-# OVERLAPPING #-}+ CanWriteField "residencyStandard2DMultisampleBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard2DMultisampleBlockShape}++instance {-# OVERLAPPING #-}+ HasField "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ type FieldType "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ = VkBool32+ type FieldOptional "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ =+ #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}+ type FieldIsArray "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}++instance {-# OVERLAPPING #-}+ CanReadField "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}++instance {-# OVERLAPPING #-}+ CanWriteField "residencyStandard3DBlockShape"+ VkPhysicalDeviceSparseProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyStandard3DBlockShape}++instance {-# OVERLAPPING #-}+ HasField "residencyAlignedMipSize" VkPhysicalDeviceSparseProperties+ where+ type FieldType "residencyAlignedMipSize"+ VkPhysicalDeviceSparseProperties+ = VkBool32+ type FieldOptional "residencyAlignedMipSize"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "residencyAlignedMipSize"+ VkPhysicalDeviceSparseProperties+ =+ #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}+ type FieldIsArray "residencyAlignedMipSize"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}++instance {-# OVERLAPPING #-}+ CanReadField "residencyAlignedMipSize"+ VkPhysicalDeviceSparseProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}++instance {-# OVERLAPPING #-}+ CanWriteField "residencyAlignedMipSize"+ VkPhysicalDeviceSparseProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyAlignedMipSize}++instance {-# OVERLAPPING #-}+ HasField "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ where+ type FieldType "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ = VkBool32+ type FieldOptional "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ =+ #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}+ type FieldIsArray "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}++instance {-# OVERLAPPING #-}+ CanReadField "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}++instance {-# OVERLAPPING #-}+ CanWriteField "residencyNonResidentStrict"+ VkPhysicalDeviceSparseProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSparseProperties, residencyNonResidentStrict}++instance Show VkPhysicalDeviceSparseProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceSparseProperties {" .+ showString "residencyStandard2DBlockShape = " .+ showsPrec d (getField @"residencyStandard2DBlockShape" x) .+ showString ", " .+ showString "residencyStandard2DMultisampleBlockShape = " .+ showsPrec d+ (getField @"residencyStandard2DMultisampleBlockShape" x)+ .+ showString ", " .+ showString "residencyStandard3DBlockShape = " .+ showsPrec d (getField @"residencyStandard3DBlockShape" x) .+ showString ", " .+ showString "residencyAlignedMipSize = " .+ showsPrec d (getField @"residencyAlignedMipSize" x) .+ showString ", " .+ showString "residencyNonResidentStrict = " .+ showsPrec d (getField @"residencyNonResidentStrict" x) .+ showChar '}'++-- | > typedef struct VkPhysicalDeviceSubgroupProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t subgroupSize;+-- > VkShaderStageFlags supportedStages;+-- > VkSubgroupFeatureFlags supportedOperations;+-- > VkBool32 quadOperationsInAllStages;+-- > } VkPhysicalDeviceSubgroupProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties registry at www.khronos.org>+data VkPhysicalDeviceSubgroupProperties = VkPhysicalDeviceSubgroupProperties## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSubgroupProperties where+ (VkPhysicalDeviceSubgroupProperties## a _) ==+ x@(VkPhysicalDeviceSubgroupProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSubgroupProperties where+ (VkPhysicalDeviceSubgroupProperties## a _) `compare`+ x@(VkPhysicalDeviceSubgroupProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSubgroupProperties where+ sizeOf ~_ = #{size VkPhysicalDeviceSubgroupProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSubgroupProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceSubgroupProperties where+ unsafeAddr (VkPhysicalDeviceSubgroupProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceSubgroupProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSubgroupProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceSubgroupProperties where+ type StructFields VkPhysicalDeviceSubgroupProperties =+ '["sType", "pNext", "subgroupSize", "supportedStages", -- ' closing tick for hsc2hs+ "supportedOperations", "quadOperationsInAllStages"]+ type CUnionType VkPhysicalDeviceSubgroupProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSubgroupProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSubgroupProperties =+ '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceSubgroupProperties where+ type FieldType "sType" VkPhysicalDeviceSubgroupProperties =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceSubgroupProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceSubgroupProperties =+ #{offset VkPhysicalDeviceSubgroupProperties, sType}+ type FieldIsArray "sType" VkPhysicalDeviceSubgroupProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSubgroupProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceSubgroupProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceSubgroupProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceSubgroupProperties where+ type FieldType "pNext" VkPhysicalDeviceSubgroupProperties =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceSubgroupProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceSubgroupProperties =+ #{offset VkPhysicalDeviceSubgroupProperties, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceSubgroupProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSubgroupProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceSubgroupProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceSubgroupProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "subgroupSize" VkPhysicalDeviceSubgroupProperties where+ type FieldType "subgroupSize" VkPhysicalDeviceSubgroupProperties =+ Word32+ type FieldOptional "subgroupSize"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subgroupSize" VkPhysicalDeviceSubgroupProperties+ =+ #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}+ type FieldIsArray "subgroupSize" VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}++instance {-# OVERLAPPING #-}+ CanReadField "subgroupSize" VkPhysicalDeviceSubgroupProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}++instance {-# OVERLAPPING #-}+ CanWriteField "subgroupSize" VkPhysicalDeviceSubgroupProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, subgroupSize}++instance {-# OVERLAPPING #-}+ HasField "supportedStages" VkPhysicalDeviceSubgroupProperties where+ type FieldType "supportedStages" VkPhysicalDeviceSubgroupProperties+ = VkShaderStageFlags+ type FieldOptional "supportedStages"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "supportedStages"+ VkPhysicalDeviceSubgroupProperties+ =+ #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}+ type FieldIsArray "supportedStages"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}++instance {-# OVERLAPPING #-}+ CanReadField "supportedStages" VkPhysicalDeviceSubgroupProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, supportedStages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedStages" VkPhysicalDeviceSubgroupProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedStages}++instance {-# OVERLAPPING #-}+ HasField "supportedOperations" VkPhysicalDeviceSubgroupProperties+ where+ type FieldType "supportedOperations"+ VkPhysicalDeviceSubgroupProperties+ = VkSubgroupFeatureFlags+ type FieldOptional "supportedOperations"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "supportedOperations"+ VkPhysicalDeviceSubgroupProperties+ =+ #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}+ type FieldIsArray "supportedOperations"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}++instance {-# OVERLAPPING #-}+ CanReadField "supportedOperations"+ VkPhysicalDeviceSubgroupProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedOperations"+ VkPhysicalDeviceSubgroupProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, supportedOperations}++instance {-# OVERLAPPING #-}+ HasField "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ where+ type FieldType "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ = VkBool32+ type FieldOptional "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ =+ #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}+ type FieldIsArray "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}++instance {-# OVERLAPPING #-}+ CanReadField "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}++instance {-# OVERLAPPING #-}+ CanWriteField "quadOperationsInAllStages"+ VkPhysicalDeviceSubgroupProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSubgroupProperties, quadOperationsInAllStages}++instance Show VkPhysicalDeviceSubgroupProperties where+ showsPrec d x+ = showString "VkPhysicalDeviceSubgroupProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "subgroupSize = " .+ showsPrec d (getField @"subgroupSize" x) .+ showString ", " .+ showString "supportedStages = " .+ showsPrec d (getField @"supportedStages" x) .+ showString ", " .+ showString "supportedOperations = " .+ showsPrec d (getField @"supportedOperations" x) .+ showString ", " .+ showString "quadOperationsInAllStages = " .+ showsPrec d (getField @"quadOperationsInAllStages" x)+ . showChar '}'++-- | > typedef struct VkPhysicalDeviceSurfaceInfo2KHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSurfaceKHR surface;+-- > } VkPhysicalDeviceSurfaceInfo2KHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org>+data VkPhysicalDeviceSurfaceInfo2KHR = VkPhysicalDeviceSurfaceInfo2KHR## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceSurfaceInfo2KHR where+ (VkPhysicalDeviceSurfaceInfo2KHR## a _) ==+ x@(VkPhysicalDeviceSurfaceInfo2KHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceSurfaceInfo2KHR where+ (VkPhysicalDeviceSurfaceInfo2KHR## a _) `compare`+ x@(VkPhysicalDeviceSurfaceInfo2KHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceSurfaceInfo2KHR where+ sizeOf ~_ = #{size VkPhysicalDeviceSurfaceInfo2KHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceSurfaceInfo2KHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceSurfaceInfo2KHR where+ unsafeAddr (VkPhysicalDeviceSurfaceInfo2KHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceSurfaceInfo2KHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceSurfaceInfo2KHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceSurfaceInfo2KHR where+ type StructFields VkPhysicalDeviceSurfaceInfo2KHR =+ '["sType", "pNext", "surface"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceSurfaceInfo2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceSurfaceInfo2KHR where+ type FieldType "sType" VkPhysicalDeviceSurfaceInfo2KHR =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceSurfaceInfo2KHR =+ #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}+ type FieldIsArray "sType" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceSurfaceInfo2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceSurfaceInfo2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceSurfaceInfo2KHR where+ type FieldType "pNext" VkPhysicalDeviceSurfaceInfo2KHR = Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceSurfaceInfo2KHR =+ #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceSurfaceInfo2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceSurfaceInfo2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceSurfaceInfo2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "surface" VkPhysicalDeviceSurfaceInfo2KHR where+ type FieldType "surface" VkPhysicalDeviceSurfaceInfo2KHR =+ VkSurfaceKHR+ type FieldOptional "surface" VkPhysicalDeviceSurfaceInfo2KHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "surface" VkPhysicalDeviceSurfaceInfo2KHR =+ #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}+ type FieldIsArray "surface" VkPhysicalDeviceSurfaceInfo2KHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}++instance {-# OVERLAPPING #-}+ CanReadField "surface" VkPhysicalDeviceSurfaceInfo2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}++instance {-# OVERLAPPING #-}+ CanWriteField "surface" VkPhysicalDeviceSurfaceInfo2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceSurfaceInfo2KHR, surface}++instance Show VkPhysicalDeviceSurfaceInfo2KHR where+ showsPrec d x+ = showString "VkPhysicalDeviceSurfaceInfo2KHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "surface = " .+ showsPrec d (getField @"surface" x) . showChar '}'++-- | > typedef struct VkPhysicalDeviceVariablePointerFeatures {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 variablePointersStorageBuffer;+-- > VkBool32 variablePointers;+-- > } VkPhysicalDeviceVariablePointerFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures registry at www.khronos.org>+data VkPhysicalDeviceVariablePointerFeatures = VkPhysicalDeviceVariablePointerFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceVariablePointerFeatures where+ (VkPhysicalDeviceVariablePointerFeatures## a _) ==+ x@(VkPhysicalDeviceVariablePointerFeatures## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceVariablePointerFeatures where+ (VkPhysicalDeviceVariablePointerFeatures## a _) `compare`+ x@(VkPhysicalDeviceVariablePointerFeatures## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceVariablePointerFeatures where+ sizeOf ~_+ = #{size VkPhysicalDeviceVariablePointerFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceVariablePointerFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceVariablePointerFeatures+ where+ unsafeAddr (VkPhysicalDeviceVariablePointerFeatures## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceVariablePointerFeatures## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceVariablePointerFeatures##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceVariablePointerFeatures+ where+ type StructFields VkPhysicalDeviceVariablePointerFeatures =+ '["sType", "pNext", "variablePointersStorageBuffer", -- ' closing tick for hsc2hs+ "variablePointers"]+ type CUnionType VkPhysicalDeviceVariablePointerFeatures = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceVariablePointerFeatures = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceVariablePointerFeatures =+ '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPhysicalDeviceVariablePointerFeatures where+ type FieldType "sType" VkPhysicalDeviceVariablePointerFeatures =+ VkStructureType+ type FieldOptional "sType" VkPhysicalDeviceVariablePointerFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPhysicalDeviceVariablePointerFeatures =+ #{offset VkPhysicalDeviceVariablePointerFeatures, sType}+ type FieldIsArray "sType" VkPhysicalDeviceVariablePointerFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVariablePointerFeatures, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPhysicalDeviceVariablePointerFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPhysicalDeviceVariablePointerFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPhysicalDeviceVariablePointerFeatures where+ type FieldType "pNext" VkPhysicalDeviceVariablePointerFeatures =+ Ptr Void+ type FieldOptional "pNext" VkPhysicalDeviceVariablePointerFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPhysicalDeviceVariablePointerFeatures =+ #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}+ type FieldIsArray "pNext" VkPhysicalDeviceVariablePointerFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPhysicalDeviceVariablePointerFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPhysicalDeviceVariablePointerFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, pNext}++instance {-# OVERLAPPING #-}+ HasField "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ where+ type FieldType "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ = VkBool32+ type FieldOptional "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ =+ #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}+ type FieldIsArray "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}++instance {-# OVERLAPPING #-}+ CanReadField "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "variablePointersStorageBuffer"+ VkPhysicalDeviceVariablePointerFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointersStorageBuffer}++instance {-# OVERLAPPING #-}+ HasField "variablePointers" VkPhysicalDeviceVariablePointerFeatures+ where+ type FieldType "variablePointers"+ VkPhysicalDeviceVariablePointerFeatures+ = VkBool32+ type FieldOptional "variablePointers"+ VkPhysicalDeviceVariablePointerFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "variablePointers"+ VkPhysicalDeviceVariablePointerFeatures+ =+ #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}+ type FieldIsArray "variablePointers"+ VkPhysicalDeviceVariablePointerFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}++instance {-# OVERLAPPING #-}+ CanReadField "variablePointers"+ VkPhysicalDeviceVariablePointerFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}++instance {-# OVERLAPPING #-}+ CanWriteField "variablePointers"+ VkPhysicalDeviceVariablePointerFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVariablePointerFeatures, variablePointers}++instance Show VkPhysicalDeviceVariablePointerFeatures where+ showsPrec d x+ = showString "VkPhysicalDeviceVariablePointerFeatures {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "variablePointersStorageBuffer = " .+ showsPrec d (getField @"variablePointersStorageBuffer" x) .+ showString ", " .+ showString "variablePointers = " .+ showsPrec d (getField @"variablePointers" x) . showChar '}'++-- | Alias for `VkPhysicalDeviceVariablePointerFeatures`+type VkPhysicalDeviceVariablePointerFeaturesKHR =+ VkPhysicalDeviceVariablePointerFeatures++-- | > typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t maxVertexAttribDivisor;+-- > } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at www.khronos.org>+data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## a _) ==+ x@(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## a _)+ `compare`+ x@(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ sizeOf ~_+ = #{size VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ unsafeAddr+ (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ type StructFields+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = '["sType", "pNext", "maxVertexAttribDivisor"] -- ' closing tick for hsc2hs+ type CUnionType VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ type FieldType "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ =+ #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}+ type FieldIsArray "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ type FieldType "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ =+ #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}+ type FieldIsArray "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ type FieldType "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = Word32+ type FieldOptional "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ =+ #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}+ type FieldIsArray "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}++instance {-# OVERLAPPING #-}+ CanReadField "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}++instance {-# OVERLAPPING #-}+ CanWriteField "maxVertexAttribDivisor"+ VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT, maxVertexAttribDivisor}++instance Show VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT+ where+ showsPrec d x+ = showString+ "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "maxVertexAttribDivisor = " .+ showsPrec d (getField @"maxVertexAttribDivisor" x) . showChar '}'
@@ -0,0 +1,2803 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures+ (VkPhysicalDeviceFeatures(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkPhysicalDeviceFeatures {+-- > VkBool32 robustBufferAccess;+-- > VkBool32 fullDrawIndexUint32;+-- > VkBool32 imageCubeArray;+-- > VkBool32 independentBlend;+-- > VkBool32 geometryShader;+-- > VkBool32 tessellationShader;+-- > VkBool32 sampleRateShading;+-- > VkBool32 dualSrcBlend;+-- > VkBool32 logicOp;+-- > VkBool32 multiDrawIndirect;+-- > VkBool32 drawIndirectFirstInstance;+-- > VkBool32 depthClamp;+-- > VkBool32 depthBiasClamp;+-- > VkBool32 fillModeNonSolid;+-- > VkBool32 depthBounds;+-- > VkBool32 wideLines;+-- > VkBool32 largePoints;+-- > VkBool32 alphaToOne;+-- > VkBool32 multiViewport;+-- > VkBool32 samplerAnisotropy;+-- > VkBool32 textureCompressionETC2;+-- > VkBool32 textureCompressionASTC_LDR;+-- > VkBool32 textureCompressionBC;+-- > VkBool32 occlusionQueryPrecise;+-- > VkBool32 pipelineStatisticsQuery;+-- > VkBool32 vertexPipelineStoresAndAtomics;+-- > VkBool32 fragmentStoresAndAtomics;+-- > VkBool32 shaderTessellationAndGeometryPointSize;+-- > VkBool32 shaderImageGatherExtended;+-- > VkBool32 shaderStorageImageExtendedFormats;+-- > VkBool32 shaderStorageImageMultisample;+-- > VkBool32 shaderStorageImageReadWithoutFormat;+-- > VkBool32 shaderStorageImageWriteWithoutFormat;+-- > VkBool32 shaderUniformBufferArrayDynamicIndexing;+-- > VkBool32 shaderSampledImageArrayDynamicIndexing;+-- > VkBool32 shaderStorageBufferArrayDynamicIndexing;+-- > VkBool32 shaderStorageImageArrayDynamicIndexing;+-- > VkBool32 shaderClipDistance;+-- > VkBool32 shaderCullDistance;+-- > VkBool32 shaderFloat64;+-- > VkBool32 shaderInt64;+-- > VkBool32 shaderInt16;+-- > VkBool32 shaderResourceResidency;+-- > VkBool32 shaderResourceMinLod;+-- > VkBool32 sparseBinding;+-- > VkBool32 sparseResidencyBuffer;+-- > VkBool32 sparseResidencyImage2D;+-- > VkBool32 sparseResidencyImage3D;+-- > VkBool32 sparseResidency2Samples;+-- > VkBool32 sparseResidency4Samples;+-- > VkBool32 sparseResidency8Samples;+-- > VkBool32 sparseResidency16Samples;+-- > VkBool32 sparseResidencyAliased;+-- > VkBool32 variableMultisampleRate;+-- > VkBool32 inheritedQueries;+-- > } VkPhysicalDeviceFeatures;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures registry at www.khronos.org>+data VkPhysicalDeviceFeatures = VkPhysicalDeviceFeatures## Addr##+ ByteArray##++instance Eq VkPhysicalDeviceFeatures where+ (VkPhysicalDeviceFeatures## a _) ==+ x@(VkPhysicalDeviceFeatures## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPhysicalDeviceFeatures where+ (VkPhysicalDeviceFeatures## a _) `compare`+ x@(VkPhysicalDeviceFeatures## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPhysicalDeviceFeatures where+ sizeOf ~_ = #{size VkPhysicalDeviceFeatures}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPhysicalDeviceFeatures}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPhysicalDeviceFeatures where+ unsafeAddr (VkPhysicalDeviceFeatures## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPhysicalDeviceFeatures## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPhysicalDeviceFeatures## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPhysicalDeviceFeatures where+ type StructFields VkPhysicalDeviceFeatures =+ '["robustBufferAccess", "fullDrawIndexUint32", "imageCubeArray", -- ' closing tick for hsc2hs+ "independentBlend", "geometryShader", "tessellationShader",+ "sampleRateShading", "dualSrcBlend", "logicOp",+ "multiDrawIndirect", "drawIndirectFirstInstance", "depthClamp",+ "depthBiasClamp", "fillModeNonSolid", "depthBounds", "wideLines",+ "largePoints", "alphaToOne", "multiViewport", "samplerAnisotropy",+ "textureCompressionETC2", "textureCompressionASTC_LDR",+ "textureCompressionBC", "occlusionQueryPrecise",+ "pipelineStatisticsQuery", "vertexPipelineStoresAndAtomics",+ "fragmentStoresAndAtomics",+ "shaderTessellationAndGeometryPointSize",+ "shaderImageGatherExtended", "shaderStorageImageExtendedFormats",+ "shaderStorageImageMultisample",+ "shaderStorageImageReadWithoutFormat",+ "shaderStorageImageWriteWithoutFormat",+ "shaderUniformBufferArrayDynamicIndexing",+ "shaderSampledImageArrayDynamicIndexing",+ "shaderStorageBufferArrayDynamicIndexing",+ "shaderStorageImageArrayDynamicIndexing", "shaderClipDistance",+ "shaderCullDistance", "shaderFloat64", "shaderInt64",+ "shaderInt16", "shaderResourceResidency", "shaderResourceMinLod",+ "sparseBinding", "sparseResidencyBuffer", "sparseResidencyImage2D",+ "sparseResidencyImage3D", "sparseResidency2Samples",+ "sparseResidency4Samples", "sparseResidency8Samples",+ "sparseResidency16Samples", "sparseResidencyAliased",+ "variableMultisampleRate", "inheritedQueries"]+ type CUnionType VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPhysicalDeviceFeatures = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "robustBufferAccess" VkPhysicalDeviceFeatures where+ type FieldType "robustBufferAccess" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "robustBufferAccess" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "robustBufferAccess" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, robustBufferAccess}+ type FieldIsArray "robustBufferAccess" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, robustBufferAccess}++instance {-# OVERLAPPING #-}+ CanReadField "robustBufferAccess" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, robustBufferAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, robustBufferAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "robustBufferAccess" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, robustBufferAccess}++instance {-# OVERLAPPING #-}+ HasField "fullDrawIndexUint32" VkPhysicalDeviceFeatures where+ type FieldType "fullDrawIndexUint32" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "fullDrawIndexUint32" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "fullDrawIndexUint32" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}+ type FieldIsArray "fullDrawIndexUint32" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}++instance {-# OVERLAPPING #-}+ CanReadField "fullDrawIndexUint32" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}++instance {-# OVERLAPPING #-}+ CanWriteField "fullDrawIndexUint32" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, fullDrawIndexUint32}++instance {-# OVERLAPPING #-}+ HasField "imageCubeArray" VkPhysicalDeviceFeatures where+ type FieldType "imageCubeArray" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "imageCubeArray" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageCubeArray" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, imageCubeArray}+ type FieldIsArray "imageCubeArray" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, imageCubeArray}++instance {-# OVERLAPPING #-}+ CanReadField "imageCubeArray" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, imageCubeArray})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, imageCubeArray}++instance {-# OVERLAPPING #-}+ CanWriteField "imageCubeArray" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, imageCubeArray}++instance {-# OVERLAPPING #-}+ HasField "independentBlend" VkPhysicalDeviceFeatures where+ type FieldType "independentBlend" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "independentBlend" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "independentBlend" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, independentBlend}+ type FieldIsArray "independentBlend" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, independentBlend}++instance {-# OVERLAPPING #-}+ CanReadField "independentBlend" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, independentBlend})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, independentBlend}++instance {-# OVERLAPPING #-}+ CanWriteField "independentBlend" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, independentBlend}++instance {-# OVERLAPPING #-}+ HasField "geometryShader" VkPhysicalDeviceFeatures where+ type FieldType "geometryShader" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "geometryShader" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "geometryShader" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, geometryShader}+ type FieldIsArray "geometryShader" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, geometryShader}++instance {-# OVERLAPPING #-}+ CanReadField "geometryShader" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, geometryShader})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, geometryShader}++instance {-# OVERLAPPING #-}+ CanWriteField "geometryShader" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, geometryShader}++instance {-# OVERLAPPING #-}+ HasField "tessellationShader" VkPhysicalDeviceFeatures where+ type FieldType "tessellationShader" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "tessellationShader" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "tessellationShader" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, tessellationShader}+ type FieldIsArray "tessellationShader" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, tessellationShader}++instance {-# OVERLAPPING #-}+ CanReadField "tessellationShader" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, tessellationShader})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, tessellationShader}++instance {-# OVERLAPPING #-}+ CanWriteField "tessellationShader" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, tessellationShader}++instance {-# OVERLAPPING #-}+ HasField "sampleRateShading" VkPhysicalDeviceFeatures where+ type FieldType "sampleRateShading" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sampleRateShading" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleRateShading" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, sampleRateShading}+ type FieldIsArray "sampleRateShading" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sampleRateShading}++instance {-# OVERLAPPING #-}+ CanReadField "sampleRateShading" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sampleRateShading})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sampleRateShading}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleRateShading" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sampleRateShading}++instance {-# OVERLAPPING #-}+ HasField "dualSrcBlend" VkPhysicalDeviceFeatures where+ type FieldType "dualSrcBlend" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "dualSrcBlend" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dualSrcBlend" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, dualSrcBlend}+ type FieldIsArray "dualSrcBlend" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, dualSrcBlend}++instance {-# OVERLAPPING #-}+ CanReadField "dualSrcBlend" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, dualSrcBlend})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, dualSrcBlend}++instance {-# OVERLAPPING #-}+ CanWriteField "dualSrcBlend" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, dualSrcBlend}++instance {-# OVERLAPPING #-}+ HasField "logicOp" VkPhysicalDeviceFeatures where+ type FieldType "logicOp" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "logicOp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "logicOp" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, logicOp}+ type FieldIsArray "logicOp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, logicOp}++instance {-# OVERLAPPING #-}+ CanReadField "logicOp" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, logicOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, logicOp}++instance {-# OVERLAPPING #-}+ CanWriteField "logicOp" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, logicOp}++instance {-# OVERLAPPING #-}+ HasField "multiDrawIndirect" VkPhysicalDeviceFeatures where+ type FieldType "multiDrawIndirect" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "multiDrawIndirect" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "multiDrawIndirect" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}+ type FieldIsArray "multiDrawIndirect" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}++instance {-# OVERLAPPING #-}+ CanReadField "multiDrawIndirect" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, multiDrawIndirect})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}++instance {-# OVERLAPPING #-}+ CanWriteField "multiDrawIndirect" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, multiDrawIndirect}++instance {-# OVERLAPPING #-}+ HasField "drawIndirectFirstInstance" VkPhysicalDeviceFeatures where+ type FieldType "drawIndirectFirstInstance" VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "drawIndirectFirstInstance"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "drawIndirectFirstInstance"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}+ type FieldIsArray "drawIndirectFirstInstance"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}++instance {-# OVERLAPPING #-}+ CanReadField "drawIndirectFirstInstance" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}++instance {-# OVERLAPPING #-}+ CanWriteField "drawIndirectFirstInstance" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, drawIndirectFirstInstance}++instance {-# OVERLAPPING #-}+ HasField "depthClamp" VkPhysicalDeviceFeatures where+ type FieldType "depthClamp" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "depthClamp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthClamp" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, depthClamp}+ type FieldIsArray "depthClamp" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, depthClamp}++instance {-# OVERLAPPING #-}+ CanReadField "depthClamp" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, depthClamp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, depthClamp}++instance {-# OVERLAPPING #-}+ CanWriteField "depthClamp" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, depthClamp}++instance {-# OVERLAPPING #-}+ HasField "depthBiasClamp" VkPhysicalDeviceFeatures where+ type FieldType "depthBiasClamp" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "depthBiasClamp" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBiasClamp" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, depthBiasClamp}+ type FieldIsArray "depthBiasClamp" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, depthBiasClamp}++instance {-# OVERLAPPING #-}+ CanReadField "depthBiasClamp" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, depthBiasClamp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, depthBiasClamp}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBiasClamp" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, depthBiasClamp}++instance {-# OVERLAPPING #-}+ HasField "fillModeNonSolid" VkPhysicalDeviceFeatures where+ type FieldType "fillModeNonSolid" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "fillModeNonSolid" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "fillModeNonSolid" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}+ type FieldIsArray "fillModeNonSolid" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}++instance {-# OVERLAPPING #-}+ CanReadField "fillModeNonSolid" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, fillModeNonSolid})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}++instance {-# OVERLAPPING #-}+ CanWriteField "fillModeNonSolid" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, fillModeNonSolid}++instance {-# OVERLAPPING #-}+ HasField "depthBounds" VkPhysicalDeviceFeatures where+ type FieldType "depthBounds" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "depthBounds" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBounds" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, depthBounds}+ type FieldIsArray "depthBounds" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, depthBounds}++instance {-# OVERLAPPING #-}+ CanReadField "depthBounds" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, depthBounds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, depthBounds}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBounds" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, depthBounds}++instance {-# OVERLAPPING #-}+ HasField "wideLines" VkPhysicalDeviceFeatures where+ type FieldType "wideLines" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "wideLines" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "wideLines" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, wideLines}+ type FieldIsArray "wideLines" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, wideLines}++instance {-# OVERLAPPING #-}+ CanReadField "wideLines" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, wideLines})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, wideLines}++instance {-# OVERLAPPING #-}+ CanWriteField "wideLines" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, wideLines}++instance {-# OVERLAPPING #-}+ HasField "largePoints" VkPhysicalDeviceFeatures where+ type FieldType "largePoints" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "largePoints" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "largePoints" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, largePoints}+ type FieldIsArray "largePoints" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, largePoints}++instance {-# OVERLAPPING #-}+ CanReadField "largePoints" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, largePoints})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, largePoints}++instance {-# OVERLAPPING #-}+ CanWriteField "largePoints" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, largePoints}++instance {-# OVERLAPPING #-}+ HasField "alphaToOne" VkPhysicalDeviceFeatures where+ type FieldType "alphaToOne" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "alphaToOne" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "alphaToOne" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, alphaToOne}+ type FieldIsArray "alphaToOne" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, alphaToOne}++instance {-# OVERLAPPING #-}+ CanReadField "alphaToOne" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, alphaToOne})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, alphaToOne}++instance {-# OVERLAPPING #-}+ CanWriteField "alphaToOne" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, alphaToOne}++instance {-# OVERLAPPING #-}+ HasField "multiViewport" VkPhysicalDeviceFeatures where+ type FieldType "multiViewport" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "multiViewport" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "multiViewport" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, multiViewport}+ type FieldIsArray "multiViewport" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, multiViewport}++instance {-# OVERLAPPING #-}+ CanReadField "multiViewport" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, multiViewport})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, multiViewport}++instance {-# OVERLAPPING #-}+ CanWriteField "multiViewport" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, multiViewport}++instance {-# OVERLAPPING #-}+ HasField "samplerAnisotropy" VkPhysicalDeviceFeatures where+ type FieldType "samplerAnisotropy" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "samplerAnisotropy" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "samplerAnisotropy" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}+ type FieldIsArray "samplerAnisotropy" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}++instance {-# OVERLAPPING #-}+ CanReadField "samplerAnisotropy" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, samplerAnisotropy})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}++instance {-# OVERLAPPING #-}+ CanWriteField "samplerAnisotropy" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, samplerAnisotropy}++instance {-# OVERLAPPING #-}+ HasField "textureCompressionETC2" VkPhysicalDeviceFeatures where+ type FieldType "textureCompressionETC2" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "textureCompressionETC2"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "textureCompressionETC2" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}+ type FieldIsArray "textureCompressionETC2" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}++instance {-# OVERLAPPING #-}+ CanReadField "textureCompressionETC2" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, textureCompressionETC2})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}++instance {-# OVERLAPPING #-}+ CanWriteField "textureCompressionETC2" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionETC2}++instance {-# OVERLAPPING #-}+ HasField "textureCompressionASTC_LDR" VkPhysicalDeviceFeatures+ where+ type FieldType "textureCompressionASTC_LDR"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "textureCompressionASTC_LDR"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "textureCompressionASTC_LDR"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}+ type FieldIsArray "textureCompressionASTC_LDR"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}++instance {-# OVERLAPPING #-}+ CanReadField "textureCompressionASTC_LDR" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}++instance {-# OVERLAPPING #-}+ CanWriteField "textureCompressionASTC_LDR" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionASTC_LDR}++instance {-# OVERLAPPING #-}+ HasField "textureCompressionBC" VkPhysicalDeviceFeatures where+ type FieldType "textureCompressionBC" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "textureCompressionBC" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "textureCompressionBC" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, textureCompressionBC}+ type FieldIsArray "textureCompressionBC" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, textureCompressionBC}++instance {-# OVERLAPPING #-}+ CanReadField "textureCompressionBC" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, textureCompressionBC})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionBC}++instance {-# OVERLAPPING #-}+ CanWriteField "textureCompressionBC" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, textureCompressionBC}++instance {-# OVERLAPPING #-}+ HasField "occlusionQueryPrecise" VkPhysicalDeviceFeatures where+ type FieldType "occlusionQueryPrecise" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "occlusionQueryPrecise" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "occlusionQueryPrecise" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}+ type FieldIsArray "occlusionQueryPrecise" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}++instance {-# OVERLAPPING #-}+ CanReadField "occlusionQueryPrecise" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}++instance {-# OVERLAPPING #-}+ CanWriteField "occlusionQueryPrecise" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, occlusionQueryPrecise}++instance {-# OVERLAPPING #-}+ HasField "pipelineStatisticsQuery" VkPhysicalDeviceFeatures where+ type FieldType "pipelineStatisticsQuery" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "pipelineStatisticsQuery"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineStatisticsQuery" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}+ type FieldIsArray "pipelineStatisticsQuery"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineStatisticsQuery" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineStatisticsQuery" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, pipelineStatisticsQuery}++instance {-# OVERLAPPING #-}+ HasField "vertexPipelineStoresAndAtomics" VkPhysicalDeviceFeatures+ where+ type FieldType "vertexPipelineStoresAndAtomics"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "vertexPipelineStoresAndAtomics"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "vertexPipelineStoresAndAtomics"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}+ type FieldIsArray "vertexPipelineStoresAndAtomics"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}++instance {-# OVERLAPPING #-}+ CanReadField "vertexPipelineStoresAndAtomics"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}++instance {-# OVERLAPPING #-}+ CanWriteField "vertexPipelineStoresAndAtomics"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, vertexPipelineStoresAndAtomics}++instance {-# OVERLAPPING #-}+ HasField "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures where+ type FieldType "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "fragmentStoresAndAtomics"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fragmentStoresAndAtomics"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}+ type FieldIsArray "fragmentStoresAndAtomics"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}++instance {-# OVERLAPPING #-}+ CanReadField "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}++instance {-# OVERLAPPING #-}+ CanWriteField "fragmentStoresAndAtomics" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, fragmentStoresAndAtomics}++instance {-# OVERLAPPING #-}+ HasField "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}+ type FieldIsArray "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}++instance {-# OVERLAPPING #-}+ CanReadField "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderTessellationAndGeometryPointSize"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderTessellationAndGeometryPointSize}++instance {-# OVERLAPPING #-}+ HasField "shaderImageGatherExtended" VkPhysicalDeviceFeatures where+ type FieldType "shaderImageGatherExtended" VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderImageGatherExtended"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderImageGatherExtended"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}+ type FieldIsArray "shaderImageGatherExtended"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}++instance {-# OVERLAPPING #-}+ CanReadField "shaderImageGatherExtended" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderImageGatherExtended" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderImageGatherExtended}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}+ type FieldIsArray "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageExtendedFormats"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageExtendedFormats}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageMultisample" VkPhysicalDeviceFeatures+ where+ type FieldType "shaderStorageImageMultisample"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderStorageImageMultisample"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageMultisample"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}+ type FieldIsArray "shaderStorageImageMultisample"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageMultisample"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageMultisample"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageMultisample}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}+ type FieldIsArray "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageReadWithoutFormat"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageReadWithoutFormat}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}+ type FieldIsArray "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageWriteWithoutFormat"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageWriteWithoutFormat}++instance {-# OVERLAPPING #-}+ HasField "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}+ type FieldIsArray "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderUniformBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderUniformBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}+ type FieldIsArray "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderSampledImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderSampledImageArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}+ type FieldIsArray "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageBufferArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageBufferArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ type FieldType "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}+ type FieldIsArray "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStorageImageArrayDynamicIndexing"+ VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderStorageImageArrayDynamicIndexing}++instance {-# OVERLAPPING #-}+ HasField "shaderClipDistance" VkPhysicalDeviceFeatures where+ type FieldType "shaderClipDistance" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "shaderClipDistance" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderClipDistance" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, shaderClipDistance}+ type FieldIsArray "shaderClipDistance" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderClipDistance}++instance {-# OVERLAPPING #-}+ CanReadField "shaderClipDistance" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderClipDistance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderClipDistance}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderClipDistance" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderClipDistance}++instance {-# OVERLAPPING #-}+ HasField "shaderCullDistance" VkPhysicalDeviceFeatures where+ type FieldType "shaderCullDistance" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "shaderCullDistance" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderCullDistance" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, shaderCullDistance}+ type FieldIsArray "shaderCullDistance" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderCullDistance}++instance {-# OVERLAPPING #-}+ CanReadField "shaderCullDistance" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderCullDistance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderCullDistance}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderCullDistance" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderCullDistance}++instance {-# OVERLAPPING #-}+ HasField "shaderFloat64" VkPhysicalDeviceFeatures where+ type FieldType "shaderFloat64" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "shaderFloat64" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderFloat64" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, shaderFloat64}+ type FieldIsArray "shaderFloat64" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderFloat64}++instance {-# OVERLAPPING #-}+ CanReadField "shaderFloat64" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderFloat64})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderFloat64}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderFloat64" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderFloat64}++instance {-# OVERLAPPING #-}+ HasField "shaderInt64" VkPhysicalDeviceFeatures where+ type FieldType "shaderInt64" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "shaderInt64" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderInt64" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, shaderInt64}+ type FieldIsArray "shaderInt64" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderInt64}++instance {-# OVERLAPPING #-}+ CanReadField "shaderInt64" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderInt64})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt64}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderInt64" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt64}++instance {-# OVERLAPPING #-}+ HasField "shaderInt16" VkPhysicalDeviceFeatures where+ type FieldType "shaderInt16" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "shaderInt16" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderInt16" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, shaderInt16}+ type FieldIsArray "shaderInt16" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderInt16}++instance {-# OVERLAPPING #-}+ CanReadField "shaderInt16" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderInt16})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt16}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderInt16" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderInt16}++instance {-# OVERLAPPING #-}+ HasField "shaderResourceResidency" VkPhysicalDeviceFeatures where+ type FieldType "shaderResourceResidency" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "shaderResourceResidency"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderResourceResidency" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}+ type FieldIsArray "shaderResourceResidency"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}++instance {-# OVERLAPPING #-}+ CanReadField "shaderResourceResidency" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderResourceResidency})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderResourceResidency" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceResidency}++instance {-# OVERLAPPING #-}+ HasField "shaderResourceMinLod" VkPhysicalDeviceFeatures where+ type FieldType "shaderResourceMinLod" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "shaderResourceMinLod" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderResourceMinLod" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}+ type FieldIsArray "shaderResourceMinLod" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}++instance {-# OVERLAPPING #-}+ CanReadField "shaderResourceMinLod" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderResourceMinLod" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, shaderResourceMinLod}++instance {-# OVERLAPPING #-}+ HasField "sparseBinding" VkPhysicalDeviceFeatures where+ type FieldType "sparseBinding" VkPhysicalDeviceFeatures = VkBool32+ type FieldOptional "sparseBinding" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseBinding" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, sparseBinding}+ type FieldIsArray "sparseBinding" VkPhysicalDeviceFeatures = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseBinding}++instance {-# OVERLAPPING #-}+ CanReadField "sparseBinding" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseBinding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseBinding}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseBinding" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseBinding}++instance {-# OVERLAPPING #-}+ HasField "sparseResidencyBuffer" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidencyBuffer" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidencyBuffer" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidencyBuffer" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}+ type FieldIsArray "sparseResidencyBuffer" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidencyBuffer" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidencyBuffer" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyBuffer}++instance {-# OVERLAPPING #-}+ HasField "sparseResidencyImage2D" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidencyImage2D" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidencyImage2D"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidencyImage2D" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}+ type FieldIsArray "sparseResidencyImage2D" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidencyImage2D" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidencyImage2D" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage2D}++instance {-# OVERLAPPING #-}+ HasField "sparseResidencyImage3D" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidencyImage3D" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidencyImage3D"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidencyImage3D" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}+ type FieldIsArray "sparseResidencyImage3D" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidencyImage3D" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidencyImage3D" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyImage3D}++instance {-# OVERLAPPING #-}+ HasField "sparseResidency2Samples" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidency2Samples" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidency2Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidency2Samples" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}+ type FieldIsArray "sparseResidency2Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidency2Samples" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidency2Samples" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency2Samples}++instance {-# OVERLAPPING #-}+ HasField "sparseResidency4Samples" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidency4Samples" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidency4Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidency4Samples" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}+ type FieldIsArray "sparseResidency4Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidency4Samples" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidency4Samples" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency4Samples}++instance {-# OVERLAPPING #-}+ HasField "sparseResidency8Samples" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidency8Samples" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidency8Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidency8Samples" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}+ type FieldIsArray "sparseResidency8Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidency8Samples" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidency8Samples" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency8Samples}++instance {-# OVERLAPPING #-}+ HasField "sparseResidency16Samples" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidency16Samples" VkPhysicalDeviceFeatures+ = VkBool32+ type FieldOptional "sparseResidency16Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidency16Samples"+ VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}+ type FieldIsArray "sparseResidency16Samples"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidency16Samples" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidency16Samples" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidency16Samples}++instance {-# OVERLAPPING #-}+ HasField "sparseResidencyAliased" VkPhysicalDeviceFeatures where+ type FieldType "sparseResidencyAliased" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "sparseResidencyAliased"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sparseResidencyAliased" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}+ type FieldIsArray "sparseResidencyAliased" VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}++instance {-# OVERLAPPING #-}+ CanReadField "sparseResidencyAliased" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}++instance {-# OVERLAPPING #-}+ CanWriteField "sparseResidencyAliased" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, sparseResidencyAliased}++instance {-# OVERLAPPING #-}+ HasField "variableMultisampleRate" VkPhysicalDeviceFeatures where+ type FieldType "variableMultisampleRate" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "variableMultisampleRate"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "variableMultisampleRate" VkPhysicalDeviceFeatures+ =+ #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}+ type FieldIsArray "variableMultisampleRate"+ VkPhysicalDeviceFeatures+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}++instance {-# OVERLAPPING #-}+ CanReadField "variableMultisampleRate" VkPhysicalDeviceFeatures+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, variableMultisampleRate})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}++instance {-# OVERLAPPING #-}+ CanWriteField "variableMultisampleRate" VkPhysicalDeviceFeatures+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, variableMultisampleRate}++instance {-# OVERLAPPING #-}+ HasField "inheritedQueries" VkPhysicalDeviceFeatures where+ type FieldType "inheritedQueries" VkPhysicalDeviceFeatures =+ VkBool32+ type FieldOptional "inheritedQueries" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "inheritedQueries" VkPhysicalDeviceFeatures =+ #{offset VkPhysicalDeviceFeatures, inheritedQueries}+ type FieldIsArray "inheritedQueries" VkPhysicalDeviceFeatures =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPhysicalDeviceFeatures, inheritedQueries}++instance {-# OVERLAPPING #-}+ CanReadField "inheritedQueries" VkPhysicalDeviceFeatures where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPhysicalDeviceFeatures, inheritedQueries})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPhysicalDeviceFeatures, inheritedQueries}++instance {-# OVERLAPPING #-}+ CanWriteField "inheritedQueries" VkPhysicalDeviceFeatures where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPhysicalDeviceFeatures, inheritedQueries}++instance Show VkPhysicalDeviceFeatures where+ showsPrec d x+ = showString "VkPhysicalDeviceFeatures {" .+ showString "robustBufferAccess = " .+ showsPrec d (getField @"robustBufferAccess" x) .+ showString ", " .+ showString "fullDrawIndexUint32 = " .+ showsPrec d (getField @"fullDrawIndexUint32" x) .+ showString ", " .+ showString "imageCubeArray = " .+ showsPrec d (getField @"imageCubeArray" x) .+ showString ", " .+ showString "independentBlend = " .+ showsPrec d (getField @"independentBlend" x) .+ showString ", " .+ showString "geometryShader = " .+ showsPrec d (getField @"geometryShader" x) .+ showString ", " .+ showString "tessellationShader = " .+ showsPrec d (getField @"tessellationShader" x) .+ showString ", " .+ showString "sampleRateShading = " .+ showsPrec d (getField @"sampleRateShading" x) .+ showString ", " .+ showString "dualSrcBlend = " .+ showsPrec d (getField @"dualSrcBlend" x) .+ showString ", " .+ showString "logicOp = " .+ showsPrec d (getField @"logicOp" x)+ .+ showString ", " .+ showString+ "multiDrawIndirect = "+ .+ showsPrec d+ (getField+ @"multiDrawIndirect"+ x)+ .+ showString ", " .+ showString+ "drawIndirectFirstInstance = "+ .+ showsPrec d+ (getField+ @"drawIndirectFirstInstance"+ x)+ .+ showString ", " .+ showString+ "depthClamp = "+ .+ showsPrec d+ (getField+ @"depthClamp"+ x)+ .+ showString ", "+ .+ showString+ "depthBiasClamp = "+ .+ showsPrec d+ (getField+ @"depthBiasClamp"+ x)+ .+ showString+ ", "+ .+ showString+ "fillModeNonSolid = "+ .+ showsPrec+ d+ (getField+ @"fillModeNonSolid"+ x)+ .+ showString+ ", "+ .+ showString+ "depthBounds = "+ .+ showsPrec+ d+ (getField+ @"depthBounds"+ x)+ .+ showString+ ", "+ .+ showString+ "wideLines = "+ .+ showsPrec+ d+ (getField+ @"wideLines"+ x)+ .+ showString+ ", "+ .+ showString+ "largePoints = "+ .+ showsPrec+ d+ (getField+ @"largePoints"+ x)+ .+ showString+ ", "+ .+ showString+ "alphaToOne = "+ .+ showsPrec+ d+ (getField+ @"alphaToOne"+ x)+ .+ showString+ ", "+ .+ showString+ "multiViewport = "+ .+ showsPrec+ d+ (getField+ @"multiViewport"+ x)+ .+ showString+ ", "+ .+ showString+ "samplerAnisotropy = "+ .+ showsPrec+ d+ (getField+ @"samplerAnisotropy"+ x)+ .+ showString+ ", "+ .+ showString+ "textureCompressionETC2 = "+ .+ showsPrec+ d+ (getField+ @"textureCompressionETC2"+ x)+ .+ showString+ ", "+ .+ showString+ "textureCompressionASTC_LDR = "+ .+ showsPrec+ d+ (getField+ @"textureCompressionASTC_LDR"+ x)+ .+ showString+ ", "+ .+ showString+ "textureCompressionBC = "+ .+ showsPrec+ d+ (getField+ @"textureCompressionBC"+ x)+ .+ showString+ ", "+ .+ showString+ "occlusionQueryPrecise = "+ .+ showsPrec+ d+ (getField+ @"occlusionQueryPrecise"+ x)+ .+ showString+ ", "+ .+ showString+ "pipelineStatisticsQuery = "+ .+ showsPrec+ d+ (getField+ @"pipelineStatisticsQuery"+ x)+ .+ showString+ ", "+ .+ showString+ "vertexPipelineStoresAndAtomics = "+ .+ showsPrec+ d+ (getField+ @"vertexPipelineStoresAndAtomics"+ x)+ .+ showString+ ", "+ .+ showString+ "fragmentStoresAndAtomics = "+ .+ showsPrec+ d+ (getField+ @"fragmentStoresAndAtomics"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderTessellationAndGeometryPointSize = "+ .+ showsPrec+ d+ (getField+ @"shaderTessellationAndGeometryPointSize"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderImageGatherExtended = "+ .+ showsPrec+ d+ (getField+ @"shaderImageGatherExtended"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderStorageImageExtendedFormats = "+ .+ showsPrec+ d+ (getField+ @"shaderStorageImageExtendedFormats"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderStorageImageMultisample = "+ .+ showsPrec+ d+ (getField+ @"shaderStorageImageMultisample"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderStorageImageReadWithoutFormat = "+ .+ showsPrec+ d+ (getField+ @"shaderStorageImageReadWithoutFormat"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderStorageImageWriteWithoutFormat = "+ .+ showsPrec+ d+ (getField+ @"shaderStorageImageWriteWithoutFormat"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderUniformBufferArrayDynamicIndexing = "+ .+ showsPrec+ d+ (getField+ @"shaderUniformBufferArrayDynamicIndexing"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderSampledImageArrayDynamicIndexing = "+ .+ showsPrec+ d+ (getField+ @"shaderSampledImageArrayDynamicIndexing"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderStorageBufferArrayDynamicIndexing = "+ .+ showsPrec+ d+ (getField+ @"shaderStorageBufferArrayDynamicIndexing"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderStorageImageArrayDynamicIndexing = "+ .+ showsPrec+ d+ (getField+ @"shaderStorageImageArrayDynamicIndexing"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderClipDistance = "+ .+ showsPrec+ d+ (getField+ @"shaderClipDistance"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderCullDistance = "+ .+ showsPrec+ d+ (getField+ @"shaderCullDistance"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderFloat64 = "+ .+ showsPrec+ d+ (getField+ @"shaderFloat64"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderInt64 = "+ .+ showsPrec+ d+ (getField+ @"shaderInt64"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderInt16 = "+ .+ showsPrec+ d+ (getField+ @"shaderInt16"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderResourceResidency = "+ .+ showsPrec+ d+ (getField+ @"shaderResourceResidency"+ x)+ .+ showString+ ", "+ .+ showString+ "shaderResourceMinLod = "+ .+ showsPrec+ d+ (getField+ @"shaderResourceMinLod"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseBinding = "+ .+ showsPrec+ d+ (getField+ @"sparseBinding"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidencyBuffer = "+ .+ showsPrec+ d+ (getField+ @"sparseResidencyBuffer"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidencyImage2D = "+ .+ showsPrec+ d+ (getField+ @"sparseResidencyImage2D"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidencyImage3D = "+ .+ showsPrec+ d+ (getField+ @"sparseResidencyImage3D"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidency2Samples = "+ .+ showsPrec+ d+ (getField+ @"sparseResidency2Samples"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidency4Samples = "+ .+ showsPrec+ d+ (getField+ @"sparseResidency4Samples"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidency8Samples = "+ .+ showsPrec+ d+ (getField+ @"sparseResidency8Samples"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidency16Samples = "+ .+ showsPrec+ d+ (getField+ @"sparseResidency16Samples"+ x)+ .+ showString+ ", "+ .+ showString+ "sparseResidencyAliased = "+ .+ showsPrec+ d+ (getField+ @"sparseResidencyAliased"+ x)+ .+ showString+ ", "+ .+ showString+ "variableMultisampleRate = "+ .+ showsPrec+ d+ (getField+ @"variableMultisampleRate"+ x)+ .+ showString+ ", "+ .+ showString+ "inheritedQueries = "+ .+ showsPrec+ d+ (getField+ @"inheritedQueries"+ x)+ .+ showChar+ '}'
@@ -0,0 +1,9402 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.Pipeline+ (VkGraphicsPipelineCreateInfo(..), VkPipelineCacheCreateInfo(..),+ VkPipelineColorBlendAdvancedStateCreateInfoEXT(..),+ VkPipelineColorBlendAttachmentState(..),+ VkPipelineColorBlendStateCreateInfo(..),+ VkPipelineCoverageModulationStateCreateInfoNV(..),+ VkPipelineCoverageToColorStateCreateInfoNV(..),+ VkPipelineDepthStencilStateCreateInfo(..),+ VkPipelineDiscardRectangleStateCreateInfoEXT(..),+ VkPipelineDynamicStateCreateInfo(..),+ VkPipelineInputAssemblyStateCreateInfo(..),+ VkPipelineLayoutCreateInfo(..),+ VkPipelineMultisampleStateCreateInfo(..),+ VkPipelineRasterizationConservativeStateCreateInfoEXT(..),+ VkPipelineRasterizationStateCreateInfo(..),+ VkPipelineRasterizationStateRasterizationOrderAMD(..),+ VkPipelineSampleLocationsStateCreateInfoEXT(..),+ VkPipelineShaderStageCreateInfo(..),+ VkPipelineTessellationDomainOriginStateCreateInfo(..),+ VkPipelineTessellationDomainOriginStateCreateInfoKHR,+ VkPipelineTessellationStateCreateInfo(..),+ VkPipelineVertexInputDivisorStateCreateInfoEXT(..),+ VkPipelineVertexInputStateCreateInfo(..),+ VkPipelineViewportStateCreateInfo(..),+ VkPipelineViewportSwizzleStateCreateInfoNV(..),+ VkPipelineViewportWScalingStateCreateInfoNV(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##,+ proxy##)+import GHC.TypeLits (KnownNat,+ natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32,+ VkSampleMask)+import Graphics.Vulkan.Types.Bitmasks (VkPipelineCacheCreateFlags,+ VkPipelineColorBlendStateCreateFlags,+ VkPipelineCoverageModulationStateCreateFlagsNV,+ VkPipelineCoverageToColorStateCreateFlagsNV,+ VkPipelineDepthStencilStateCreateFlags,+ VkPipelineDiscardRectangleStateCreateFlagsEXT,+ VkPipelineDynamicStateCreateFlags,+ VkPipelineInputAssemblyStateCreateFlags,+ VkPipelineLayoutCreateFlags,+ VkPipelineMultisampleStateCreateFlags,+ VkPipelineRasterizationConservativeStateCreateFlagsEXT,+ VkPipelineRasterizationStateCreateFlags,+ VkPipelineShaderStageCreateFlags,+ VkPipelineTessellationStateCreateFlags,+ VkPipelineVertexInputStateCreateFlags,+ VkPipelineViewportStateCreateFlags,+ VkPipelineViewportSwizzleStateCreateFlagsNV)+import Graphics.Vulkan.Types.Enum.Blend (VkBlendFactor,+ VkBlendOp,+ VkBlendOverlapEXT)+import Graphics.Vulkan.Types.Enum.Color (VkColorComponentFlags)+import Graphics.Vulkan.Types.Enum.CompareOp (VkCompareOp)+import Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT (VkConservativeRasterizationModeEXT)+import Graphics.Vulkan.Types.Enum.CoverageModulationModeNV (VkCoverageModulationModeNV)+import Graphics.Vulkan.Types.Enum.CullModeFlags (VkCullModeFlags)+import Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT (VkDiscardRectangleModeEXT)+import Graphics.Vulkan.Types.Enum.DynamicState (VkDynamicState)+import Graphics.Vulkan.Types.Enum.FrontFace (VkFrontFace)+import Graphics.Vulkan.Types.Enum.LogicOp (VkLogicOp)+import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineCreateFlags)+import Graphics.Vulkan.Types.Enum.PolygonMode (VkPolygonMode)+import Graphics.Vulkan.Types.Enum.PrimitiveTopology (VkPrimitiveTopology)+import Graphics.Vulkan.Types.Enum.RasterizationOrderAMD (VkRasterizationOrderAMD)+import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits)+import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlagBits)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.TessellationDomainOrigin (VkTessellationDomainOrigin)+import Graphics.Vulkan.Types.Handles (VkDescriptorSetLayout,+ VkPipeline,+ VkPipelineLayout,+ VkRenderPass,+ VkShaderModule)+import Graphics.Vulkan.Types.Struct.PushConstantRange (VkPushConstantRange)+import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)+import Graphics.Vulkan.Types.Struct.SampleLocation (VkSampleLocationsInfoEXT)+import Graphics.Vulkan.Types.Struct.Specialization (VkSpecializationInfo)+import Graphics.Vulkan.Types.Struct.StencilOpState (VkStencilOpState)+import Graphics.Vulkan.Types.Struct.VertexInput (VkVertexInputAttributeDescription,+ VkVertexInputBindingDescription,+ VkVertexInputBindingDivisorDescriptionEXT)+import Graphics.Vulkan.Types.Struct.Viewport (VkViewport,+ VkViewportSwizzleNV,+ VkViewportWScalingNV)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkGraphicsPipelineCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineCreateFlags flags;+-- > uint32_t stageCount;+-- > const VkPipelineShaderStageCreateInfo* pStages;+-- > const VkPipelineVertexInputStateCreateInfo* pVertexInputState;+-- > const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;+-- > const VkPipelineTessellationStateCreateInfo* pTessellationState;+-- > const VkPipelineViewportStateCreateInfo* pViewportState;+-- > const VkPipelineRasterizationStateCreateInfo* pRasterizationState;+-- > const VkPipelineMultisampleStateCreateInfo* pMultisampleState;+-- > const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;+-- > const VkPipelineColorBlendStateCreateInfo* pColorBlendState;+-- > const VkPipelineDynamicStateCreateInfo* pDynamicState;+-- > VkPipelineLayout layout;+-- > VkRenderPass renderPass;+-- > uint32_t subpass;+-- > VkPipeline basePipelineHandle;+-- > int32_t basePipelineIndex;+-- > } VkGraphicsPipelineCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo registry at www.khronos.org>+data VkGraphicsPipelineCreateInfo = VkGraphicsPipelineCreateInfo## Addr##+ ByteArray##++instance Eq VkGraphicsPipelineCreateInfo where+ (VkGraphicsPipelineCreateInfo## a _) ==+ x@(VkGraphicsPipelineCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkGraphicsPipelineCreateInfo where+ (VkGraphicsPipelineCreateInfo## a _) `compare`+ x@(VkGraphicsPipelineCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkGraphicsPipelineCreateInfo where+ sizeOf ~_ = #{size VkGraphicsPipelineCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkGraphicsPipelineCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkGraphicsPipelineCreateInfo where+ unsafeAddr (VkGraphicsPipelineCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkGraphicsPipelineCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkGraphicsPipelineCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkGraphicsPipelineCreateInfo where+ type StructFields VkGraphicsPipelineCreateInfo =+ '["sType", "pNext", "flags", "stageCount", "pStages", -- ' closing tick for hsc2hs+ "pVertexInputState", "pInputAssemblyState", "pTessellationState",+ "pViewportState", "pRasterizationState", "pMultisampleState",+ "pDepthStencilState", "pColorBlendState", "pDynamicState",+ "layout", "renderPass", "subpass", "basePipelineHandle",+ "basePipelineIndex"]+ type CUnionType VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkGraphicsPipelineCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkGraphicsPipelineCreateInfo where+ type FieldType "sType" VkGraphicsPipelineCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, sType}+ type FieldIsArray "sType" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkGraphicsPipelineCreateInfo where+ type FieldType "pNext" VkGraphicsPipelineCreateInfo = Ptr Void+ type FieldOptional "pNext" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pNext}+ type FieldIsArray "pNext" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkGraphicsPipelineCreateInfo where+ type FieldType "flags" VkGraphicsPipelineCreateInfo =+ VkPipelineCreateFlags+ type FieldOptional "flags" VkGraphicsPipelineCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, flags}+ type FieldIsArray "flags" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "stageCount" VkGraphicsPipelineCreateInfo where+ type FieldType "stageCount" VkGraphicsPipelineCreateInfo = Word32+ type FieldOptional "stageCount" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "stageCount" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, stageCount}+ type FieldIsArray "stageCount" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, stageCount}++instance {-# OVERLAPPING #-}+ CanReadField "stageCount" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, stageCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, stageCount}++instance {-# OVERLAPPING #-}+ CanWriteField "stageCount" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, stageCount}++instance {-# OVERLAPPING #-}+ HasField "pStages" VkGraphicsPipelineCreateInfo where+ type FieldType "pStages" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineShaderStageCreateInfo+ type FieldOptional "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pStages" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pStages}+ type FieldIsArray "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pStages}++instance {-# OVERLAPPING #-}+ CanReadField "pStages" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pStages})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pStages}++instance {-# OVERLAPPING #-}+ CanWriteField "pStages" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pStages}++instance {-# OVERLAPPING #-}+ HasField "pVertexInputState" VkGraphicsPipelineCreateInfo where+ type FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineVertexInputStateCreateInfo+ type FieldOptional "pVertexInputState" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pVertexInputState" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}+ type FieldIsArray "pVertexInputState" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++instance {-# OVERLAPPING #-}+ CanReadField "pVertexInputState" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pVertexInputState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++instance {-# OVERLAPPING #-}+ CanWriteField "pVertexInputState" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pVertexInputState}++instance {-# OVERLAPPING #-}+ HasField "pInputAssemblyState" VkGraphicsPipelineCreateInfo where+ type FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineInputAssemblyStateCreateInfo+ type FieldOptional "pInputAssemblyState"+ VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pInputAssemblyState" VkGraphicsPipelineCreateInfo+ =+ #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}+ type FieldIsArray "pInputAssemblyState"+ VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++instance {-# OVERLAPPING #-}+ CanReadField "pInputAssemblyState" VkGraphicsPipelineCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++instance {-# OVERLAPPING #-}+ CanWriteField "pInputAssemblyState" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pInputAssemblyState}++instance {-# OVERLAPPING #-}+ HasField "pTessellationState" VkGraphicsPipelineCreateInfo where+ type FieldType "pTessellationState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineTessellationStateCreateInfo+ type FieldOptional "pTessellationState"+ VkGraphicsPipelineCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pTessellationState" VkGraphicsPipelineCreateInfo+ =+ #{offset VkGraphicsPipelineCreateInfo, pTessellationState}+ type FieldIsArray "pTessellationState" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++instance {-# OVERLAPPING #-}+ CanReadField "pTessellationState" VkGraphicsPipelineCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pTessellationState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++instance {-# OVERLAPPING #-}+ CanWriteField "pTessellationState" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pTessellationState}++instance {-# OVERLAPPING #-}+ HasField "pViewportState" VkGraphicsPipelineCreateInfo where+ type FieldType "pViewportState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineViewportStateCreateInfo+ type FieldOptional "pViewportState" VkGraphicsPipelineCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pViewportState" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pViewportState}+ type FieldIsArray "pViewportState" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pViewportState}++instance {-# OVERLAPPING #-}+ CanReadField "pViewportState" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pViewportState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pViewportState}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewportState" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pViewportState}++instance {-# OVERLAPPING #-}+ HasField "pRasterizationState" VkGraphicsPipelineCreateInfo where+ type FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineRasterizationStateCreateInfo+ type FieldOptional "pRasterizationState"+ VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pRasterizationState" VkGraphicsPipelineCreateInfo+ =+ #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}+ type FieldIsArray "pRasterizationState"+ VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++instance {-# OVERLAPPING #-}+ CanReadField "pRasterizationState" VkGraphicsPipelineCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pRasterizationState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++instance {-# OVERLAPPING #-}+ CanWriteField "pRasterizationState" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pRasterizationState}++instance {-# OVERLAPPING #-}+ HasField "pMultisampleState" VkGraphicsPipelineCreateInfo where+ type FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineMultisampleStateCreateInfo+ type FieldOptional "pMultisampleState" VkGraphicsPipelineCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pMultisampleState" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}+ type FieldIsArray "pMultisampleState" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++instance {-# OVERLAPPING #-}+ CanReadField "pMultisampleState" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pMultisampleState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++instance {-# OVERLAPPING #-}+ CanWriteField "pMultisampleState" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pMultisampleState}++instance {-# OVERLAPPING #-}+ HasField "pDepthStencilState" VkGraphicsPipelineCreateInfo where+ type FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineDepthStencilStateCreateInfo+ type FieldOptional "pDepthStencilState"+ VkGraphicsPipelineCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pDepthStencilState" VkGraphicsPipelineCreateInfo+ =+ #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}+ type FieldIsArray "pDepthStencilState" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++instance {-# OVERLAPPING #-}+ CanReadField "pDepthStencilState" VkGraphicsPipelineCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++instance {-# OVERLAPPING #-}+ CanWriteField "pDepthStencilState" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pDepthStencilState}++instance {-# OVERLAPPING #-}+ HasField "pColorBlendState" VkGraphicsPipelineCreateInfo where+ type FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineColorBlendStateCreateInfo+ type FieldOptional "pColorBlendState" VkGraphicsPipelineCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pColorBlendState" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}+ type FieldIsArray "pColorBlendState" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++instance {-# OVERLAPPING #-}+ CanReadField "pColorBlendState" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pColorBlendState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++instance {-# OVERLAPPING #-}+ CanWriteField "pColorBlendState" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pColorBlendState}++instance {-# OVERLAPPING #-}+ HasField "pDynamicState" VkGraphicsPipelineCreateInfo where+ type FieldType "pDynamicState" VkGraphicsPipelineCreateInfo =+ Ptr VkPipelineDynamicStateCreateInfo+ type FieldOptional "pDynamicState" VkGraphicsPipelineCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pDynamicState" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, pDynamicState}+ type FieldIsArray "pDynamicState" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++instance {-# OVERLAPPING #-}+ CanReadField "pDynamicState" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, pDynamicState})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++instance {-# OVERLAPPING #-}+ CanWriteField "pDynamicState" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, pDynamicState}++instance {-# OVERLAPPING #-}+ HasField "layout" VkGraphicsPipelineCreateInfo where+ type FieldType "layout" VkGraphicsPipelineCreateInfo =+ VkPipelineLayout+ type FieldOptional "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layout" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, layout}+ type FieldIsArray "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+ CanReadField "layout" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, layout})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+ CanWriteField "layout" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, layout}++instance {-# OVERLAPPING #-}+ HasField "renderPass" VkGraphicsPipelineCreateInfo where+ type FieldType "renderPass" VkGraphicsPipelineCreateInfo =+ VkRenderPass+ type FieldOptional "renderPass" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "renderPass" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, renderPass}+ type FieldIsArray "renderPass" VkGraphicsPipelineCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanReadField "renderPass" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, renderPass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanWriteField "renderPass" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, renderPass}++instance {-# OVERLAPPING #-}+ HasField "subpass" VkGraphicsPipelineCreateInfo where+ type FieldType "subpass" VkGraphicsPipelineCreateInfo = Word32+ type FieldOptional "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subpass" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, subpass}+ type FieldIsArray "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, subpass}++instance {-# OVERLAPPING #-}+ CanReadField "subpass" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, subpass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, subpass}++instance {-# OVERLAPPING #-}+ CanWriteField "subpass" VkGraphicsPipelineCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, subpass}++instance {-# OVERLAPPING #-}+ HasField "basePipelineHandle" VkGraphicsPipelineCreateInfo where+ type FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo =+ VkPipeline+ type FieldOptional "basePipelineHandle"+ VkGraphicsPipelineCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "basePipelineHandle" VkGraphicsPipelineCreateInfo+ =+ #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}+ type FieldIsArray "basePipelineHandle" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+ CanReadField "basePipelineHandle" VkGraphicsPipelineCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+ CanWriteField "basePipelineHandle" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineHandle}++instance {-# OVERLAPPING #-}+ HasField "basePipelineIndex" VkGraphicsPipelineCreateInfo where+ type FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo =+ Int32+ type FieldOptional "basePipelineIndex" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "basePipelineIndex" VkGraphicsPipelineCreateInfo =+ #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}+ type FieldIsArray "basePipelineIndex" VkGraphicsPipelineCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++instance {-# OVERLAPPING #-}+ CanReadField "basePipelineIndex" VkGraphicsPipelineCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "basePipelineIndex" VkGraphicsPipelineCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkGraphicsPipelineCreateInfo, basePipelineIndex}++instance Show VkGraphicsPipelineCreateInfo where+ showsPrec d x+ = showString "VkGraphicsPipelineCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "stageCount = " .+ showsPrec d (getField @"stageCount" x) .+ showString ", " .+ showString "pStages = " .+ showsPrec d (getField @"pStages" x) .+ showString ", " .+ showString "pVertexInputState = " .+ showsPrec d (getField @"pVertexInputState" x) .+ showString ", " .+ showString "pInputAssemblyState = " .+ showsPrec d (getField @"pInputAssemblyState" x)+ .+ showString ", " .+ showString "pTessellationState = " .+ showsPrec d+ (getField @"pTessellationState" x)+ .+ showString ", " .+ showString "pViewportState = " .+ showsPrec d+ (getField @"pViewportState" x)+ .+ showString ", " .+ showString+ "pRasterizationState = "+ .+ showsPrec d+ (getField+ @"pRasterizationState"+ x)+ .+ showString ", " .+ showString+ "pMultisampleState = "+ .+ showsPrec d+ (getField+ @"pMultisampleState"+ x)+ .+ showString ", " .+ showString+ "pDepthStencilState = "+ .+ showsPrec d+ (getField+ @"pDepthStencilState"+ x)+ .+ showString ", "+ .+ showString+ "pColorBlendState = "+ .+ showsPrec d+ (getField+ @"pColorBlendState"+ x)+ .+ showString+ ", "+ .+ showString+ "pDynamicState = "+ .+ showsPrec+ d+ (getField+ @"pDynamicState"+ x)+ .+ showString+ ", "+ .+ showString+ "layout = "+ .+ showsPrec+ d+ (getField+ @"layout"+ x)+ .+ showString+ ", "+ .+ showString+ "renderPass = "+ .+ showsPrec+ d+ (getField+ @"renderPass"+ x)+ .+ showString+ ", "+ .+ showString+ "subpass = "+ .+ showsPrec+ d+ (getField+ @"subpass"+ x)+ .+ showString+ ", "+ .+ showString+ "basePipelineHandle = "+ .+ showsPrec+ d+ (getField+ @"basePipelineHandle"+ x)+ .+ showString+ ", "+ .+ showString+ "basePipelineIndex = "+ .+ showsPrec+ d+ (getField+ @"basePipelineIndex"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkPipelineCacheCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineCacheCreateFlags flags;+-- > size_t initialDataSize;+-- > const void* pInitialData;+-- > } VkPipelineCacheCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo registry at www.khronos.org>+data VkPipelineCacheCreateInfo = VkPipelineCacheCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineCacheCreateInfo where+ (VkPipelineCacheCreateInfo## a _) ==+ x@(VkPipelineCacheCreateInfo## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineCacheCreateInfo where+ (VkPipelineCacheCreateInfo## a _) `compare`+ x@(VkPipelineCacheCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineCacheCreateInfo where+ sizeOf ~_ = #{size VkPipelineCacheCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPipelineCacheCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineCacheCreateInfo where+ unsafeAddr (VkPipelineCacheCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineCacheCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineCacheCreateInfo## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineCacheCreateInfo where+ type StructFields VkPipelineCacheCreateInfo =+ '["sType", "pNext", "flags", "initialDataSize", "pInitialData"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineCacheCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineCacheCreateInfo where+ type FieldType "sType" VkPipelineCacheCreateInfo = VkStructureType+ type FieldOptional "sType" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineCacheCreateInfo =+ #{offset VkPipelineCacheCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCacheCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineCacheCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCacheCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineCacheCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCacheCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineCacheCreateInfo where+ type FieldType "pNext" VkPipelineCacheCreateInfo = Ptr Void+ type FieldOptional "pNext" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineCacheCreateInfo =+ #{offset VkPipelineCacheCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCacheCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineCacheCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCacheCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineCacheCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCacheCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineCacheCreateInfo where+ type FieldType "flags" VkPipelineCacheCreateInfo =+ VkPipelineCacheCreateFlags+ type FieldOptional "flags" VkPipelineCacheCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineCacheCreateInfo =+ #{offset VkPipelineCacheCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCacheCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineCacheCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCacheCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineCacheCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCacheCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "initialDataSize" VkPipelineCacheCreateInfo where+ type FieldType "initialDataSize" VkPipelineCacheCreateInfo = CSize+ type FieldOptional "initialDataSize" VkPipelineCacheCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "initialDataSize" VkPipelineCacheCreateInfo =+ #{offset VkPipelineCacheCreateInfo, initialDataSize}+ type FieldIsArray "initialDataSize" VkPipelineCacheCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCacheCreateInfo, initialDataSize}++instance {-# OVERLAPPING #-}+ CanReadField "initialDataSize" VkPipelineCacheCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, initialDataSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCacheCreateInfo, initialDataSize}++instance {-# OVERLAPPING #-}+ CanWriteField "initialDataSize" VkPipelineCacheCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCacheCreateInfo, initialDataSize}++instance {-# OVERLAPPING #-}+ HasField "pInitialData" VkPipelineCacheCreateInfo where+ type FieldType "pInitialData" VkPipelineCacheCreateInfo = Ptr Void+ type FieldOptional "pInitialData" VkPipelineCacheCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pInitialData" VkPipelineCacheCreateInfo =+ #{offset VkPipelineCacheCreateInfo, pInitialData}+ type FieldIsArray "pInitialData" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCacheCreateInfo, pInitialData}++instance {-# OVERLAPPING #-}+ CanReadField "pInitialData" VkPipelineCacheCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCacheCreateInfo, pInitialData})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCacheCreateInfo, pInitialData}++instance {-# OVERLAPPING #-}+ CanWriteField "pInitialData" VkPipelineCacheCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCacheCreateInfo, pInitialData}++instance Show VkPipelineCacheCreateInfo where+ showsPrec d x+ = showString "VkPipelineCacheCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "initialDataSize = " .+ showsPrec d (getField @"initialDataSize" x) .+ showString ", " .+ showString "pInitialData = " .+ showsPrec d (getField @"pInitialData" x) . showChar '}'++-- | > typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 srcPremultiplied;+-- > VkBool32 dstPremultiplied;+-- > VkBlendOverlapEXT blendOverlap;+-- > } VkPipelineColorBlendAdvancedStateCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at www.khronos.org>+data VkPipelineColorBlendAdvancedStateCreateInfoEXT = VkPipelineColorBlendAdvancedStateCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkPipelineColorBlendAdvancedStateCreateInfoEXT where+ (VkPipelineColorBlendAdvancedStateCreateInfoEXT## a _) ==+ x@(VkPipelineColorBlendAdvancedStateCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineColorBlendAdvancedStateCreateInfoEXT where+ (VkPipelineColorBlendAdvancedStateCreateInfoEXT## a _) `compare`+ x@(VkPipelineColorBlendAdvancedStateCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ sizeOf ~_+ = #{size VkPipelineColorBlendAdvancedStateCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineColorBlendAdvancedStateCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ unsafeAddr (VkPipelineColorBlendAdvancedStateCreateInfoEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPipelineColorBlendAdvancedStateCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineColorBlendAdvancedStateCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ type StructFields VkPipelineColorBlendAdvancedStateCreateInfoEXT =+ '["sType", "pNext", "srcPremultiplied", "dstPremultiplied", -- ' closing tick for hsc2hs+ "blendOverlap"]+ type CUnionType VkPipelineColorBlendAdvancedStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineColorBlendAdvancedStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineColorBlendAdvancedStateCreateInfoEXT =+ '[VkPipelineColorBlendStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ type FieldType "sType"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ =+ #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ type FieldType "pNext"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ =+ #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ type FieldType "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = VkBool32+ type FieldOptional "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ =+ #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}+ type FieldIsArray "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}++instance {-# OVERLAPPING #-}+ CanReadField "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}++instance {-# OVERLAPPING #-}+ CanWriteField "srcPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, srcPremultiplied}++instance {-# OVERLAPPING #-}+ HasField "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ type FieldType "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = VkBool32+ type FieldOptional "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ =+ #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}+ type FieldIsArray "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}++instance {-# OVERLAPPING #-}+ CanReadField "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}++instance {-# OVERLAPPING #-}+ CanWriteField "dstPremultiplied"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, dstPremultiplied}++instance {-# OVERLAPPING #-}+ HasField "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ type FieldType "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = VkBlendOverlapEXT+ type FieldOptional "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ =+ #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}+ type FieldIsArray "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}++instance {-# OVERLAPPING #-}+ CanReadField "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}++instance {-# OVERLAPPING #-}+ CanWriteField "blendOverlap"+ VkPipelineColorBlendAdvancedStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAdvancedStateCreateInfoEXT, blendOverlap}++instance Show VkPipelineColorBlendAdvancedStateCreateInfoEXT where+ showsPrec d x+ = showString "VkPipelineColorBlendAdvancedStateCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "srcPremultiplied = " .+ showsPrec d (getField @"srcPremultiplied" x) .+ showString ", " .+ showString "dstPremultiplied = " .+ showsPrec d (getField @"dstPremultiplied" x) .+ showString ", " .+ showString "blendOverlap = " .+ showsPrec d (getField @"blendOverlap" x) . showChar '}'++-- | > typedef struct VkPipelineColorBlendAttachmentState {+-- > VkBool32 blendEnable;+-- > VkBlendFactor srcColorBlendFactor;+-- > VkBlendFactor dstColorBlendFactor;+-- > VkBlendOp colorBlendOp;+-- > VkBlendFactor srcAlphaBlendFactor;+-- > VkBlendFactor dstAlphaBlendFactor;+-- > VkBlendOp alphaBlendOp;+-- > VkColorComponentFlags colorWriteMask;+-- > } VkPipelineColorBlendAttachmentState;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState registry at www.khronos.org>+data VkPipelineColorBlendAttachmentState = VkPipelineColorBlendAttachmentState## Addr##+ ByteArray##++instance Eq VkPipelineColorBlendAttachmentState where+ (VkPipelineColorBlendAttachmentState## a _) ==+ x@(VkPipelineColorBlendAttachmentState## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineColorBlendAttachmentState where+ (VkPipelineColorBlendAttachmentState## a _) `compare`+ x@(VkPipelineColorBlendAttachmentState## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineColorBlendAttachmentState where+ sizeOf ~_ = #{size VkPipelineColorBlendAttachmentState}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineColorBlendAttachmentState}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineColorBlendAttachmentState+ where+ unsafeAddr (VkPipelineColorBlendAttachmentState## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineColorBlendAttachmentState## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineColorBlendAttachmentState##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineColorBlendAttachmentState where+ type StructFields VkPipelineColorBlendAttachmentState =+ '["blendEnable", "srcColorBlendFactor", "dstColorBlendFactor", -- ' closing tick for hsc2hs+ "colorBlendOp", "srcAlphaBlendFactor", "dstAlphaBlendFactor",+ "alphaBlendOp", "colorWriteMask"]+ type CUnionType VkPipelineColorBlendAttachmentState = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineColorBlendAttachmentState = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineColorBlendAttachmentState = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "blendEnable" VkPipelineColorBlendAttachmentState where+ type FieldType "blendEnable" VkPipelineColorBlendAttachmentState =+ VkBool32+ type FieldOptional "blendEnable"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "blendEnable" VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, blendEnable}+ type FieldIsArray "blendEnable" VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, blendEnable}++instance {-# OVERLAPPING #-}+ CanReadField "blendEnable" VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, blendEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, blendEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "blendEnable" VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, blendEnable}++instance {-# OVERLAPPING #-}+ HasField "srcColorBlendFactor" VkPipelineColorBlendAttachmentState+ where+ type FieldType "srcColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ = VkBlendFactor+ type FieldOptional "srcColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}+ type FieldIsArray "srcColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}++instance {-# OVERLAPPING #-}+ CanReadField "srcColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}++instance {-# OVERLAPPING #-}+ CanWriteField "srcColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, srcColorBlendFactor}++instance {-# OVERLAPPING #-}+ HasField "dstColorBlendFactor" VkPipelineColorBlendAttachmentState+ where+ type FieldType "dstColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ = VkBlendFactor+ type FieldOptional "dstColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}+ type FieldIsArray "dstColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}++instance {-# OVERLAPPING #-}+ CanReadField "dstColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}++instance {-# OVERLAPPING #-}+ CanWriteField "dstColorBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, dstColorBlendFactor}++instance {-# OVERLAPPING #-}+ HasField "colorBlendOp" VkPipelineColorBlendAttachmentState where+ type FieldType "colorBlendOp" VkPipelineColorBlendAttachmentState =+ VkBlendOp+ type FieldOptional "colorBlendOp"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "colorBlendOp" VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}+ type FieldIsArray "colorBlendOp"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}++instance {-# OVERLAPPING #-}+ CanReadField "colorBlendOp" VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, colorBlendOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}++instance {-# OVERLAPPING #-}+ CanWriteField "colorBlendOp" VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, colorBlendOp}++instance {-# OVERLAPPING #-}+ HasField "srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState+ where+ type FieldType "srcAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ = VkBlendFactor+ type FieldOptional "srcAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}+ type FieldIsArray "srcAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}++instance {-# OVERLAPPING #-}+ CanReadField "srcAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}++instance {-# OVERLAPPING #-}+ CanWriteField "srcAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, srcAlphaBlendFactor}++instance {-# OVERLAPPING #-}+ HasField "dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState+ where+ type FieldType "dstAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ = VkBlendFactor+ type FieldOptional "dstAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}+ type FieldIsArray "dstAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}++instance {-# OVERLAPPING #-}+ CanReadField "dstAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}++instance {-# OVERLAPPING #-}+ CanWriteField "dstAlphaBlendFactor"+ VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, dstAlphaBlendFactor}++instance {-# OVERLAPPING #-}+ HasField "alphaBlendOp" VkPipelineColorBlendAttachmentState where+ type FieldType "alphaBlendOp" VkPipelineColorBlendAttachmentState =+ VkBlendOp+ type FieldOptional "alphaBlendOp"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "alphaBlendOp" VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}+ type FieldIsArray "alphaBlendOp"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}++instance {-# OVERLAPPING #-}+ CanReadField "alphaBlendOp" VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}++instance {-# OVERLAPPING #-}+ CanWriteField "alphaBlendOp" VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, alphaBlendOp}++instance {-# OVERLAPPING #-}+ HasField "colorWriteMask" VkPipelineColorBlendAttachmentState where+ type FieldType "colorWriteMask" VkPipelineColorBlendAttachmentState+ = VkColorComponentFlags+ type FieldOptional "colorWriteMask"+ VkPipelineColorBlendAttachmentState+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "colorWriteMask"+ VkPipelineColorBlendAttachmentState+ =+ #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}+ type FieldIsArray "colorWriteMask"+ VkPipelineColorBlendAttachmentState+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}++instance {-# OVERLAPPING #-}+ CanReadField "colorWriteMask" VkPipelineColorBlendAttachmentState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendAttachmentState, colorWriteMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}++instance {-# OVERLAPPING #-}+ CanWriteField "colorWriteMask" VkPipelineColorBlendAttachmentState+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendAttachmentState, colorWriteMask}++instance Show VkPipelineColorBlendAttachmentState where+ showsPrec d x+ = showString "VkPipelineColorBlendAttachmentState {" .+ showString "blendEnable = " .+ showsPrec d (getField @"blendEnable" x) .+ showString ", " .+ showString "srcColorBlendFactor = " .+ showsPrec d (getField @"srcColorBlendFactor" x) .+ showString ", " .+ showString "dstColorBlendFactor = " .+ showsPrec d (getField @"dstColorBlendFactor" x) .+ showString ", " .+ showString "colorBlendOp = " .+ showsPrec d (getField @"colorBlendOp" x) .+ showString ", " .+ showString "srcAlphaBlendFactor = " .+ showsPrec d (getField @"srcAlphaBlendFactor" x) .+ showString ", " .+ showString "dstAlphaBlendFactor = " .+ showsPrec d (getField @"dstAlphaBlendFactor" x) .+ showString ", " .+ showString "alphaBlendOp = " .+ showsPrec d (getField @"alphaBlendOp" x) .+ showString ", " .+ showString "colorWriteMask = " .+ showsPrec d (getField @"colorWriteMask" x)+ . showChar '}'++-- | > typedef struct VkPipelineColorBlendStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineColorBlendStateCreateFlags flags;+-- > VkBool32 logicOpEnable;+-- > VkLogicOp logicOp;+-- > uint32_t attachmentCount;+-- > const VkPipelineColorBlendAttachmentState* pAttachments;+-- > float blendConstants[4];+-- > } VkPipelineColorBlendStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo registry at www.khronos.org>+data VkPipelineColorBlendStateCreateInfo = VkPipelineColorBlendStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineColorBlendStateCreateInfo where+ (VkPipelineColorBlendStateCreateInfo## a _) ==+ x@(VkPipelineColorBlendStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineColorBlendStateCreateInfo where+ (VkPipelineColorBlendStateCreateInfo## a _) `compare`+ x@(VkPipelineColorBlendStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineColorBlendStateCreateInfo where+ sizeOf ~_ = #{size VkPipelineColorBlendStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineColorBlendStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineColorBlendStateCreateInfo+ where+ unsafeAddr (VkPipelineColorBlendStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineColorBlendStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineColorBlendStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineColorBlendStateCreateInfo where+ type StructFields VkPipelineColorBlendStateCreateInfo =+ '["sType", "pNext", "flags", "logicOpEnable", "logicOp", -- ' closing tick for hsc2hs+ "attachmentCount", "pAttachments", "blendConstants"]+ type CUnionType VkPipelineColorBlendStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineColorBlendStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineColorBlendStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineColorBlendStateCreateInfo where+ type FieldType "sType" VkPipelineColorBlendStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineColorBlendStateCreateInfo =+ #{offset VkPipelineColorBlendStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineColorBlendStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineColorBlendStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineColorBlendStateCreateInfo where+ type FieldType "pNext" VkPipelineColorBlendStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineColorBlendStateCreateInfo =+ #{offset VkPipelineColorBlendStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineColorBlendStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineColorBlendStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineColorBlendStateCreateInfo where+ type FieldType "flags" VkPipelineColorBlendStateCreateInfo =+ VkPipelineColorBlendStateCreateFlags+ type FieldOptional "flags" VkPipelineColorBlendStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineColorBlendStateCreateInfo =+ #{offset VkPipelineColorBlendStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineColorBlendStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineColorBlendStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "logicOpEnable" VkPipelineColorBlendStateCreateInfo where+ type FieldType "logicOpEnable" VkPipelineColorBlendStateCreateInfo+ = VkBool32+ type FieldOptional "logicOpEnable"+ VkPipelineColorBlendStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "logicOpEnable"+ VkPipelineColorBlendStateCreateInfo+ =+ #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}+ type FieldIsArray "logicOpEnable"+ VkPipelineColorBlendStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}++instance {-# OVERLAPPING #-}+ CanReadField "logicOpEnable" VkPipelineColorBlendStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "logicOpEnable" VkPipelineColorBlendStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOpEnable}++instance {-# OVERLAPPING #-}+ HasField "logicOp" VkPipelineColorBlendStateCreateInfo where+ type FieldType "logicOp" VkPipelineColorBlendStateCreateInfo =+ VkLogicOp+ type FieldOptional "logicOp" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "logicOp" VkPipelineColorBlendStateCreateInfo =+ #{offset VkPipelineColorBlendStateCreateInfo, logicOp}+ type FieldIsArray "logicOp" VkPipelineColorBlendStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, logicOp}++instance {-# OVERLAPPING #-}+ CanReadField "logicOp" VkPipelineColorBlendStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, logicOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOp}++instance {-# OVERLAPPING #-}+ CanWriteField "logicOp" VkPipelineColorBlendStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, logicOp}++instance {-# OVERLAPPING #-}+ HasField "attachmentCount" VkPipelineColorBlendStateCreateInfo+ where+ type FieldType "attachmentCount"+ VkPipelineColorBlendStateCreateInfo+ = Word32+ type FieldOptional "attachmentCount"+ VkPipelineColorBlendStateCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "attachmentCount"+ VkPipelineColorBlendStateCreateInfo+ =+ #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}+ type FieldIsArray "attachmentCount"+ VkPipelineColorBlendStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ CanReadField "attachmentCount" VkPipelineColorBlendStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ CanWriteField "attachmentCount" VkPipelineColorBlendStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ HasField "pAttachments" VkPipelineColorBlendStateCreateInfo where+ type FieldType "pAttachments" VkPipelineColorBlendStateCreateInfo =+ Ptr VkPipelineColorBlendAttachmentState+ type FieldOptional "pAttachments"+ VkPipelineColorBlendStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAttachments" VkPipelineColorBlendStateCreateInfo+ =+ #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}+ type FieldIsArray "pAttachments"+ VkPipelineColorBlendStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pAttachments" VkPipelineColorBlendStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineColorBlendStateCreateInfo, pAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttachments" VkPipelineColorBlendStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineColorBlendStateCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ HasField "blendConstants" VkPipelineColorBlendStateCreateInfo where+ type FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo+ = #{type float}+ type FieldOptional "blendConstants"+ VkPipelineColorBlendStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "blendConstants"+ VkPipelineColorBlendStateCreateInfo+ =+ #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}+ type FieldIsArray "blendConstants"+ VkPipelineColorBlendStateCreateInfo+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "blendConstants" idx+ VkPipelineColorBlendStateCreateInfo) =>+ CanReadFieldArray "blendConstants" idx+ VkPipelineColorBlendStateCreateInfo+ where+ {-# SPECIALISE instance+ CanReadFieldArray "blendConstants" 0+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "blendConstants" 1+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "blendConstants" 2+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "blendConstants" 3+ VkPipelineColorBlendStateCreateInfo+ #-}+ type FieldArrayLength "blendConstants"+ VkPipelineColorBlendStateCreateInfo+ = 4++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 4++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkPipelineColorBlendStateCreateInfo, blendConstants}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkPipelineColorBlendStateCreateInfo, blendConstants}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "blendConstants" idx+ VkPipelineColorBlendStateCreateInfo) =>+ CanWriteFieldArray "blendConstants" idx+ VkPipelineColorBlendStateCreateInfo+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "blendConstants" 0+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "blendConstants" 1+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "blendConstants" 2+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "blendConstants" 3+ VkPipelineColorBlendStateCreateInfo+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkPipelineColorBlendStateCreateInfo, blendConstants}+ ++ sizeOf (undefined :: #{type float}) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkPipelineColorBlendStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineColorBlendStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "logicOpEnable = " .+ showsPrec d (getField @"logicOpEnable" x) .+ showString ", " .+ showString "logicOp = " .+ showsPrec d (getField @"logicOp" x) .+ showString ", " .+ showString "attachmentCount = " .+ showsPrec d (getField @"attachmentCount" x) .+ showString ", " .+ showString "pAttachments = " .+ showsPrec d (getField @"pAttachments" x) .+ showString ", " .+ (showString "blendConstants = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType+ "blendConstants"+ VkPipelineColorBlendStateCreateInfo)+ o = fieldOffset @"blendConstants"+ @VkPipelineColorBlendStateCreateInfo+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType+ "blendConstants"+ VkPipelineColorBlendStateCreateInfo)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s)+ [0 .. 4 - 1])+ . showChar ']')+ . showChar '}'++-- | > typedef struct VkPipelineCoverageModulationStateCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineCoverageModulationStateCreateFlagsNV flags;+-- > VkCoverageModulationModeNV coverageModulationMode;+-- > VkBool32 coverageModulationTableEnable;+-- > uint32_t coverageModulationTableCount;+-- > const float* pCoverageModulationTable;+-- > } VkPipelineCoverageModulationStateCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV registry at www.khronos.org>+data VkPipelineCoverageModulationStateCreateInfoNV = VkPipelineCoverageModulationStateCreateInfoNV## Addr##+ ByteArray##++instance Eq VkPipelineCoverageModulationStateCreateInfoNV where+ (VkPipelineCoverageModulationStateCreateInfoNV## a _) ==+ x@(VkPipelineCoverageModulationStateCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineCoverageModulationStateCreateInfoNV where+ (VkPipelineCoverageModulationStateCreateInfoNV## a _) `compare`+ x@(VkPipelineCoverageModulationStateCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineCoverageModulationStateCreateInfoNV+ where+ sizeOf ~_+ = #{size VkPipelineCoverageModulationStateCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineCoverageModulationStateCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ unsafeAddr (VkPipelineCoverageModulationStateCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPipelineCoverageModulationStateCreateInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineCoverageModulationStateCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ type StructFields VkPipelineCoverageModulationStateCreateInfoNV =+ '["sType", "pNext", "flags", "coverageModulationMode", -- ' closing tick for hsc2hs+ "coverageModulationTableEnable", "coverageModulationTableCount",+ "pCoverageModulationTable"]+ type CUnionType VkPipelineCoverageModulationStateCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineCoverageModulationStateCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineCoverageModulationStateCreateInfoNV =+ '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "sType"+ VkPipelineCoverageModulationStateCreateInfoNV+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}+ type FieldIsArray "sType"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "pNext"+ VkPipelineCoverageModulationStateCreateInfoNV+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}+ type FieldIsArray "pNext"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "flags"+ VkPipelineCoverageModulationStateCreateInfoNV+ = VkPipelineCoverageModulationStateCreateFlagsNV+ type FieldOptional "flags"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}+ type FieldIsArray "flags"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ HasField "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ = VkCoverageModulationModeNV+ type FieldOptional "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}+ type FieldIsArray "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}++instance {-# OVERLAPPING #-}+ CanReadField "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}++instance {-# OVERLAPPING #-}+ CanWriteField "coverageModulationMode"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationMode}++instance {-# OVERLAPPING #-}+ HasField "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ = VkBool32+ type FieldOptional "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}+ type FieldIsArray "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}++instance {-# OVERLAPPING #-}+ CanReadField "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "coverageModulationTableEnable"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableEnable}++instance {-# OVERLAPPING #-}+ HasField "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ = Word32+ type FieldOptional "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}+ type FieldIsArray "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}++instance {-# OVERLAPPING #-}+ CanReadField "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}++instance {-# OVERLAPPING #-}+ CanWriteField "coverageModulationTableCount"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, coverageModulationTableCount}++instance {-# OVERLAPPING #-}+ HasField "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ type FieldType "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ = Ptr #{type float}+ type FieldOptional "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ =+ #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}+ type FieldIsArray "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}++instance {-# OVERLAPPING #-}+ CanReadField "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}++instance {-# OVERLAPPING #-}+ CanWriteField "pCoverageModulationTable"+ VkPipelineCoverageModulationStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageModulationStateCreateInfoNV, pCoverageModulationTable}++instance Show VkPipelineCoverageModulationStateCreateInfoNV where+ showsPrec d x+ = showString "VkPipelineCoverageModulationStateCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "coverageModulationMode = " .+ showsPrec d (getField @"coverageModulationMode" x) .+ showString ", " .+ showString "coverageModulationTableEnable = " .+ showsPrec d (getField @"coverageModulationTableEnable" x) .+ showString ", " .+ showString "coverageModulationTableCount = " .+ showsPrec d+ (getField @"coverageModulationTableCount" x)+ .+ showString ", " .+ showString "pCoverageModulationTable = " .+ showsPrec d+ (getField @"pCoverageModulationTable" x)+ . showChar '}'++-- | > typedef struct VkPipelineCoverageToColorStateCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineCoverageToColorStateCreateFlagsNV flags;+-- > VkBool32 coverageToColorEnable;+-- > uint32_t coverageToColorLocation;+-- > } VkPipelineCoverageToColorStateCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV registry at www.khronos.org>+data VkPipelineCoverageToColorStateCreateInfoNV = VkPipelineCoverageToColorStateCreateInfoNV## Addr##+ ByteArray##++instance Eq VkPipelineCoverageToColorStateCreateInfoNV where+ (VkPipelineCoverageToColorStateCreateInfoNV## a _) ==+ x@(VkPipelineCoverageToColorStateCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineCoverageToColorStateCreateInfoNV where+ (VkPipelineCoverageToColorStateCreateInfoNV## a _) `compare`+ x@(VkPipelineCoverageToColorStateCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineCoverageToColorStateCreateInfoNV where+ sizeOf ~_+ = #{size VkPipelineCoverageToColorStateCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineCoverageToColorStateCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ unsafeAddr (VkPipelineCoverageToColorStateCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineCoverageToColorStateCreateInfoNV## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineCoverageToColorStateCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineCoverageToColorStateCreateInfoNV+ where+ type StructFields VkPipelineCoverageToColorStateCreateInfoNV =+ '["sType", "pNext", "flags", "coverageToColorEnable", -- ' closing tick for hsc2hs+ "coverageToColorLocation"]+ type CUnionType VkPipelineCoverageToColorStateCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineCoverageToColorStateCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineCoverageToColorStateCreateInfoNV =+ '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineCoverageToColorStateCreateInfoNV where+ type FieldType "sType" VkPipelineCoverageToColorStateCreateInfoNV =+ VkStructureType+ type FieldOptional "sType"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineCoverageToColorStateCreateInfoNV+ =+ #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}+ type FieldIsArray "sType"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineCoverageToColorStateCreateInfoNV where+ type FieldType "pNext" VkPipelineCoverageToColorStateCreateInfoNV =+ Ptr Void+ type FieldOptional "pNext"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineCoverageToColorStateCreateInfoNV+ =+ #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}+ type FieldIsArray "pNext"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineCoverageToColorStateCreateInfoNV where+ type FieldType "flags" VkPipelineCoverageToColorStateCreateInfoNV =+ VkPipelineCoverageToColorStateCreateFlagsNV+ type FieldOptional "flags"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineCoverageToColorStateCreateInfoNV+ =+ #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}+ type FieldIsArray "flags"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ HasField "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ type FieldType "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ = VkBool32+ type FieldOptional "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ =+ #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}+ type FieldIsArray "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}++instance {-# OVERLAPPING #-}+ CanReadField "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "coverageToColorEnable"+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorEnable}++instance {-# OVERLAPPING #-}+ HasField "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ type FieldType "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ = Word32+ type FieldOptional "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ =+ #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}+ type FieldIsArray "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}++instance {-# OVERLAPPING #-}+ CanReadField "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}++instance {-# OVERLAPPING #-}+ CanWriteField "coverageToColorLocation"+ VkPipelineCoverageToColorStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineCoverageToColorStateCreateInfoNV, coverageToColorLocation}++instance Show VkPipelineCoverageToColorStateCreateInfoNV where+ showsPrec d x+ = showString "VkPipelineCoverageToColorStateCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "coverageToColorEnable = " .+ showsPrec d (getField @"coverageToColorEnable" x) .+ showString ", " .+ showString "coverageToColorLocation = " .+ showsPrec d (getField @"coverageToColorLocation" x) .+ showChar '}'++-- | > typedef struct VkPipelineDepthStencilStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineDepthStencilStateCreateFlags flags;+-- > VkBool32 depthTestEnable;+-- > VkBool32 depthWriteEnable;+-- > VkCompareOp depthCompareOp;+-- > VkBool32 depthBoundsTestEnable;+-- > VkBool32 stencilTestEnable;+-- > VkStencilOpState front;+-- > VkStencilOpState back;+-- > float minDepthBounds;+-- > float maxDepthBounds;+-- > } VkPipelineDepthStencilStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo registry at www.khronos.org>+data VkPipelineDepthStencilStateCreateInfo = VkPipelineDepthStencilStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineDepthStencilStateCreateInfo where+ (VkPipelineDepthStencilStateCreateInfo## a _) ==+ x@(VkPipelineDepthStencilStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineDepthStencilStateCreateInfo where+ (VkPipelineDepthStencilStateCreateInfo## a _) `compare`+ x@(VkPipelineDepthStencilStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineDepthStencilStateCreateInfo where+ sizeOf ~_+ = #{size VkPipelineDepthStencilStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineDepthStencilStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineDepthStencilStateCreateInfo+ where+ unsafeAddr (VkPipelineDepthStencilStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineDepthStencilStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineDepthStencilStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineDepthStencilStateCreateInfo where+ type StructFields VkPipelineDepthStencilStateCreateInfo =+ '["sType", "pNext", "flags", "depthTestEnable", "depthWriteEnable", -- ' closing tick for hsc2hs+ "depthCompareOp", "depthBoundsTestEnable", "stencilTestEnable",+ "front", "back", "minDepthBounds", "maxDepthBounds"]+ type CUnionType VkPipelineDepthStencilStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineDepthStencilStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineDepthStencilStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineDepthStencilStateCreateInfo where+ type FieldType "sType" VkPipelineDepthStencilStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineDepthStencilStateCreateInfo =+ #{offset VkPipelineDepthStencilStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineDepthStencilStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineDepthStencilStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineDepthStencilStateCreateInfo where+ type FieldType "pNext" VkPipelineDepthStencilStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineDepthStencilStateCreateInfo =+ #{offset VkPipelineDepthStencilStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineDepthStencilStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineDepthStencilStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineDepthStencilStateCreateInfo where+ type FieldType "flags" VkPipelineDepthStencilStateCreateInfo =+ VkPipelineDepthStencilStateCreateFlags+ type FieldOptional "flags" VkPipelineDepthStencilStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineDepthStencilStateCreateInfo =+ #{offset VkPipelineDepthStencilStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineDepthStencilStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineDepthStencilStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "depthTestEnable" VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "depthTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = VkBool32+ type FieldOptional "depthTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}+ type FieldIsArray "depthTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}++instance {-# OVERLAPPING #-}+ CanReadField "depthTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "depthTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthTestEnable}++instance {-# OVERLAPPING #-}+ HasField "depthWriteEnable" VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "depthWriteEnable"+ VkPipelineDepthStencilStateCreateInfo+ = VkBool32+ type FieldOptional "depthWriteEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthWriteEnable"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}+ type FieldIsArray "depthWriteEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}++instance {-# OVERLAPPING #-}+ CanReadField "depthWriteEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "depthWriteEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthWriteEnable}++instance {-# OVERLAPPING #-}+ HasField "depthCompareOp" VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "depthCompareOp"+ VkPipelineDepthStencilStateCreateInfo+ = VkCompareOp+ type FieldOptional "depthCompareOp"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthCompareOp"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}+ type FieldIsArray "depthCompareOp"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}++instance {-# OVERLAPPING #-}+ CanReadField "depthCompareOp" VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}++instance {-# OVERLAPPING #-}+ CanWriteField "depthCompareOp"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthCompareOp}++instance {-# OVERLAPPING #-}+ HasField "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = VkBool32+ type FieldOptional "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}+ type FieldIsArray "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}++instance {-# OVERLAPPING #-}+ CanReadField "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBoundsTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, depthBoundsTestEnable}++instance {-# OVERLAPPING #-}+ HasField "stencilTestEnable" VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "stencilTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = VkBool32+ type FieldOptional "stencilTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "stencilTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}+ type FieldIsArray "stencilTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}++instance {-# OVERLAPPING #-}+ CanReadField "stencilTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "stencilTestEnable"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, stencilTestEnable}++instance {-# OVERLAPPING #-}+ HasField "front" VkPipelineDepthStencilStateCreateInfo where+ type FieldType "front" VkPipelineDepthStencilStateCreateInfo =+ VkStencilOpState+ type FieldOptional "front" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "front" VkPipelineDepthStencilStateCreateInfo =+ #{offset VkPipelineDepthStencilStateCreateInfo, front}+ type FieldIsArray "front" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, front}++instance {-# OVERLAPPING #-}+ CanReadField "front" VkPipelineDepthStencilStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, front})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, front}++instance {-# OVERLAPPING #-}+ CanWriteField "front" VkPipelineDepthStencilStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, front}++instance {-# OVERLAPPING #-}+ HasField "back" VkPipelineDepthStencilStateCreateInfo where+ type FieldType "back" VkPipelineDepthStencilStateCreateInfo =+ VkStencilOpState+ type FieldOptional "back" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "back" VkPipelineDepthStencilStateCreateInfo =+ #{offset VkPipelineDepthStencilStateCreateInfo, back}+ type FieldIsArray "back" VkPipelineDepthStencilStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, back}++instance {-# OVERLAPPING #-}+ CanReadField "back" VkPipelineDepthStencilStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, back})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, back}++instance {-# OVERLAPPING #-}+ CanWriteField "back" VkPipelineDepthStencilStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, back}++instance {-# OVERLAPPING #-}+ HasField "minDepthBounds" VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "minDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ = #{type float}+ type FieldOptional "minDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}+ type FieldIsArray "minDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}++instance {-# OVERLAPPING #-}+ CanReadField "minDepthBounds" VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}++instance {-# OVERLAPPING #-}+ CanWriteField "minDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, minDepthBounds}++instance {-# OVERLAPPING #-}+ HasField "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo+ where+ type FieldType "maxDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ = #{type float}+ type FieldOptional "maxDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ =+ #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}+ type FieldIsArray "maxDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}++instance {-# OVERLAPPING #-}+ CanReadField "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}++instance {-# OVERLAPPING #-}+ CanWriteField "maxDepthBounds"+ VkPipelineDepthStencilStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDepthStencilStateCreateInfo, maxDepthBounds}++instance Show VkPipelineDepthStencilStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineDepthStencilStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "depthTestEnable = " .+ showsPrec d (getField @"depthTestEnable" x) .+ showString ", " .+ showString "depthWriteEnable = " .+ showsPrec d (getField @"depthWriteEnable" x) .+ showString ", " .+ showString "depthCompareOp = " .+ showsPrec d (getField @"depthCompareOp" x) .+ showString ", " .+ showString "depthBoundsTestEnable = " .+ showsPrec d+ (getField @"depthBoundsTestEnable" x)+ .+ showString ", " .+ showString "stencilTestEnable = " .+ showsPrec d+ (getField @"stencilTestEnable" x)+ .+ showString ", " .+ showString "front = " .+ showsPrec d (getField @"front" x) .+ showString ", " .+ showString "back = " .+ showsPrec d+ (getField @"back" x)+ .+ showString ", " .+ showString+ "minDepthBounds = "+ .+ showsPrec d+ (getField+ @"minDepthBounds"+ x)+ .+ showString ", " .+ showString+ "maxDepthBounds = "+ .+ showsPrec d+ (getField+ @"maxDepthBounds"+ x)+ . showChar '}'++-- | > typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineDiscardRectangleStateCreateFlagsEXT flags;+-- > VkDiscardRectangleModeEXT discardRectangleMode;+-- > uint32_t discardRectangleCount;+-- > const VkRect2D* pDiscardRectangles;+-- > } VkPipelineDiscardRectangleStateCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT registry at www.khronos.org>+data VkPipelineDiscardRectangleStateCreateInfoEXT = VkPipelineDiscardRectangleStateCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkPipelineDiscardRectangleStateCreateInfoEXT where+ (VkPipelineDiscardRectangleStateCreateInfoEXT## a _) ==+ x@(VkPipelineDiscardRectangleStateCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineDiscardRectangleStateCreateInfoEXT where+ (VkPipelineDiscardRectangleStateCreateInfoEXT## a _) `compare`+ x@(VkPipelineDiscardRectangleStateCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ sizeOf ~_+ = #{size VkPipelineDiscardRectangleStateCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineDiscardRectangleStateCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ unsafeAddr (VkPipelineDiscardRectangleStateCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineDiscardRectangleStateCreateInfoEXT## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineDiscardRectangleStateCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ type StructFields VkPipelineDiscardRectangleStateCreateInfoEXT =+ '["sType", "pNext", "flags", "discardRectangleMode", -- ' closing tick for hsc2hs+ "discardRectangleCount", "pDiscardRectangles"]+ type CUnionType VkPipelineDiscardRectangleStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineDiscardRectangleStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineDiscardRectangleStateCreateInfoEXT =+ '[VkGraphicsPipelineCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineDiscardRectangleStateCreateInfoEXT where+ type FieldType "sType" VkPipelineDiscardRectangleStateCreateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ =+ #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT where+ type FieldType "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ =+ #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineDiscardRectangleStateCreateInfoEXT where+ type FieldType "flags" VkPipelineDiscardRectangleStateCreateInfoEXT+ = VkPipelineDiscardRectangleStateCreateFlagsEXT+ type FieldOptional "flags"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ =+ #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}+ type FieldIsArray "flags"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ HasField "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ type FieldType "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = VkDiscardRectangleModeEXT+ type FieldOptional "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ =+ #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}+ type FieldIsArray "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}++instance {-# OVERLAPPING #-}+ CanReadField "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}++instance {-# OVERLAPPING #-}+ CanWriteField "discardRectangleMode"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleMode}++instance {-# OVERLAPPING #-}+ HasField "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ type FieldType "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = Word32+ type FieldOptional "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ =+ #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}+ type FieldIsArray "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}++instance {-# OVERLAPPING #-}+ CanReadField "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}++instance {-# OVERLAPPING #-}+ CanWriteField "discardRectangleCount"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, discardRectangleCount}++instance {-# OVERLAPPING #-}+ HasField "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ type FieldType "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = Ptr VkRect2D+ type FieldOptional "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ =+ #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}+ type FieldIsArray "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}++instance {-# OVERLAPPING #-}+ CanReadField "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}++instance {-# OVERLAPPING #-}+ CanWriteField "pDiscardRectangles"+ VkPipelineDiscardRectangleStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDiscardRectangleStateCreateInfoEXT, pDiscardRectangles}++instance Show VkPipelineDiscardRectangleStateCreateInfoEXT where+ showsPrec d x+ = showString "VkPipelineDiscardRectangleStateCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "discardRectangleMode = " .+ showsPrec d (getField @"discardRectangleMode" x) .+ showString ", " .+ showString "discardRectangleCount = " .+ showsPrec d (getField @"discardRectangleCount" x) .+ showString ", " .+ showString "pDiscardRectangles = " .+ showsPrec d (getField @"pDiscardRectangles" x) .+ showChar '}'++-- | > typedef struct VkPipelineDynamicStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineDynamicStateCreateFlags flags;+-- > uint32_t dynamicStateCount;+-- > const VkDynamicState* pDynamicStates;+-- > } VkPipelineDynamicStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo registry at www.khronos.org>+data VkPipelineDynamicStateCreateInfo = VkPipelineDynamicStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineDynamicStateCreateInfo where+ (VkPipelineDynamicStateCreateInfo## a _) ==+ x@(VkPipelineDynamicStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineDynamicStateCreateInfo where+ (VkPipelineDynamicStateCreateInfo## a _) `compare`+ x@(VkPipelineDynamicStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineDynamicStateCreateInfo where+ sizeOf ~_ = #{size VkPipelineDynamicStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineDynamicStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineDynamicStateCreateInfo where+ unsafeAddr (VkPipelineDynamicStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineDynamicStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineDynamicStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineDynamicStateCreateInfo where+ type StructFields VkPipelineDynamicStateCreateInfo =+ '["sType", "pNext", "flags", "dynamicStateCount", "pDynamicStates"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineDynamicStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineDynamicStateCreateInfo where+ type FieldType "sType" VkPipelineDynamicStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineDynamicStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineDynamicStateCreateInfo =+ #{offset VkPipelineDynamicStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDynamicStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineDynamicStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineDynamicStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineDynamicStateCreateInfo where+ type FieldType "pNext" VkPipelineDynamicStateCreateInfo = Ptr Void+ type FieldOptional "pNext" VkPipelineDynamicStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineDynamicStateCreateInfo =+ #{offset VkPipelineDynamicStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDynamicStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineDynamicStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineDynamicStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineDynamicStateCreateInfo where+ type FieldType "flags" VkPipelineDynamicStateCreateInfo =+ VkPipelineDynamicStateCreateFlags+ type FieldOptional "flags" VkPipelineDynamicStateCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineDynamicStateCreateInfo =+ #{offset VkPipelineDynamicStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineDynamicStateCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDynamicStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineDynamicStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineDynamicStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "dynamicStateCount" VkPipelineDynamicStateCreateInfo where+ type FieldType "dynamicStateCount" VkPipelineDynamicStateCreateInfo+ = Word32+ type FieldOptional "dynamicStateCount"+ VkPipelineDynamicStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dynamicStateCount"+ VkPipelineDynamicStateCreateInfo+ =+ #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}+ type FieldIsArray "dynamicStateCount"+ VkPipelineDynamicStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}++instance {-# OVERLAPPING #-}+ CanReadField "dynamicStateCount" VkPipelineDynamicStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}++instance {-# OVERLAPPING #-}+ CanWriteField "dynamicStateCount" VkPipelineDynamicStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, dynamicStateCount}++instance {-# OVERLAPPING #-}+ HasField "pDynamicStates" VkPipelineDynamicStateCreateInfo where+ type FieldType "pDynamicStates" VkPipelineDynamicStateCreateInfo =+ Ptr VkDynamicState+ type FieldOptional "pDynamicStates"+ VkPipelineDynamicStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDynamicStates" VkPipelineDynamicStateCreateInfo+ =+ #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}+ type FieldIsArray "pDynamicStates" VkPipelineDynamicStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}++instance {-# OVERLAPPING #-}+ CanReadField "pDynamicStates" VkPipelineDynamicStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}++instance {-# OVERLAPPING #-}+ CanWriteField "pDynamicStates" VkPipelineDynamicStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineDynamicStateCreateInfo, pDynamicStates}++instance Show VkPipelineDynamicStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineDynamicStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "dynamicStateCount = " .+ showsPrec d (getField @"dynamicStateCount" x) .+ showString ", " .+ showString "pDynamicStates = " .+ showsPrec d (getField @"pDynamicStates" x) . showChar '}'++-- | > typedef struct VkPipelineInputAssemblyStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineInputAssemblyStateCreateFlags flags;+-- > VkPrimitiveTopology topology;+-- > VkBool32 primitiveRestartEnable;+-- > } VkPipelineInputAssemblyStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo registry at www.khronos.org>+data VkPipelineInputAssemblyStateCreateInfo = VkPipelineInputAssemblyStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineInputAssemblyStateCreateInfo where+ (VkPipelineInputAssemblyStateCreateInfo## a _) ==+ x@(VkPipelineInputAssemblyStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineInputAssemblyStateCreateInfo where+ (VkPipelineInputAssemblyStateCreateInfo## a _) `compare`+ x@(VkPipelineInputAssemblyStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineInputAssemblyStateCreateInfo where+ sizeOf ~_+ = #{size VkPipelineInputAssemblyStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineInputAssemblyStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineInputAssemblyStateCreateInfo+ where+ unsafeAddr (VkPipelineInputAssemblyStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineInputAssemblyStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineInputAssemblyStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineInputAssemblyStateCreateInfo where+ type StructFields VkPipelineInputAssemblyStateCreateInfo =+ '["sType", "pNext", "flags", "topology", "primitiveRestartEnable"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineInputAssemblyStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineInputAssemblyStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineInputAssemblyStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineInputAssemblyStateCreateInfo where+ type FieldType "sType" VkPipelineInputAssemblyStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineInputAssemblyStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineInputAssemblyStateCreateInfo =+ #{offset VkPipelineInputAssemblyStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineInputAssemblyStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineInputAssemblyStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineInputAssemblyStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineInputAssemblyStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineInputAssemblyStateCreateInfo where+ type FieldType "pNext" VkPipelineInputAssemblyStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineInputAssemblyStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineInputAssemblyStateCreateInfo =+ #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineInputAssemblyStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineInputAssemblyStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineInputAssemblyStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineInputAssemblyStateCreateInfo where+ type FieldType "flags" VkPipelineInputAssemblyStateCreateInfo =+ VkPipelineInputAssemblyStateCreateFlags+ type FieldOptional "flags" VkPipelineInputAssemblyStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineInputAssemblyStateCreateInfo =+ #{offset VkPipelineInputAssemblyStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineInputAssemblyStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineInputAssemblyStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineInputAssemblyStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineInputAssemblyStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "topology" VkPipelineInputAssemblyStateCreateInfo where+ type FieldType "topology" VkPipelineInputAssemblyStateCreateInfo =+ VkPrimitiveTopology+ type FieldOptional "topology"+ VkPipelineInputAssemblyStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "topology" VkPipelineInputAssemblyStateCreateInfo+ =+ #{offset VkPipelineInputAssemblyStateCreateInfo, topology}+ type FieldIsArray "topology" VkPipelineInputAssemblyStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineInputAssemblyStateCreateInfo, topology}++instance {-# OVERLAPPING #-}+ CanReadField "topology" VkPipelineInputAssemblyStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, topology})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, topology}++instance {-# OVERLAPPING #-}+ CanWriteField "topology" VkPipelineInputAssemblyStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, topology}++instance {-# OVERLAPPING #-}+ HasField "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ where+ type FieldType "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ = VkBool32+ type FieldOptional "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ =+ #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}+ type FieldIsArray "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}++instance {-# OVERLAPPING #-}+ CanReadField "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "primitiveRestartEnable"+ VkPipelineInputAssemblyStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineInputAssemblyStateCreateInfo, primitiveRestartEnable}++instance Show VkPipelineInputAssemblyStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineInputAssemblyStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "topology = " .+ showsPrec d (getField @"topology" x) .+ showString ", " .+ showString "primitiveRestartEnable = " .+ showsPrec d (getField @"primitiveRestartEnable" x) .+ showChar '}'++-- | > typedef struct VkPipelineLayoutCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineLayoutCreateFlags flags;+-- > uint32_t setLayoutCount;+-- > const VkDescriptorSetLayout* pSetLayouts;+-- > uint32_t pushConstantRangeCount;+-- > const VkPushConstantRange* pPushConstantRanges;+-- > } VkPipelineLayoutCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo registry at www.khronos.org>+data VkPipelineLayoutCreateInfo = VkPipelineLayoutCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineLayoutCreateInfo where+ (VkPipelineLayoutCreateInfo## a _) ==+ x@(VkPipelineLayoutCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineLayoutCreateInfo where+ (VkPipelineLayoutCreateInfo## a _) `compare`+ x@(VkPipelineLayoutCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineLayoutCreateInfo where+ sizeOf ~_ = #{size VkPipelineLayoutCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPipelineLayoutCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineLayoutCreateInfo where+ unsafeAddr (VkPipelineLayoutCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineLayoutCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineLayoutCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineLayoutCreateInfo where+ type StructFields VkPipelineLayoutCreateInfo =+ '["sType", "pNext", "flags", "setLayoutCount", "pSetLayouts", -- ' closing tick for hsc2hs+ "pushConstantRangeCount", "pPushConstantRanges"]+ type CUnionType VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineLayoutCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineLayoutCreateInfo where+ type FieldType "sType" VkPipelineLayoutCreateInfo = VkStructureType+ type FieldOptional "sType" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineLayoutCreateInfo =+ #{offset VkPipelineLayoutCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineLayoutCreateInfo where+ type FieldType "pNext" VkPipelineLayoutCreateInfo = Ptr Void+ type FieldOptional "pNext" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineLayoutCreateInfo =+ #{offset VkPipelineLayoutCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineLayoutCreateInfo where+ type FieldType "flags" VkPipelineLayoutCreateInfo =+ VkPipelineLayoutCreateFlags+ type FieldOptional "flags" VkPipelineLayoutCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineLayoutCreateInfo =+ #{offset VkPipelineLayoutCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "setLayoutCount" VkPipelineLayoutCreateInfo where+ type FieldType "setLayoutCount" VkPipelineLayoutCreateInfo = Word32+ type FieldOptional "setLayoutCount" VkPipelineLayoutCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "setLayoutCount" VkPipelineLayoutCreateInfo =+ #{offset VkPipelineLayoutCreateInfo, setLayoutCount}+ type FieldIsArray "setLayoutCount" VkPipelineLayoutCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, setLayoutCount}++instance {-# OVERLAPPING #-}+ CanReadField "setLayoutCount" VkPipelineLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, setLayoutCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, setLayoutCount}++instance {-# OVERLAPPING #-}+ CanWriteField "setLayoutCount" VkPipelineLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, setLayoutCount}++instance {-# OVERLAPPING #-}+ HasField "pSetLayouts" VkPipelineLayoutCreateInfo where+ type FieldType "pSetLayouts" VkPipelineLayoutCreateInfo =+ Ptr VkDescriptorSetLayout+ type FieldOptional "pSetLayouts" VkPipelineLayoutCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSetLayouts" VkPipelineLayoutCreateInfo =+ #{offset VkPipelineLayoutCreateInfo, pSetLayouts}+ type FieldIsArray "pSetLayouts" VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, pSetLayouts}++instance {-# OVERLAPPING #-}+ CanReadField "pSetLayouts" VkPipelineLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pSetLayouts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pSetLayouts}++instance {-# OVERLAPPING #-}+ CanWriteField "pSetLayouts" VkPipelineLayoutCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pSetLayouts}++instance {-# OVERLAPPING #-}+ HasField "pushConstantRangeCount" VkPipelineLayoutCreateInfo where+ type FieldType "pushConstantRangeCount" VkPipelineLayoutCreateInfo+ = Word32+ type FieldOptional "pushConstantRangeCount"+ VkPipelineLayoutCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pushConstantRangeCount"+ VkPipelineLayoutCreateInfo+ =+ #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}+ type FieldIsArray "pushConstantRangeCount"+ VkPipelineLayoutCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}++instance {-# OVERLAPPING #-}+ CanReadField "pushConstantRangeCount" VkPipelineLayoutCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}++instance {-# OVERLAPPING #-}+ CanWriteField "pushConstantRangeCount" VkPipelineLayoutCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pushConstantRangeCount}++instance {-# OVERLAPPING #-}+ HasField "pPushConstantRanges" VkPipelineLayoutCreateInfo where+ type FieldType "pPushConstantRanges" VkPipelineLayoutCreateInfo =+ Ptr VkPushConstantRange+ type FieldOptional "pPushConstantRanges" VkPipelineLayoutCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pPushConstantRanges" VkPipelineLayoutCreateInfo =+ #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}+ type FieldIsArray "pPushConstantRanges" VkPipelineLayoutCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}++instance {-# OVERLAPPING #-}+ CanReadField "pPushConstantRanges" VkPipelineLayoutCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}++instance {-# OVERLAPPING #-}+ CanWriteField "pPushConstantRanges" VkPipelineLayoutCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineLayoutCreateInfo, pPushConstantRanges}++instance Show VkPipelineLayoutCreateInfo where+ showsPrec d x+ = showString "VkPipelineLayoutCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "setLayoutCount = " .+ showsPrec d (getField @"setLayoutCount" x) .+ showString ", " .+ showString "pSetLayouts = " .+ showsPrec d (getField @"pSetLayouts" x) .+ showString ", " .+ showString "pushConstantRangeCount = " .+ showsPrec d (getField @"pushConstantRangeCount" x) .+ showString ", " .+ showString "pPushConstantRanges = " .+ showsPrec d (getField @"pPushConstantRanges" x)+ . showChar '}'++-- | > typedef struct VkPipelineMultisampleStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineMultisampleStateCreateFlags flags;+-- > VkSampleCountFlagBits rasterizationSamples;+-- > VkBool32 sampleShadingEnable;+-- > float minSampleShading;+-- > const VkSampleMask* pSampleMask;+-- > VkBool32 alphaToCoverageEnable;+-- > VkBool32 alphaToOneEnable;+-- > } VkPipelineMultisampleStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo registry at www.khronos.org>+data VkPipelineMultisampleStateCreateInfo = VkPipelineMultisampleStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineMultisampleStateCreateInfo where+ (VkPipelineMultisampleStateCreateInfo## a _) ==+ x@(VkPipelineMultisampleStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineMultisampleStateCreateInfo where+ (VkPipelineMultisampleStateCreateInfo## a _) `compare`+ x@(VkPipelineMultisampleStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineMultisampleStateCreateInfo where+ sizeOf ~_+ = #{size VkPipelineMultisampleStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineMultisampleStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineMultisampleStateCreateInfo+ where+ unsafeAddr (VkPipelineMultisampleStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineMultisampleStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineMultisampleStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineMultisampleStateCreateInfo where+ type StructFields VkPipelineMultisampleStateCreateInfo =+ '["sType", "pNext", "flags", "rasterizationSamples", -- ' closing tick for hsc2hs+ "sampleShadingEnable", "minSampleShading", "pSampleMask",+ "alphaToCoverageEnable", "alphaToOneEnable"]+ type CUnionType VkPipelineMultisampleStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineMultisampleStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineMultisampleStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineMultisampleStateCreateInfo where+ type FieldType "sType" VkPipelineMultisampleStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineMultisampleStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineMultisampleStateCreateInfo =+ #{offset VkPipelineMultisampleStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineMultisampleStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineMultisampleStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineMultisampleStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineMultisampleStateCreateInfo where+ type FieldType "pNext" VkPipelineMultisampleStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineMultisampleStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineMultisampleStateCreateInfo =+ #{offset VkPipelineMultisampleStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineMultisampleStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineMultisampleStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineMultisampleStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineMultisampleStateCreateInfo where+ type FieldType "flags" VkPipelineMultisampleStateCreateInfo =+ VkPipelineMultisampleStateCreateFlags+ type FieldOptional "flags" VkPipelineMultisampleStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineMultisampleStateCreateInfo =+ #{offset VkPipelineMultisampleStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineMultisampleStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineMultisampleStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineMultisampleStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ where+ type FieldType "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ = VkSampleCountFlagBits+ type FieldOptional "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ =+ #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}+ type FieldIsArray "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}++instance {-# OVERLAPPING #-}+ CanReadField "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}++instance {-# OVERLAPPING #-}+ CanWriteField "rasterizationSamples"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, rasterizationSamples}++instance {-# OVERLAPPING #-}+ HasField "sampleShadingEnable" VkPipelineMultisampleStateCreateInfo+ where+ type FieldType "sampleShadingEnable"+ VkPipelineMultisampleStateCreateInfo+ = VkBool32+ type FieldOptional "sampleShadingEnable"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleShadingEnable"+ VkPipelineMultisampleStateCreateInfo+ =+ #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}+ type FieldIsArray "sampleShadingEnable"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}++instance {-# OVERLAPPING #-}+ CanReadField "sampleShadingEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleShadingEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, sampleShadingEnable}++instance {-# OVERLAPPING #-}+ HasField "minSampleShading" VkPipelineMultisampleStateCreateInfo+ where+ type FieldType "minSampleShading"+ VkPipelineMultisampleStateCreateInfo+ = #{type float}+ type FieldOptional "minSampleShading"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minSampleShading"+ VkPipelineMultisampleStateCreateInfo+ =+ #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}+ type FieldIsArray "minSampleShading"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}++instance {-# OVERLAPPING #-}+ CanReadField "minSampleShading"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}++instance {-# OVERLAPPING #-}+ CanWriteField "minSampleShading"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, minSampleShading}++instance {-# OVERLAPPING #-}+ HasField "pSampleMask" VkPipelineMultisampleStateCreateInfo where+ type FieldType "pSampleMask" VkPipelineMultisampleStateCreateInfo =+ Ptr VkSampleMask+ type FieldOptional "pSampleMask"+ VkPipelineMultisampleStateCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pSampleMask" VkPipelineMultisampleStateCreateInfo+ =+ #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}+ type FieldIsArray "pSampleMask"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}++instance {-# OVERLAPPING #-}+ CanReadField "pSampleMask" VkPipelineMultisampleStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}++instance {-# OVERLAPPING #-}+ CanWriteField "pSampleMask" VkPipelineMultisampleStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, pSampleMask}++instance {-# OVERLAPPING #-}+ HasField "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ type FieldType "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ = VkBool32+ type FieldOptional "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ =+ #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}+ type FieldIsArray "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}++instance {-# OVERLAPPING #-}+ CanReadField "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "alphaToCoverageEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToCoverageEnable}++instance {-# OVERLAPPING #-}+ HasField "alphaToOneEnable" VkPipelineMultisampleStateCreateInfo+ where+ type FieldType "alphaToOneEnable"+ VkPipelineMultisampleStateCreateInfo+ = VkBool32+ type FieldOptional "alphaToOneEnable"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "alphaToOneEnable"+ VkPipelineMultisampleStateCreateInfo+ =+ #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}+ type FieldIsArray "alphaToOneEnable"+ VkPipelineMultisampleStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}++instance {-# OVERLAPPING #-}+ CanReadField "alphaToOneEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "alphaToOneEnable"+ VkPipelineMultisampleStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineMultisampleStateCreateInfo, alphaToOneEnable}++instance Show VkPipelineMultisampleStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineMultisampleStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "rasterizationSamples = " .+ showsPrec d (getField @"rasterizationSamples" x) .+ showString ", " .+ showString "sampleShadingEnable = " .+ showsPrec d (getField @"sampleShadingEnable" x) .+ showString ", " .+ showString "minSampleShading = " .+ showsPrec d (getField @"minSampleShading" x) .+ showString ", " .+ showString "pSampleMask = " .+ showsPrec d (getField @"pSampleMask" x) .+ showString ", " .+ showString "alphaToCoverageEnable = " .+ showsPrec d+ (getField @"alphaToCoverageEnable" x)+ .+ showString ", " .+ showString "alphaToOneEnable = " .+ showsPrec d+ (getField @"alphaToOneEnable" x)+ . showChar '}'++-- | > typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;+-- > VkConservativeRasterizationModeEXT conservativeRasterizationMode;+-- > float extraPrimitiveOverestimationSize;+-- > } VkPipelineRasterizationConservativeStateCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT registry at www.khronos.org>+data VkPipelineRasterizationConservativeStateCreateInfoEXT = VkPipelineRasterizationConservativeStateCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ (VkPipelineRasterizationConservativeStateCreateInfoEXT## a _) ==+ x@(VkPipelineRasterizationConservativeStateCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ (VkPipelineRasterizationConservativeStateCreateInfoEXT## a _)+ `compare`+ x@(VkPipelineRasterizationConservativeStateCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ sizeOf ~_+ = #{size VkPipelineRasterizationConservativeStateCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineRasterizationConservativeStateCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ unsafeAddr+ (VkPipelineRasterizationConservativeStateCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPipelineRasterizationConservativeStateCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineRasterizationConservativeStateCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ type StructFields+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ =+ '["sType", "pNext", "flags", "conservativeRasterizationMode", -- ' closing tick for hsc2hs+ "extraPrimitiveOverestimationSize"]+ type CUnionType+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ type FieldType "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ =+ #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ type FieldType "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ =+ #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ type FieldType "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = VkPipelineRasterizationConservativeStateCreateFlagsEXT+ type FieldOptional "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ =+ #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}+ type FieldIsArray "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ HasField "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ type FieldType "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = VkConservativeRasterizationModeEXT+ type FieldOptional "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ =+ #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}+ type FieldIsArray "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}++instance {-# OVERLAPPING #-}+ CanReadField "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}++instance {-# OVERLAPPING #-}+ CanWriteField "conservativeRasterizationMode"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, conservativeRasterizationMode}++instance {-# OVERLAPPING #-}+ HasField "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ type FieldType "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = #{type float}+ type FieldOptional "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ =+ #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}+ type FieldIsArray "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ CanReadField "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}++instance {-# OVERLAPPING #-}+ CanWriteField "extraPrimitiveOverestimationSize"+ VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationConservativeStateCreateInfoEXT, extraPrimitiveOverestimationSize}++instance Show VkPipelineRasterizationConservativeStateCreateInfoEXT+ where+ showsPrec d x+ = showString+ "VkPipelineRasterizationConservativeStateCreateInfoEXT {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "conservativeRasterizationMode = " .+ showsPrec d (getField @"conservativeRasterizationMode" x) .+ showString ", " .+ showString "extraPrimitiveOverestimationSize = " .+ showsPrec d (getField @"extraPrimitiveOverestimationSize" x)+ . showChar '}'++-- | > typedef struct VkPipelineRasterizationStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineRasterizationStateCreateFlags flags;+-- > VkBool32 depthClampEnable;+-- > VkBool32 rasterizerDiscardEnable;+-- > VkPolygonMode polygonMode;+-- > VkCullModeFlags cullMode;+-- > VkFrontFace frontFace;+-- > VkBool32 depthBiasEnable;+-- > float depthBiasConstantFactor;+-- > float depthBiasClamp;+-- > float depthBiasSlopeFactor;+-- > float lineWidth;+-- > } VkPipelineRasterizationStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo registry at www.khronos.org>+data VkPipelineRasterizationStateCreateInfo = VkPipelineRasterizationStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineRasterizationStateCreateInfo where+ (VkPipelineRasterizationStateCreateInfo## a _) ==+ x@(VkPipelineRasterizationStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineRasterizationStateCreateInfo where+ (VkPipelineRasterizationStateCreateInfo## a _) `compare`+ x@(VkPipelineRasterizationStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineRasterizationStateCreateInfo where+ sizeOf ~_+ = #{size VkPipelineRasterizationStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineRasterizationStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineRasterizationStateCreateInfo+ where+ unsafeAddr (VkPipelineRasterizationStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineRasterizationStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineRasterizationStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineRasterizationStateCreateInfo where+ type StructFields VkPipelineRasterizationStateCreateInfo =+ '["sType", "pNext", "flags", "depthClampEnable", -- ' closing tick for hsc2hs+ "rasterizerDiscardEnable", "polygonMode", "cullMode", "frontFace",+ "depthBiasEnable", "depthBiasConstantFactor", "depthBiasClamp",+ "depthBiasSlopeFactor", "lineWidth"]+ type CUnionType VkPipelineRasterizationStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineRasterizationStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineRasterizationStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineRasterizationStateCreateInfo where+ type FieldType "sType" VkPipelineRasterizationStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineRasterizationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineRasterizationStateCreateInfo =+ #{offset VkPipelineRasterizationStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineRasterizationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineRasterizationStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineRasterizationStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineRasterizationStateCreateInfo where+ type FieldType "pNext" VkPipelineRasterizationStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineRasterizationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineRasterizationStateCreateInfo =+ #{offset VkPipelineRasterizationStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineRasterizationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineRasterizationStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineRasterizationStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineRasterizationStateCreateInfo where+ type FieldType "flags" VkPipelineRasterizationStateCreateInfo =+ VkPipelineRasterizationStateCreateFlags+ type FieldOptional "flags" VkPipelineRasterizationStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineRasterizationStateCreateInfo =+ #{offset VkPipelineRasterizationStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineRasterizationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineRasterizationStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineRasterizationStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "depthClampEnable" VkPipelineRasterizationStateCreateInfo+ where+ type FieldType "depthClampEnable"+ VkPipelineRasterizationStateCreateInfo+ = VkBool32+ type FieldOptional "depthClampEnable"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthClampEnable"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}+ type FieldIsArray "depthClampEnable"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}++instance {-# OVERLAPPING #-}+ CanReadField "depthClampEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "depthClampEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthClampEnable}++instance {-# OVERLAPPING #-}+ HasField "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ type FieldType "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ = VkBool32+ type FieldOptional "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}+ type FieldIsArray "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}++instance {-# OVERLAPPING #-}+ CanReadField "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "rasterizerDiscardEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, rasterizerDiscardEnable}++instance {-# OVERLAPPING #-}+ HasField "polygonMode" VkPipelineRasterizationStateCreateInfo where+ type FieldType "polygonMode" VkPipelineRasterizationStateCreateInfo+ = VkPolygonMode+ type FieldOptional "polygonMode"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "polygonMode"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}+ type FieldIsArray "polygonMode"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}++instance {-# OVERLAPPING #-}+ CanReadField "polygonMode" VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, polygonMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}++instance {-# OVERLAPPING #-}+ CanWriteField "polygonMode" VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, polygonMode}++instance {-# OVERLAPPING #-}+ HasField "cullMode" VkPipelineRasterizationStateCreateInfo where+ type FieldType "cullMode" VkPipelineRasterizationStateCreateInfo =+ VkCullModeFlags+ type FieldOptional "cullMode"+ VkPipelineRasterizationStateCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "cullMode" VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, cullMode}+ type FieldIsArray "cullMode" VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, cullMode}++instance {-# OVERLAPPING #-}+ CanReadField "cullMode" VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, cullMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, cullMode}++instance {-# OVERLAPPING #-}+ CanWriteField "cullMode" VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, cullMode}++instance {-# OVERLAPPING #-}+ HasField "frontFace" VkPipelineRasterizationStateCreateInfo where+ type FieldType "frontFace" VkPipelineRasterizationStateCreateInfo =+ VkFrontFace+ type FieldOptional "frontFace"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "frontFace" VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, frontFace}+ type FieldIsArray "frontFace"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, frontFace}++instance {-# OVERLAPPING #-}+ CanReadField "frontFace" VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, frontFace})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, frontFace}++instance {-# OVERLAPPING #-}+ CanWriteField "frontFace" VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, frontFace}++instance {-# OVERLAPPING #-}+ HasField "depthBiasEnable" VkPipelineRasterizationStateCreateInfo+ where+ type FieldType "depthBiasEnable"+ VkPipelineRasterizationStateCreateInfo+ = VkBool32+ type FieldOptional "depthBiasEnable"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBiasEnable"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}+ type FieldIsArray "depthBiasEnable"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}++instance {-# OVERLAPPING #-}+ CanReadField "depthBiasEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBiasEnable"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasEnable}++instance {-# OVERLAPPING #-}+ HasField "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ where+ type FieldType "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ = #{type float}+ type FieldOptional "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}+ type FieldIsArray "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}++instance {-# OVERLAPPING #-}+ CanReadField "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBiasConstantFactor"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasConstantFactor}++instance {-# OVERLAPPING #-}+ HasField "depthBiasClamp" VkPipelineRasterizationStateCreateInfo+ where+ type FieldType "depthBiasClamp"+ VkPipelineRasterizationStateCreateInfo+ = #{type float}+ type FieldOptional "depthBiasClamp"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBiasClamp"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}+ type FieldIsArray "depthBiasClamp"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}++instance {-# OVERLAPPING #-}+ CanReadField "depthBiasClamp"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBiasClamp"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasClamp}++instance {-# OVERLAPPING #-}+ HasField "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ where+ type FieldType "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ = #{type float}+ type FieldOptional "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}+ type FieldIsArray "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}++instance {-# OVERLAPPING #-}+ CanReadField "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}++instance {-# OVERLAPPING #-}+ CanWriteField "depthBiasSlopeFactor"+ VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, depthBiasSlopeFactor}++instance {-# OVERLAPPING #-}+ HasField "lineWidth" VkPipelineRasterizationStateCreateInfo where+ type FieldType "lineWidth" VkPipelineRasterizationStateCreateInfo =+ #{type float}+ type FieldOptional "lineWidth"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "lineWidth" VkPipelineRasterizationStateCreateInfo+ =+ #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}+ type FieldIsArray "lineWidth"+ VkPipelineRasterizationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}++instance {-# OVERLAPPING #-}+ CanReadField "lineWidth" VkPipelineRasterizationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateCreateInfo, lineWidth})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}++instance {-# OVERLAPPING #-}+ CanWriteField "lineWidth" VkPipelineRasterizationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateCreateInfo, lineWidth}++instance Show VkPipelineRasterizationStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineRasterizationStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "depthClampEnable = " .+ showsPrec d (getField @"depthClampEnable" x) .+ showString ", " .+ showString "rasterizerDiscardEnable = " .+ showsPrec d (getField @"rasterizerDiscardEnable" x) .+ showString ", " .+ showString "polygonMode = " .+ showsPrec d (getField @"polygonMode" x) .+ showString ", " .+ showString "cullMode = " .+ showsPrec d (getField @"cullMode" x) .+ showString ", " .+ showString "frontFace = " .+ showsPrec d (getField @"frontFace" x) .+ showString ", " .+ showString "depthBiasEnable = " .+ showsPrec d+ (getField @"depthBiasEnable" x)+ .+ showString ", " .+ showString+ "depthBiasConstantFactor = "+ .+ showsPrec d+ (getField+ @"depthBiasConstantFactor"+ x)+ .+ showString ", " .+ showString+ "depthBiasClamp = "+ .+ showsPrec d+ (getField+ @"depthBiasClamp"+ x)+ .+ showString ", " .+ showString+ "depthBiasSlopeFactor = "+ .+ showsPrec d+ (getField+ @"depthBiasSlopeFactor"+ x)+ .+ showString ", "+ .+ showString+ "lineWidth = "+ .+ showsPrec d+ (getField+ @"lineWidth"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkRasterizationOrderAMD rasterizationOrder;+-- > } VkPipelineRasterizationStateRasterizationOrderAMD;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD registry at www.khronos.org>+data VkPipelineRasterizationStateRasterizationOrderAMD = VkPipelineRasterizationStateRasterizationOrderAMD## Addr##+ ByteArray##++instance Eq VkPipelineRasterizationStateRasterizationOrderAMD where+ (VkPipelineRasterizationStateRasterizationOrderAMD## a _) ==+ x@(VkPipelineRasterizationStateRasterizationOrderAMD## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineRasterizationStateRasterizationOrderAMD+ where+ (VkPipelineRasterizationStateRasterizationOrderAMD## a _) `compare`+ x@(VkPipelineRasterizationStateRasterizationOrderAMD## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineRasterizationStateRasterizationOrderAMD+ where+ sizeOf ~_+ = #{size VkPipelineRasterizationStateRasterizationOrderAMD}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineRasterizationStateRasterizationOrderAMD}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ unsafeAddr (VkPipelineRasterizationStateRasterizationOrderAMD## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPipelineRasterizationStateRasterizationOrderAMD## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineRasterizationStateRasterizationOrderAMD##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ type StructFields VkPipelineRasterizationStateRasterizationOrderAMD+ = '["sType", "pNext", "rasterizationOrder"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineRasterizationStateRasterizationOrderAMD =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkPipelineRasterizationStateRasterizationOrderAMD+ = '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineRasterizationStateRasterizationOrderAMD+ where+ type FieldType "sType"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineRasterizationStateRasterizationOrderAMD+ =+ #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}+ type FieldIsArray "sType"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineRasterizationStateRasterizationOrderAMD+ where+ type FieldType "pNext"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineRasterizationStateRasterizationOrderAMD+ =+ #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}+ type FieldIsArray "pNext"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, pNext}++instance {-# OVERLAPPING #-}+ HasField "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ type FieldType "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = VkRasterizationOrderAMD+ type FieldOptional "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ =+ #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}+ type FieldIsArray "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}++instance {-# OVERLAPPING #-}+ CanReadField "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}++instance {-# OVERLAPPING #-}+ CanWriteField "rasterizationOrder"+ VkPipelineRasterizationStateRasterizationOrderAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineRasterizationStateRasterizationOrderAMD, rasterizationOrder}++instance Show VkPipelineRasterizationStateRasterizationOrderAMD+ where+ showsPrec d x+ = showString "VkPipelineRasterizationStateRasterizationOrderAMD {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "rasterizationOrder = " .+ showsPrec d (getField @"rasterizationOrder" x) . showChar '}'++-- | > typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 sampleLocationsEnable;+-- > VkSampleLocationsInfoEXT sampleLocationsInfo;+-- > } VkPipelineSampleLocationsStateCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT registry at www.khronos.org>+data VkPipelineSampleLocationsStateCreateInfoEXT = VkPipelineSampleLocationsStateCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkPipelineSampleLocationsStateCreateInfoEXT where+ (VkPipelineSampleLocationsStateCreateInfoEXT## a _) ==+ x@(VkPipelineSampleLocationsStateCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineSampleLocationsStateCreateInfoEXT where+ (VkPipelineSampleLocationsStateCreateInfoEXT## a _) `compare`+ x@(VkPipelineSampleLocationsStateCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineSampleLocationsStateCreateInfoEXT where+ sizeOf ~_+ = #{size VkPipelineSampleLocationsStateCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineSampleLocationsStateCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ unsafeAddr (VkPipelineSampleLocationsStateCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineSampleLocationsStateCreateInfoEXT## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineSampleLocationsStateCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineSampleLocationsStateCreateInfoEXT+ where+ type StructFields VkPipelineSampleLocationsStateCreateInfoEXT =+ '["sType", "pNext", "sampleLocationsEnable", "sampleLocationsInfo"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineSampleLocationsStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineSampleLocationsStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineSampleLocationsStateCreateInfoEXT =+ '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineSampleLocationsStateCreateInfoEXT where+ type FieldType "sType" VkPipelineSampleLocationsStateCreateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineSampleLocationsStateCreateInfoEXT+ =+ #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineSampleLocationsStateCreateInfoEXT where+ type FieldType "pNext" VkPipelineSampleLocationsStateCreateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineSampleLocationsStateCreateInfoEXT+ =+ #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ type FieldType "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = VkBool32+ type FieldOptional "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ =+ #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}+ type FieldIsArray "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationsEnable"+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsEnable}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ type FieldType "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = VkSampleLocationsInfoEXT+ type FieldOptional "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ =+ #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}+ type FieldIsArray "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationsInfo"+ VkPipelineSampleLocationsStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineSampleLocationsStateCreateInfoEXT, sampleLocationsInfo}++instance Show VkPipelineSampleLocationsStateCreateInfoEXT where+ showsPrec d x+ = showString "VkPipelineSampleLocationsStateCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "sampleLocationsEnable = " .+ showsPrec d (getField @"sampleLocationsEnable" x) .+ showString ", " .+ showString "sampleLocationsInfo = " .+ showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'++-- | > typedef struct VkPipelineShaderStageCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineShaderStageCreateFlags flags;+-- > VkShaderStageFlagBits stage;+-- > VkShaderModule module;+-- > const char* pName;+-- > const VkSpecializationInfo* pSpecializationInfo;+-- > } VkPipelineShaderStageCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo registry at www.khronos.org>+data VkPipelineShaderStageCreateInfo = VkPipelineShaderStageCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineShaderStageCreateInfo where+ (VkPipelineShaderStageCreateInfo## a _) ==+ x@(VkPipelineShaderStageCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineShaderStageCreateInfo where+ (VkPipelineShaderStageCreateInfo## a _) `compare`+ x@(VkPipelineShaderStageCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineShaderStageCreateInfo where+ sizeOf ~_ = #{size VkPipelineShaderStageCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineShaderStageCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineShaderStageCreateInfo where+ unsafeAddr (VkPipelineShaderStageCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineShaderStageCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineShaderStageCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineShaderStageCreateInfo where+ type StructFields VkPipelineShaderStageCreateInfo =+ '["sType", "pNext", "flags", "stage", "module", "pName", -- ' closing tick for hsc2hs+ "pSpecializationInfo"]+ type CUnionType VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineShaderStageCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineShaderStageCreateInfo where+ type FieldType "sType" VkPipelineShaderStageCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineShaderStageCreateInfo =+ #{offset VkPipelineShaderStageCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineShaderStageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineShaderStageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineShaderStageCreateInfo where+ type FieldType "pNext" VkPipelineShaderStageCreateInfo = Ptr Void+ type FieldOptional "pNext" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineShaderStageCreateInfo =+ #{offset VkPipelineShaderStageCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineShaderStageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineShaderStageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineShaderStageCreateInfo where+ type FieldType "flags" VkPipelineShaderStageCreateInfo =+ VkPipelineShaderStageCreateFlags+ type FieldOptional "flags" VkPipelineShaderStageCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineShaderStageCreateInfo =+ #{offset VkPipelineShaderStageCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineShaderStageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineShaderStageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "stage" VkPipelineShaderStageCreateInfo where+ type FieldType "stage" VkPipelineShaderStageCreateInfo =+ VkShaderStageFlagBits+ type FieldOptional "stage" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "stage" VkPipelineShaderStageCreateInfo =+ #{offset VkPipelineShaderStageCreateInfo, stage}+ type FieldIsArray "stage" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, stage}++instance {-# OVERLAPPING #-}+ CanReadField "stage" VkPipelineShaderStageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, stage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, stage}++instance {-# OVERLAPPING #-}+ CanWriteField "stage" VkPipelineShaderStageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, stage}++instance {-# OVERLAPPING #-}+ HasField "module" VkPipelineShaderStageCreateInfo where+ type FieldType "module" VkPipelineShaderStageCreateInfo =+ VkShaderModule+ type FieldOptional "module" VkPipelineShaderStageCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "module" VkPipelineShaderStageCreateInfo =+ #{offset VkPipelineShaderStageCreateInfo, module}+ type FieldIsArray "module" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, module}++instance {-# OVERLAPPING #-}+ CanReadField "module" VkPipelineShaderStageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, module})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, module}++instance {-# OVERLAPPING #-}+ CanWriteField "module" VkPipelineShaderStageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, module}++instance {-# OVERLAPPING #-}+ HasField "pName" VkPipelineShaderStageCreateInfo where+ type FieldType "pName" VkPipelineShaderStageCreateInfo = CString+ type FieldOptional "pName" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pName" VkPipelineShaderStageCreateInfo =+ #{offset VkPipelineShaderStageCreateInfo, pName}+ type FieldIsArray "pName" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, pName}++instance {-# OVERLAPPING #-}+ CanReadField "pName" VkPipelineShaderStageCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, pName})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, pName}++instance {-# OVERLAPPING #-}+ CanWriteField "pName" VkPipelineShaderStageCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, pName}++instance {-# OVERLAPPING #-}+ HasField "pSpecializationInfo" VkPipelineShaderStageCreateInfo+ where+ type FieldType "pSpecializationInfo"+ VkPipelineShaderStageCreateInfo+ = Ptr VkSpecializationInfo+ type FieldOptional "pSpecializationInfo"+ VkPipelineShaderStageCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pSpecializationInfo"+ VkPipelineShaderStageCreateInfo+ =+ #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}+ type FieldIsArray "pSpecializationInfo"+ VkPipelineShaderStageCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}++instance {-# OVERLAPPING #-}+ CanReadField "pSpecializationInfo" VkPipelineShaderStageCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}++instance {-# OVERLAPPING #-}+ CanWriteField "pSpecializationInfo" VkPipelineShaderStageCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineShaderStageCreateInfo, pSpecializationInfo}++instance Show VkPipelineShaderStageCreateInfo where+ showsPrec d x+ = showString "VkPipelineShaderStageCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "stage = " .+ showsPrec d (getField @"stage" x) .+ showString ", " .+ showString "module = " .+ showsPrec d (getField @"module" x) .+ showString ", " .+ showString "pName = " .+ showsPrec d (getField @"pName" x) .+ showString ", " .+ showString "pSpecializationInfo = " .+ showsPrec d (getField @"pSpecializationInfo" x)+ . showChar '}'++-- | > typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkTessellationDomainOrigin domainOrigin;+-- > } VkPipelineTessellationDomainOriginStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo registry at www.khronos.org>+data VkPipelineTessellationDomainOriginStateCreateInfo = VkPipelineTessellationDomainOriginStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineTessellationDomainOriginStateCreateInfo where+ (VkPipelineTessellationDomainOriginStateCreateInfo## a _) ==+ x@(VkPipelineTessellationDomainOriginStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineTessellationDomainOriginStateCreateInfo+ where+ (VkPipelineTessellationDomainOriginStateCreateInfo## a _) `compare`+ x@(VkPipelineTessellationDomainOriginStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineTessellationDomainOriginStateCreateInfo+ where+ sizeOf ~_+ = #{size VkPipelineTessellationDomainOriginStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineTessellationDomainOriginStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ unsafeAddr (VkPipelineTessellationDomainOriginStateCreateInfo## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPipelineTessellationDomainOriginStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineTessellationDomainOriginStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ type StructFields VkPipelineTessellationDomainOriginStateCreateInfo+ = '["sType", "pNext", "domainOrigin"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineTessellationDomainOriginStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type StructExtends+ VkPipelineTessellationDomainOriginStateCreateInfo+ = '[VkPipelineTessellationStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineTessellationDomainOriginStateCreateInfo+ where+ type FieldType "sType"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineTessellationDomainOriginStateCreateInfo+ =+ #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}+ type FieldIsArray "sType"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineTessellationDomainOriginStateCreateInfo+ where+ type FieldType "pNext"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineTessellationDomainOriginStateCreateInfo+ =+ #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}+ type FieldIsArray "pNext"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ type FieldType "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = VkTessellationDomainOrigin+ type FieldOptional "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ =+ #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}+ type FieldIsArray "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}++instance {-# OVERLAPPING #-}+ CanReadField "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}++instance {-# OVERLAPPING #-}+ CanWriteField "domainOrigin"+ VkPipelineTessellationDomainOriginStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationDomainOriginStateCreateInfo, domainOrigin}++instance Show VkPipelineTessellationDomainOriginStateCreateInfo+ where+ showsPrec d x+ = showString "VkPipelineTessellationDomainOriginStateCreateInfo {"+ .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "domainOrigin = " .+ showsPrec d (getField @"domainOrigin" x) . showChar '}'++-- | Alias for `VkPipelineTessellationDomainOriginStateCreateInfo`+type VkPipelineTessellationDomainOriginStateCreateInfoKHR =+ VkPipelineTessellationDomainOriginStateCreateInfo++-- | > typedef struct VkPipelineTessellationStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineTessellationStateCreateFlags flags;+-- > uint32_t patchControlPoints;+-- > } VkPipelineTessellationStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo registry at www.khronos.org>+data VkPipelineTessellationStateCreateInfo = VkPipelineTessellationStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineTessellationStateCreateInfo where+ (VkPipelineTessellationStateCreateInfo## a _) ==+ x@(VkPipelineTessellationStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineTessellationStateCreateInfo where+ (VkPipelineTessellationStateCreateInfo## a _) `compare`+ x@(VkPipelineTessellationStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineTessellationStateCreateInfo where+ sizeOf ~_+ = #{size VkPipelineTessellationStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineTessellationStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineTessellationStateCreateInfo+ where+ unsafeAddr (VkPipelineTessellationStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineTessellationStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineTessellationStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineTessellationStateCreateInfo where+ type StructFields VkPipelineTessellationStateCreateInfo =+ '["sType", "pNext", "flags", "patchControlPoints"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineTessellationStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineTessellationStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineTessellationStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineTessellationStateCreateInfo where+ type FieldType "sType" VkPipelineTessellationStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineTessellationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineTessellationStateCreateInfo =+ #{offset VkPipelineTessellationStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineTessellationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineTessellationStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineTessellationStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineTessellationStateCreateInfo where+ type FieldType "pNext" VkPipelineTessellationStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineTessellationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineTessellationStateCreateInfo =+ #{offset VkPipelineTessellationStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineTessellationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineTessellationStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineTessellationStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineTessellationStateCreateInfo where+ type FieldType "flags" VkPipelineTessellationStateCreateInfo =+ VkPipelineTessellationStateCreateFlags+ type FieldOptional "flags" VkPipelineTessellationStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineTessellationStateCreateInfo =+ #{offset VkPipelineTessellationStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineTessellationStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineTessellationStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineTessellationStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "patchControlPoints" VkPipelineTessellationStateCreateInfo+ where+ type FieldType "patchControlPoints"+ VkPipelineTessellationStateCreateInfo+ = Word32+ type FieldOptional "patchControlPoints"+ VkPipelineTessellationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "patchControlPoints"+ VkPipelineTessellationStateCreateInfo+ =+ #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}+ type FieldIsArray "patchControlPoints"+ VkPipelineTessellationStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}++instance {-# OVERLAPPING #-}+ CanReadField "patchControlPoints"+ VkPipelineTessellationStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}++instance {-# OVERLAPPING #-}+ CanWriteField "patchControlPoints"+ VkPipelineTessellationStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineTessellationStateCreateInfo, patchControlPoints}++instance Show VkPipelineTessellationStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineTessellationStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "patchControlPoints = " .+ showsPrec d (getField @"patchControlPoints" x) . showChar '}'++-- | > typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t vertexBindingDivisorCount;+-- > const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;+-- > } VkPipelineVertexInputDivisorStateCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT registry at www.khronos.org>+data VkPipelineVertexInputDivisorStateCreateInfoEXT = VkPipelineVertexInputDivisorStateCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkPipelineVertexInputDivisorStateCreateInfoEXT where+ (VkPipelineVertexInputDivisorStateCreateInfoEXT## a _) ==+ x@(VkPipelineVertexInputDivisorStateCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineVertexInputDivisorStateCreateInfoEXT where+ (VkPipelineVertexInputDivisorStateCreateInfoEXT## a _) `compare`+ x@(VkPipelineVertexInputDivisorStateCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ sizeOf ~_+ = #{size VkPipelineVertexInputDivisorStateCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineVertexInputDivisorStateCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ unsafeAddr (VkPipelineVertexInputDivisorStateCreateInfoEXT## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkPipelineVertexInputDivisorStateCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineVertexInputDivisorStateCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ type StructFields VkPipelineVertexInputDivisorStateCreateInfoEXT =+ '["sType", "pNext", "vertexBindingDivisorCount", -- ' closing tick for hsc2hs+ "pVertexBindingDivisors"]+ type CUnionType VkPipelineVertexInputDivisorStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineVertexInputDivisorStateCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineVertexInputDivisorStateCreateInfoEXT =+ '[VkPipelineVertexInputStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ type FieldType "sType"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ =+ #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ type FieldType "pNext"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ =+ #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ type FieldType "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = Word32+ type FieldOptional "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ =+ #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}+ type FieldIsArray "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}++instance {-# OVERLAPPING #-}+ CanReadField "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "vertexBindingDivisorCount"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, vertexBindingDivisorCount}++instance {-# OVERLAPPING #-}+ HasField "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ type FieldType "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = Ptr VkVertexInputBindingDivisorDescriptionEXT+ type FieldOptional "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ =+ #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}+ type FieldIsArray "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}++instance {-# OVERLAPPING #-}+ CanReadField "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}++instance {-# OVERLAPPING #-}+ CanWriteField "pVertexBindingDivisors"+ VkPipelineVertexInputDivisorStateCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputDivisorStateCreateInfoEXT, pVertexBindingDivisors}++instance Show VkPipelineVertexInputDivisorStateCreateInfoEXT where+ showsPrec d x+ = showString "VkPipelineVertexInputDivisorStateCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "vertexBindingDivisorCount = " .+ showsPrec d (getField @"vertexBindingDivisorCount" x) .+ showString ", " .+ showString "pVertexBindingDivisors = " .+ showsPrec d (getField @"pVertexBindingDivisors" x) . showChar '}'++-- | > typedef struct VkPipelineVertexInputStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineVertexInputStateCreateFlags flags;+-- > uint32_t vertexBindingDescriptionCount;+-- > const VkVertexInputBindingDescription* pVertexBindingDescriptions;+-- > uint32_t vertexAttributeDescriptionCount;+-- > const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;+-- > } VkPipelineVertexInputStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo registry at www.khronos.org>+data VkPipelineVertexInputStateCreateInfo = VkPipelineVertexInputStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineVertexInputStateCreateInfo where+ (VkPipelineVertexInputStateCreateInfo## a _) ==+ x@(VkPipelineVertexInputStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineVertexInputStateCreateInfo where+ (VkPipelineVertexInputStateCreateInfo## a _) `compare`+ x@(VkPipelineVertexInputStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineVertexInputStateCreateInfo where+ sizeOf ~_+ = #{size VkPipelineVertexInputStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineVertexInputStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineVertexInputStateCreateInfo+ where+ unsafeAddr (VkPipelineVertexInputStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineVertexInputStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineVertexInputStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineVertexInputStateCreateInfo where+ type StructFields VkPipelineVertexInputStateCreateInfo =+ '["sType", "pNext", "flags", "vertexBindingDescriptionCount", -- ' closing tick for hsc2hs+ "pVertexBindingDescriptions", "vertexAttributeDescriptionCount",+ "pVertexAttributeDescriptions"]+ type CUnionType VkPipelineVertexInputStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineVertexInputStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineVertexInputStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineVertexInputStateCreateInfo where+ type FieldType "sType" VkPipelineVertexInputStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineVertexInputStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineVertexInputStateCreateInfo =+ #{offset VkPipelineVertexInputStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineVertexInputStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineVertexInputStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineVertexInputStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineVertexInputStateCreateInfo where+ type FieldType "pNext" VkPipelineVertexInputStateCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkPipelineVertexInputStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineVertexInputStateCreateInfo =+ #{offset VkPipelineVertexInputStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineVertexInputStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineVertexInputStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineVertexInputStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineVertexInputStateCreateInfo where+ type FieldType "flags" VkPipelineVertexInputStateCreateInfo =+ VkPipelineVertexInputStateCreateFlags+ type FieldOptional "flags" VkPipelineVertexInputStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineVertexInputStateCreateInfo =+ #{offset VkPipelineVertexInputStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineVertexInputStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineVertexInputStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineVertexInputStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ where+ type FieldType "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ = Word32+ type FieldOptional "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ =+ #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}+ type FieldIsArray "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}++instance {-# OVERLAPPING #-}+ CanReadField "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}++instance {-# OVERLAPPING #-}+ CanWriteField "vertexBindingDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexBindingDescriptionCount}++instance {-# OVERLAPPING #-}+ HasField "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ where+ type FieldType "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ = Ptr VkVertexInputBindingDescription+ type FieldOptional "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ =+ #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}+ type FieldIsArray "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}++instance {-# OVERLAPPING #-}+ CanReadField "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}++instance {-# OVERLAPPING #-}+ CanWriteField "pVertexBindingDescriptions"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexBindingDescriptions}++instance {-# OVERLAPPING #-}+ HasField "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ where+ type FieldType "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ = Word32+ type FieldOptional "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ =+ #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}+ type FieldIsArray "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}++instance {-# OVERLAPPING #-}+ CanReadField "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}++instance {-# OVERLAPPING #-}+ CanWriteField "vertexAttributeDescriptionCount"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, vertexAttributeDescriptionCount}++instance {-# OVERLAPPING #-}+ HasField "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ where+ type FieldType "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ = Ptr VkVertexInputAttributeDescription+ type FieldOptional "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ =+ #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}+ type FieldIsArray "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}++instance {-# OVERLAPPING #-}+ CanReadField "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}++instance {-# OVERLAPPING #-}+ CanWriteField "pVertexAttributeDescriptions"+ VkPipelineVertexInputStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineVertexInputStateCreateInfo, pVertexAttributeDescriptions}++instance Show VkPipelineVertexInputStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineVertexInputStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "vertexBindingDescriptionCount = " .+ showsPrec d (getField @"vertexBindingDescriptionCount" x) .+ showString ", " .+ showString "pVertexBindingDescriptions = " .+ showsPrec d (getField @"pVertexBindingDescriptions" x) .+ showString ", " .+ showString "vertexAttributeDescriptionCount = " .+ showsPrec d+ (getField @"vertexAttributeDescriptionCount" x)+ .+ showString ", " .+ showString "pVertexAttributeDescriptions = " .+ showsPrec d+ (getField @"pVertexAttributeDescriptions" x)+ . showChar '}'++-- | > typedef struct VkPipelineViewportStateCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineViewportStateCreateFlags flags;+-- > uint32_t viewportCount;+-- > const VkViewport* pViewports;+-- > uint32_t scissorCount;+-- > const VkRect2D* pScissors;+-- > } VkPipelineViewportStateCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo registry at www.khronos.org>+data VkPipelineViewportStateCreateInfo = VkPipelineViewportStateCreateInfo## Addr##+ ByteArray##++instance Eq VkPipelineViewportStateCreateInfo where+ (VkPipelineViewportStateCreateInfo## a _) ==+ x@(VkPipelineViewportStateCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineViewportStateCreateInfo where+ (VkPipelineViewportStateCreateInfo## a _) `compare`+ x@(VkPipelineViewportStateCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineViewportStateCreateInfo where+ sizeOf ~_ = #{size VkPipelineViewportStateCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineViewportStateCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPipelineViewportStateCreateInfo where+ unsafeAddr (VkPipelineViewportStateCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineViewportStateCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineViewportStateCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineViewportStateCreateInfo where+ type StructFields VkPipelineViewportStateCreateInfo =+ '["sType", "pNext", "flags", "viewportCount", "pViewports", -- ' closing tick for hsc2hs+ "scissorCount", "pScissors"]+ type CUnionType VkPipelineViewportStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineViewportStateCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineViewportStateCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineViewportStateCreateInfo where+ type FieldType "sType" VkPipelineViewportStateCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineViewportStateCreateInfo =+ #{offset VkPipelineViewportStateCreateInfo, sType}+ type FieldIsArray "sType" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineViewportStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineViewportStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineViewportStateCreateInfo where+ type FieldType "pNext" VkPipelineViewportStateCreateInfo = Ptr Void+ type FieldOptional "pNext" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineViewportStateCreateInfo =+ #{offset VkPipelineViewportStateCreateInfo, pNext}+ type FieldIsArray "pNext" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineViewportStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineViewportStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineViewportStateCreateInfo where+ type FieldType "flags" VkPipelineViewportStateCreateInfo =+ VkPipelineViewportStateCreateFlags+ type FieldOptional "flags" VkPipelineViewportStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineViewportStateCreateInfo =+ #{offset VkPipelineViewportStateCreateInfo, flags}+ type FieldIsArray "flags" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineViewportStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineViewportStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "viewportCount" VkPipelineViewportStateCreateInfo where+ type FieldType "viewportCount" VkPipelineViewportStateCreateInfo =+ Word32+ type FieldOptional "viewportCount"+ VkPipelineViewportStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewportCount" VkPipelineViewportStateCreateInfo+ =+ #{offset VkPipelineViewportStateCreateInfo, viewportCount}+ type FieldIsArray "viewportCount" VkPipelineViewportStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, viewportCount}++instance {-# OVERLAPPING #-}+ CanReadField "viewportCount" VkPipelineViewportStateCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, viewportCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, viewportCount}++instance {-# OVERLAPPING #-}+ CanWriteField "viewportCount" VkPipelineViewportStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, viewportCount}++instance {-# OVERLAPPING #-}+ HasField "pViewports" VkPipelineViewportStateCreateInfo where+ type FieldType "pViewports" VkPipelineViewportStateCreateInfo =+ Ptr VkViewport+ type FieldOptional "pViewports" VkPipelineViewportStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pViewports" VkPipelineViewportStateCreateInfo =+ #{offset VkPipelineViewportStateCreateInfo, pViewports}+ type FieldIsArray "pViewports" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, pViewports}++instance {-# OVERLAPPING #-}+ CanReadField "pViewports" VkPipelineViewportStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, pViewports})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, pViewports}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewports" VkPipelineViewportStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, pViewports}++instance {-# OVERLAPPING #-}+ HasField "scissorCount" VkPipelineViewportStateCreateInfo where+ type FieldType "scissorCount" VkPipelineViewportStateCreateInfo =+ Word32+ type FieldOptional "scissorCount" VkPipelineViewportStateCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "scissorCount" VkPipelineViewportStateCreateInfo =+ #{offset VkPipelineViewportStateCreateInfo, scissorCount}+ type FieldIsArray "scissorCount" VkPipelineViewportStateCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, scissorCount}++instance {-# OVERLAPPING #-}+ CanReadField "scissorCount" VkPipelineViewportStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, scissorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, scissorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "scissorCount" VkPipelineViewportStateCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, scissorCount}++instance {-# OVERLAPPING #-}+ HasField "pScissors" VkPipelineViewportStateCreateInfo where+ type FieldType "pScissors" VkPipelineViewportStateCreateInfo =+ Ptr VkRect2D+ type FieldOptional "pScissors" VkPipelineViewportStateCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pScissors" VkPipelineViewportStateCreateInfo =+ #{offset VkPipelineViewportStateCreateInfo, pScissors}+ type FieldIsArray "pScissors" VkPipelineViewportStateCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportStateCreateInfo, pScissors}++instance {-# OVERLAPPING #-}+ CanReadField "pScissors" VkPipelineViewportStateCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportStateCreateInfo, pScissors})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportStateCreateInfo, pScissors}++instance {-# OVERLAPPING #-}+ CanWriteField "pScissors" VkPipelineViewportStateCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportStateCreateInfo, pScissors}++instance Show VkPipelineViewportStateCreateInfo where+ showsPrec d x+ = showString "VkPipelineViewportStateCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "viewportCount = " .+ showsPrec d (getField @"viewportCount" x) .+ showString ", " .+ showString "pViewports = " .+ showsPrec d (getField @"pViewports" x) .+ showString ", " .+ showString "scissorCount = " .+ showsPrec d (getField @"scissorCount" x) .+ showString ", " .+ showString "pScissors = " .+ showsPrec d (getField @"pScissors" x) .+ showChar '}'++-- | > typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkPipelineViewportSwizzleStateCreateFlagsNV flags;+-- > uint32_t viewportCount;+-- > const VkViewportSwizzleNV* pViewportSwizzles;+-- > } VkPipelineViewportSwizzleStateCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV registry at www.khronos.org>+data VkPipelineViewportSwizzleStateCreateInfoNV = VkPipelineViewportSwizzleStateCreateInfoNV## Addr##+ ByteArray##++instance Eq VkPipelineViewportSwizzleStateCreateInfoNV where+ (VkPipelineViewportSwizzleStateCreateInfoNV## a _) ==+ x@(VkPipelineViewportSwizzleStateCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineViewportSwizzleStateCreateInfoNV where+ (VkPipelineViewportSwizzleStateCreateInfoNV## a _) `compare`+ x@(VkPipelineViewportSwizzleStateCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineViewportSwizzleStateCreateInfoNV where+ sizeOf ~_+ = #{size VkPipelineViewportSwizzleStateCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineViewportSwizzleStateCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineViewportSwizzleStateCreateInfoNV+ where+ unsafeAddr (VkPipelineViewportSwizzleStateCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineViewportSwizzleStateCreateInfoNV## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineViewportSwizzleStateCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineViewportSwizzleStateCreateInfoNV+ where+ type StructFields VkPipelineViewportSwizzleStateCreateInfoNV =+ '["sType", "pNext", "flags", "viewportCount", "pViewportSwizzles"] -- ' closing tick for hsc2hs+ type CUnionType VkPipelineViewportSwizzleStateCreateInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineViewportSwizzleStateCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineViewportSwizzleStateCreateInfoNV =+ '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineViewportSwizzleStateCreateInfoNV where+ type FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV =+ VkStructureType+ type FieldOptional "sType"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPipelineViewportSwizzleStateCreateInfoNV+ =+ #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}+ type FieldIsArray "sType"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV where+ type FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV =+ Ptr Void+ type FieldOptional "pNext"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPipelineViewportSwizzleStateCreateInfoNV+ =+ #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}+ type FieldIsArray "pNext"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkPipelineViewportSwizzleStateCreateInfoNV where+ type FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV =+ VkPipelineViewportSwizzleStateCreateFlagsNV+ type FieldOptional "flags"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkPipelineViewportSwizzleStateCreateInfoNV+ =+ #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}+ type FieldIsArray "flags"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, flags}++instance {-# OVERLAPPING #-}+ HasField "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV+ where+ type FieldType "viewportCount"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = Word32+ type FieldOptional "viewportCount"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewportCount"+ VkPipelineViewportSwizzleStateCreateInfoNV+ =+ #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}+ type FieldIsArray "viewportCount"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}++instance {-# OVERLAPPING #-}+ CanReadField "viewportCount"+ VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}++instance {-# OVERLAPPING #-}+ CanWriteField "viewportCount"+ VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, viewportCount}++instance {-# OVERLAPPING #-}+ HasField "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ where+ type FieldType "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = Ptr VkViewportSwizzleNV+ type FieldOptional "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ =+ #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}+ type FieldIsArray "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}++instance {-# OVERLAPPING #-}+ CanReadField "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewportSwizzles"+ VkPipelineViewportSwizzleStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportSwizzleStateCreateInfoNV, pViewportSwizzles}++instance Show VkPipelineViewportSwizzleStateCreateInfoNV where+ showsPrec d x+ = showString "VkPipelineViewportSwizzleStateCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "viewportCount = " .+ showsPrec d (getField @"viewportCount" x) .+ showString ", " .+ showString "pViewportSwizzles = " .+ showsPrec d (getField @"pViewportSwizzles" x) . showChar '}'++-- | > typedef struct VkPipelineViewportWScalingStateCreateInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 viewportWScalingEnable;+-- > uint32_t viewportCount;+-- > const VkViewportWScalingNV* pViewportWScalings;+-- > } VkPipelineViewportWScalingStateCreateInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV registry at www.khronos.org>+data VkPipelineViewportWScalingStateCreateInfoNV = VkPipelineViewportWScalingStateCreateInfoNV## Addr##+ ByteArray##++instance Eq VkPipelineViewportWScalingStateCreateInfoNV where+ (VkPipelineViewportWScalingStateCreateInfoNV## a _) ==+ x@(VkPipelineViewportWScalingStateCreateInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPipelineViewportWScalingStateCreateInfoNV where+ (VkPipelineViewportWScalingStateCreateInfoNV## a _) `compare`+ x@(VkPipelineViewportWScalingStateCreateInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPipelineViewportWScalingStateCreateInfoNV where+ sizeOf ~_+ = #{size VkPipelineViewportWScalingStateCreateInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkPipelineViewportWScalingStateCreateInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ unsafeAddr (VkPipelineViewportWScalingStateCreateInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPipelineViewportWScalingStateCreateInfoNV## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPipelineViewportWScalingStateCreateInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPipelineViewportWScalingStateCreateInfoNV+ where+ type StructFields VkPipelineViewportWScalingStateCreateInfoNV =+ '["sType", "pNext", "viewportWScalingEnable", "viewportCount", -- ' closing tick for hsc2hs+ "pViewportWScalings"]+ type CUnionType VkPipelineViewportWScalingStateCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPipelineViewportWScalingStateCreateInfoNV =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkPipelineViewportWScalingStateCreateInfoNV =+ '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPipelineViewportWScalingStateCreateInfoNV where+ type FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV+ = VkStructureType+ type FieldOptional "sType"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkPipelineViewportWScalingStateCreateInfoNV+ =+ #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}+ type FieldIsArray "sType"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPipelineViewportWScalingStateCreateInfoNV where+ type FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV+ = Ptr Void+ type FieldOptional "pNext"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkPipelineViewportWScalingStateCreateInfoNV+ =+ #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}+ type FieldIsArray "pNext"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ type FieldType "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ = VkBool32+ type FieldOptional "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ =+ #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}+ type FieldIsArray "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}++instance {-# OVERLAPPING #-}+ CanReadField "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "viewportWScalingEnable"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportWScalingEnable}++instance {-# OVERLAPPING #-}+ HasField "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ type FieldType "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ = Word32+ type FieldOptional "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ =+ #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}+ type FieldIsArray "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}++instance {-# OVERLAPPING #-}+ CanReadField "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}++instance {-# OVERLAPPING #-}+ CanWriteField "viewportCount"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, viewportCount}++instance {-# OVERLAPPING #-}+ HasField "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ type FieldType "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ = Ptr VkViewportWScalingNV+ type FieldOptional "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ =+ #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}+ type FieldIsArray "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}++instance {-# OVERLAPPING #-}+ CanReadField "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewportWScalings"+ VkPipelineViewportWScalingStateCreateInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPipelineViewportWScalingStateCreateInfoNV, pViewportWScalings}++instance Show VkPipelineViewportWScalingStateCreateInfoNV where+ showsPrec d x+ = showString "VkPipelineViewportWScalingStateCreateInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "viewportWScalingEnable = " .+ showsPrec d (getField @"viewportWScalingEnable" x) .+ showString ", " .+ showString "viewportCount = " .+ showsPrec d (getField @"viewportCount" x) .+ showString ", " .+ showString "pViewportWScalings = " .+ showsPrec d (getField @"pViewportWScalings" x) .+ showChar '}'
@@ -0,0 +1,1816 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformAndroidKhr+ (VkAndroidHardwareBufferFormatPropertiesANDROID(..),+ VkAndroidHardwareBufferPropertiesANDROID(..),+ VkAndroidHardwareBufferUsageANDROID(..),+ VkAndroidSurfaceCreateInfoKHR(..), VkExternalFormatANDROID(..),+ VkImportAndroidHardwareBufferInfoANDROID(..),+ VkMemoryGetAndroidHardwareBufferInfoANDROID(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Bitmasks (VkAndroidSurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Defines (AHardwareBuffer,+ ANativeWindow)+import Graphics.Vulkan.Types.Enum.ChromaLocation (VkChromaLocation)+import Graphics.Vulkan.Types.Enum.Format (VkFormat, VkFormatFeatureFlags)+import Graphics.Vulkan.Types.Enum.Sampler (VkSamplerYcbcrModelConversion,+ VkSamplerYcbcrRange)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkDeviceMemory)+import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Image (VkImageCreateInfo,+ VkImageFormatProperties2)+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryAllocateInfo)+import Graphics.Vulkan.Types.Struct.Sampler (VkSamplerYcbcrConversionCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkFormat format;+-- > uint64_t externalFormat;+-- > VkFormatFeatureFlags formatFeatures;+-- > VkComponentMapping samplerYcbcrConversionComponents;+-- > VkSamplerYcbcrModelConversion suggestedYcbcrModel;+-- > VkSamplerYcbcrRange suggestedYcbcrRange;+-- > VkChromaLocation suggestedXChromaOffset;+-- > VkChromaLocation suggestedYChromaOffset;+-- > } VkAndroidHardwareBufferFormatPropertiesANDROID;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferFormatPropertiesANDROID VkAndroidHardwareBufferFormatPropertiesANDROID registry at www.khronos.org>+data VkAndroidHardwareBufferFormatPropertiesANDROID = VkAndroidHardwareBufferFormatPropertiesANDROID## Addr##+ ByteArray##++instance Eq VkAndroidHardwareBufferFormatPropertiesANDROID where+ (VkAndroidHardwareBufferFormatPropertiesANDROID## a _) ==+ x@(VkAndroidHardwareBufferFormatPropertiesANDROID## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAndroidHardwareBufferFormatPropertiesANDROID where+ (VkAndroidHardwareBufferFormatPropertiesANDROID## a _) `compare`+ x@(VkAndroidHardwareBufferFormatPropertiesANDROID## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ sizeOf ~_+ = #{size VkAndroidHardwareBufferFormatPropertiesANDROID}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkAndroidHardwareBufferFormatPropertiesANDROID}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ unsafeAddr (VkAndroidHardwareBufferFormatPropertiesANDROID## a _)+ = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkAndroidHardwareBufferFormatPropertiesANDROID## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAndroidHardwareBufferFormatPropertiesANDROID##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type StructFields VkAndroidHardwareBufferFormatPropertiesANDROID =+ '["sType", "pNext", "format", "externalFormat", "formatFeatures", -- ' closing tick for hsc2hs+ "samplerYcbcrConversionComponents", "suggestedYcbcrModel",+ "suggestedYcbcrRange", "suggestedXChromaOffset",+ "suggestedYChromaOffset"]+ type CUnionType VkAndroidHardwareBufferFormatPropertiesANDROID =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAndroidHardwareBufferFormatPropertiesANDROID =+ 'True -- ' closing tick for hsc2hs+ type StructExtends VkAndroidHardwareBufferFormatPropertiesANDROID =+ '[VkAndroidHardwareBufferPropertiesANDROID] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "sType"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkStructureType+ type FieldOptional "sType"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}+ type FieldIsArray "sType"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "pNext"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = Ptr Void+ type FieldOptional "pNext"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}+ type FieldIsArray "pNext"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+ HasField "format" VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "format"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkFormat+ type FieldOptional "format"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}+ type FieldIsArray "format"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}++instance {-# OVERLAPPING #-}+ CanReadField "format"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}++instance {-# OVERLAPPING #-}+ HasField "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = Word64+ type FieldOptional "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}+ type FieldIsArray "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}++instance {-# OVERLAPPING #-}+ CanReadField "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}++instance {-# OVERLAPPING #-}+ CanWriteField "externalFormat"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}++instance {-# OVERLAPPING #-}+ HasField "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkFormatFeatureFlags+ type FieldOptional "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}+ type FieldIsArray "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}++instance {-# OVERLAPPING #-}+ CanReadField "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}++instance {-# OVERLAPPING #-}+ CanWriteField "formatFeatures"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}++instance {-# OVERLAPPING #-}+ HasField "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkComponentMapping+ type FieldOptional "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}+ type FieldIsArray "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}++instance {-# OVERLAPPING #-}+ CanReadField "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}++instance {-# OVERLAPPING #-}+ CanWriteField "samplerYcbcrConversionComponents"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}++instance {-# OVERLAPPING #-}+ HasField "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkSamplerYcbcrModelConversion+ type FieldOptional "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}+ type FieldIsArray "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}++instance {-# OVERLAPPING #-}+ CanReadField "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}++instance {-# OVERLAPPING #-}+ CanWriteField "suggestedYcbcrModel"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}++instance {-# OVERLAPPING #-}+ HasField "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkSamplerYcbcrRange+ type FieldOptional "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}+ type FieldIsArray "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}++instance {-# OVERLAPPING #-}+ CanReadField "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}++instance {-# OVERLAPPING #-}+ CanWriteField "suggestedYcbcrRange"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}++instance {-# OVERLAPPING #-}+ HasField "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkChromaLocation+ type FieldOptional "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}+ type FieldIsArray "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}++instance {-# OVERLAPPING #-}+ CanReadField "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "suggestedXChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}++instance {-# OVERLAPPING #-}+ HasField "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ type FieldType "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = VkChromaLocation+ type FieldOptional "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}+ type FieldIsArray "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}++instance {-# OVERLAPPING #-}+ CanReadField "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "suggestedYChromaOffset"+ VkAndroidHardwareBufferFormatPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}++instance Show VkAndroidHardwareBufferFormatPropertiesANDROID where+ showsPrec d x+ = showString "VkAndroidHardwareBufferFormatPropertiesANDROID {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "externalFormat = " .+ showsPrec d (getField @"externalFormat" x) .+ showString ", " .+ showString "formatFeatures = " .+ showsPrec d (getField @"formatFeatures" x) .+ showString ", " .+ showString "samplerYcbcrConversionComponents = " .+ showsPrec d+ (getField @"samplerYcbcrConversionComponents" x)+ .+ showString ", " .+ showString "suggestedYcbcrModel = " .+ showsPrec d (getField @"suggestedYcbcrModel" x)+ .+ showString ", " .+ showString "suggestedYcbcrRange = " .+ showsPrec d+ (getField @"suggestedYcbcrRange" x)+ .+ showString ", " .+ showString "suggestedXChromaOffset = "+ .+ showsPrec d+ (getField+ @"suggestedXChromaOffset"+ x)+ .+ showString ", " .+ showString+ "suggestedYChromaOffset = "+ .+ showsPrec d+ (getField+ @"suggestedYChromaOffset"+ x)+ . showChar '}'++-- | > typedef struct VkAndroidHardwareBufferPropertiesANDROID {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkDeviceSize allocationSize;+-- > uint32_t memoryTypeBits;+-- > } VkAndroidHardwareBufferPropertiesANDROID;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferPropertiesANDROID VkAndroidHardwareBufferPropertiesANDROID registry at www.khronos.org>+data VkAndroidHardwareBufferPropertiesANDROID = VkAndroidHardwareBufferPropertiesANDROID## Addr##+ ByteArray##++instance Eq VkAndroidHardwareBufferPropertiesANDROID where+ (VkAndroidHardwareBufferPropertiesANDROID## a _) ==+ x@(VkAndroidHardwareBufferPropertiesANDROID## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAndroidHardwareBufferPropertiesANDROID where+ (VkAndroidHardwareBufferPropertiesANDROID## a _) `compare`+ x@(VkAndroidHardwareBufferPropertiesANDROID## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAndroidHardwareBufferPropertiesANDROID where+ sizeOf ~_+ = #{size VkAndroidHardwareBufferPropertiesANDROID}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkAndroidHardwareBufferPropertiesANDROID}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAndroidHardwareBufferPropertiesANDROID+ where+ unsafeAddr (VkAndroidHardwareBufferPropertiesANDROID## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAndroidHardwareBufferPropertiesANDROID## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAndroidHardwareBufferPropertiesANDROID##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAndroidHardwareBufferPropertiesANDROID+ where+ type StructFields VkAndroidHardwareBufferPropertiesANDROID =+ '["sType", "pNext", "allocationSize", "memoryTypeBits"] -- ' closing tick for hsc2hs+ type CUnionType VkAndroidHardwareBufferPropertiesANDROID = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAndroidHardwareBufferPropertiesANDROID = 'True -- ' closing tick for hsc2hs+ type StructExtends VkAndroidHardwareBufferPropertiesANDROID = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkAndroidHardwareBufferPropertiesANDROID where+ type FieldType "sType" VkAndroidHardwareBufferPropertiesANDROID =+ VkStructureType+ type FieldOptional "sType" VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkAndroidHardwareBufferPropertiesANDROID =+ #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}+ type FieldIsArray "sType" VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkAndroidHardwareBufferPropertiesANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkAndroidHardwareBufferPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkAndroidHardwareBufferPropertiesANDROID where+ type FieldType "pNext" VkAndroidHardwareBufferPropertiesANDROID =+ Ptr Void+ type FieldOptional "pNext" VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkAndroidHardwareBufferPropertiesANDROID =+ #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}+ type FieldIsArray "pNext" VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkAndroidHardwareBufferPropertiesANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkAndroidHardwareBufferPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, pNext}++instance {-# OVERLAPPING #-}+ HasField "allocationSize" VkAndroidHardwareBufferPropertiesANDROID+ where+ type FieldType "allocationSize"+ VkAndroidHardwareBufferPropertiesANDROID+ = VkDeviceSize+ type FieldOptional "allocationSize"+ VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "allocationSize"+ VkAndroidHardwareBufferPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}+ type FieldIsArray "allocationSize"+ VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}++instance {-# OVERLAPPING #-}+ CanReadField "allocationSize"+ VkAndroidHardwareBufferPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}++instance {-# OVERLAPPING #-}+ CanWriteField "allocationSize"+ VkAndroidHardwareBufferPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, allocationSize}++instance {-# OVERLAPPING #-}+ HasField "memoryTypeBits" VkAndroidHardwareBufferPropertiesANDROID+ where+ type FieldType "memoryTypeBits"+ VkAndroidHardwareBufferPropertiesANDROID+ = Word32+ type FieldOptional "memoryTypeBits"+ VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeBits"+ VkAndroidHardwareBufferPropertiesANDROID+ =+ #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}+ type FieldIsArray "memoryTypeBits"+ VkAndroidHardwareBufferPropertiesANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeBits"+ VkAndroidHardwareBufferPropertiesANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeBits"+ VkAndroidHardwareBufferPropertiesANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferPropertiesANDROID, memoryTypeBits}++instance Show VkAndroidHardwareBufferPropertiesANDROID where+ showsPrec d x+ = showString "VkAndroidHardwareBufferPropertiesANDROID {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "allocationSize = " .+ showsPrec d (getField @"allocationSize" x) .+ showString ", " .+ showString "memoryTypeBits = " .+ showsPrec d (getField @"memoryTypeBits" x) . showChar '}'++-- | > typedef struct VkAndroidHardwareBufferUsageANDROID {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint64_t androidHardwareBufferUsage;+-- > } VkAndroidHardwareBufferUsageANDROID;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidHardwareBufferUsageANDROID VkAndroidHardwareBufferUsageANDROID registry at www.khronos.org>+data VkAndroidHardwareBufferUsageANDROID = VkAndroidHardwareBufferUsageANDROID## Addr##+ ByteArray##++instance Eq VkAndroidHardwareBufferUsageANDROID where+ (VkAndroidHardwareBufferUsageANDROID## a _) ==+ x@(VkAndroidHardwareBufferUsageANDROID## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAndroidHardwareBufferUsageANDROID where+ (VkAndroidHardwareBufferUsageANDROID## a _) `compare`+ x@(VkAndroidHardwareBufferUsageANDROID## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAndroidHardwareBufferUsageANDROID where+ sizeOf ~_ = #{size VkAndroidHardwareBufferUsageANDROID}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkAndroidHardwareBufferUsageANDROID}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAndroidHardwareBufferUsageANDROID+ where+ unsafeAddr (VkAndroidHardwareBufferUsageANDROID## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAndroidHardwareBufferUsageANDROID## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAndroidHardwareBufferUsageANDROID##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAndroidHardwareBufferUsageANDROID where+ type StructFields VkAndroidHardwareBufferUsageANDROID =+ '["sType", "pNext", "androidHardwareBufferUsage"] -- ' closing tick for hsc2hs+ type CUnionType VkAndroidHardwareBufferUsageANDROID = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAndroidHardwareBufferUsageANDROID = 'True -- ' closing tick for hsc2hs+ type StructExtends VkAndroidHardwareBufferUsageANDROID =+ '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkAndroidHardwareBufferUsageANDROID where+ type FieldType "sType" VkAndroidHardwareBufferUsageANDROID =+ VkStructureType+ type FieldOptional "sType" VkAndroidHardwareBufferUsageANDROID =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkAndroidHardwareBufferUsageANDROID =+ #{offset VkAndroidHardwareBufferUsageANDROID, sType}+ type FieldIsArray "sType" VkAndroidHardwareBufferUsageANDROID =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferUsageANDROID, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkAndroidHardwareBufferUsageANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkAndroidHardwareBufferUsageANDROID where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkAndroidHardwareBufferUsageANDROID where+ type FieldType "pNext" VkAndroidHardwareBufferUsageANDROID =+ Ptr Void+ type FieldOptional "pNext" VkAndroidHardwareBufferUsageANDROID =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkAndroidHardwareBufferUsageANDROID =+ #{offset VkAndroidHardwareBufferUsageANDROID, pNext}+ type FieldIsArray "pNext" VkAndroidHardwareBufferUsageANDROID =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferUsageANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkAndroidHardwareBufferUsageANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkAndroidHardwareBufferUsageANDROID where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, pNext}++instance {-# OVERLAPPING #-}+ HasField "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ where+ type FieldType "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ = Word64+ type FieldOptional "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ =+ #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}+ type FieldIsArray "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}++instance {-# OVERLAPPING #-}+ CanReadField "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}++instance {-# OVERLAPPING #-}+ CanWriteField "androidHardwareBufferUsage"+ VkAndroidHardwareBufferUsageANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidHardwareBufferUsageANDROID, androidHardwareBufferUsage}++instance Show VkAndroidHardwareBufferUsageANDROID where+ showsPrec d x+ = showString "VkAndroidHardwareBufferUsageANDROID {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "androidHardwareBufferUsage = " .+ showsPrec d (getField @"androidHardwareBufferUsage" x) .+ showChar '}'++-- | > typedef struct VkAndroidSurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkAndroidSurfaceCreateFlagsKHR flags;+-- > struct ANativeWindow* window;+-- > } VkAndroidSurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkAndroidSurfaceCreateInfoKHR VkAndroidSurfaceCreateInfoKHR registry at www.khronos.org>+data VkAndroidSurfaceCreateInfoKHR = VkAndroidSurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkAndroidSurfaceCreateInfoKHR where+ (VkAndroidSurfaceCreateInfoKHR## a _) ==+ x@(VkAndroidSurfaceCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkAndroidSurfaceCreateInfoKHR where+ (VkAndroidSurfaceCreateInfoKHR## a _) `compare`+ x@(VkAndroidSurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkAndroidSurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkAndroidSurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkAndroidSurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkAndroidSurfaceCreateInfoKHR where+ unsafeAddr (VkAndroidSurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkAndroidSurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkAndroidSurfaceCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkAndroidSurfaceCreateInfoKHR where+ type StructFields VkAndroidSurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "window"] -- ' closing tick for hsc2hs+ type CUnionType VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkAndroidSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkAndroidSurfaceCreateInfoKHR where+ type FieldType "sType" VkAndroidSurfaceCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkAndroidSurfaceCreateInfoKHR =+ #{offset VkAndroidSurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkAndroidSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkAndroidSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkAndroidSurfaceCreateInfoKHR where+ type FieldType "pNext" VkAndroidSurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkAndroidSurfaceCreateInfoKHR =+ #{offset VkAndroidSurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkAndroidSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkAndroidSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkAndroidSurfaceCreateInfoKHR where+ type FieldType "flags" VkAndroidSurfaceCreateInfoKHR =+ VkAndroidSurfaceCreateFlagsKHR+ type FieldOptional "flags" VkAndroidSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkAndroidSurfaceCreateInfoKHR =+ #{offset VkAndroidSurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkAndroidSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkAndroidSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "window" VkAndroidSurfaceCreateInfoKHR where+ type FieldType "window" VkAndroidSurfaceCreateInfoKHR =+ Ptr ANativeWindow+ type FieldOptional "window" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "window" VkAndroidSurfaceCreateInfoKHR =+ #{offset VkAndroidSurfaceCreateInfoKHR, window}+ type FieldIsArray "window" VkAndroidSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkAndroidSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+ CanReadField "window" VkAndroidSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkAndroidSurfaceCreateInfoKHR, window})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+ CanWriteField "window" VkAndroidSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkAndroidSurfaceCreateInfoKHR, window}++instance Show VkAndroidSurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkAndroidSurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "window = " .+ showsPrec d (getField @"window" x) . showChar '}'++-- | > typedef struct VkExternalFormatANDROID {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint64_t externalFormat;+-- > } VkExternalFormatANDROID;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExternalFormatANDROID VkExternalFormatANDROID registry at www.khronos.org>+data VkExternalFormatANDROID = VkExternalFormatANDROID## Addr##+ ByteArray##++instance Eq VkExternalFormatANDROID where+ (VkExternalFormatANDROID## a _) == x@(VkExternalFormatANDROID## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExternalFormatANDROID where+ (VkExternalFormatANDROID## a _) `compare`+ x@(VkExternalFormatANDROID## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExternalFormatANDROID where+ sizeOf ~_ = #{size VkExternalFormatANDROID}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkExternalFormatANDROID}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExternalFormatANDROID where+ unsafeAddr (VkExternalFormatANDROID## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExternalFormatANDROID## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExternalFormatANDROID## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExternalFormatANDROID where+ type StructFields VkExternalFormatANDROID =+ '["sType", "pNext", "externalFormat"] -- ' closing tick for hsc2hs+ type CUnionType VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExternalFormatANDROID =+ '[VkImageCreateInfo, VkSamplerYcbcrConversionCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExternalFormatANDROID where+ type FieldType "sType" VkExternalFormatANDROID = VkStructureType+ type FieldOptional "sType" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExternalFormatANDROID =+ #{offset VkExternalFormatANDROID, sType}+ type FieldIsArray "sType" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExternalFormatANDROID, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExternalFormatANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFormatANDROID, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExternalFormatANDROID where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFormatANDROID, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExternalFormatANDROID where+ type FieldType "pNext" VkExternalFormatANDROID = Ptr Void+ type FieldOptional "pNext" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExternalFormatANDROID =+ #{offset VkExternalFormatANDROID, pNext}+ type FieldIsArray "pNext" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkExternalFormatANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExternalFormatANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFormatANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExternalFormatANDROID where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFormatANDROID, pNext}++instance {-# OVERLAPPING #-}+ HasField "externalFormat" VkExternalFormatANDROID where+ type FieldType "externalFormat" VkExternalFormatANDROID = Word64+ type FieldOptional "externalFormat" VkExternalFormatANDROID =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "externalFormat" VkExternalFormatANDROID =+ #{offset VkExternalFormatANDROID, externalFormat}+ type FieldIsArray "externalFormat" VkExternalFormatANDROID = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExternalFormatANDROID, externalFormat}++instance {-# OVERLAPPING #-}+ CanReadField "externalFormat" VkExternalFormatANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExternalFormatANDROID, externalFormat})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExternalFormatANDROID, externalFormat}++instance {-# OVERLAPPING #-}+ CanWriteField "externalFormat" VkExternalFormatANDROID where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExternalFormatANDROID, externalFormat}++instance Show VkExternalFormatANDROID where+ showsPrec d x+ = showString "VkExternalFormatANDROID {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "externalFormat = " .+ showsPrec d (getField @"externalFormat" x) . showChar '}'++-- | > typedef struct VkImportAndroidHardwareBufferInfoANDROID {+-- > VkStructureType sType;+-- > const void* pNext;+-- > struct AHardwareBuffer* buffer;+-- > } VkImportAndroidHardwareBufferInfoANDROID;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportAndroidHardwareBufferInfoANDROID VkImportAndroidHardwareBufferInfoANDROID registry at www.khronos.org>+data VkImportAndroidHardwareBufferInfoANDROID = VkImportAndroidHardwareBufferInfoANDROID## Addr##+ ByteArray##++instance Eq VkImportAndroidHardwareBufferInfoANDROID where+ (VkImportAndroidHardwareBufferInfoANDROID## a _) ==+ x@(VkImportAndroidHardwareBufferInfoANDROID## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportAndroidHardwareBufferInfoANDROID where+ (VkImportAndroidHardwareBufferInfoANDROID## a _) `compare`+ x@(VkImportAndroidHardwareBufferInfoANDROID## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportAndroidHardwareBufferInfoANDROID where+ sizeOf ~_+ = #{size VkImportAndroidHardwareBufferInfoANDROID}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImportAndroidHardwareBufferInfoANDROID}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportAndroidHardwareBufferInfoANDROID+ where+ unsafeAddr (VkImportAndroidHardwareBufferInfoANDROID## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportAndroidHardwareBufferInfoANDROID## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportAndroidHardwareBufferInfoANDROID##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportAndroidHardwareBufferInfoANDROID+ where+ type StructFields VkImportAndroidHardwareBufferInfoANDROID =+ '["sType", "pNext", "buffer"] -- ' closing tick for hsc2hs+ type CUnionType VkImportAndroidHardwareBufferInfoANDROID = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportAndroidHardwareBufferInfoANDROID = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportAndroidHardwareBufferInfoANDROID =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportAndroidHardwareBufferInfoANDROID where+ type FieldType "sType" VkImportAndroidHardwareBufferInfoANDROID =+ VkStructureType+ type FieldOptional "sType" VkImportAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportAndroidHardwareBufferInfoANDROID =+ #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}+ type FieldIsArray "sType" VkImportAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportAndroidHardwareBufferInfoANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportAndroidHardwareBufferInfoANDROID, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportAndroidHardwareBufferInfoANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportAndroidHardwareBufferInfoANDROID where+ type FieldType "pNext" VkImportAndroidHardwareBufferInfoANDROID =+ Ptr Void+ type FieldOptional "pNext" VkImportAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportAndroidHardwareBufferInfoANDROID =+ #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}+ type FieldIsArray "pNext" VkImportAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportAndroidHardwareBufferInfoANDROID where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportAndroidHardwareBufferInfoANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, pNext}++instance {-# OVERLAPPING #-}+ HasField "buffer" VkImportAndroidHardwareBufferInfoANDROID where+ type FieldType "buffer" VkImportAndroidHardwareBufferInfoANDROID =+ Ptr AHardwareBuffer+ type FieldOptional "buffer"+ VkImportAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkImportAndroidHardwareBufferInfoANDROID+ =+ #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}+ type FieldIsArray "buffer" VkImportAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkImportAndroidHardwareBufferInfoANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkImportAndroidHardwareBufferInfoANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportAndroidHardwareBufferInfoANDROID, buffer}++instance Show VkImportAndroidHardwareBufferInfoANDROID where+ showsPrec d x+ = showString "VkImportAndroidHardwareBufferInfoANDROID {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) . showChar '}'++-- | > typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceMemory memory;+-- > } VkMemoryGetAndroidHardwareBufferInfoANDROID;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetAndroidHardwareBufferInfoANDROID VkMemoryGetAndroidHardwareBufferInfoANDROID registry at www.khronos.org>+data VkMemoryGetAndroidHardwareBufferInfoANDROID = VkMemoryGetAndroidHardwareBufferInfoANDROID## Addr##+ ByteArray##++instance Eq VkMemoryGetAndroidHardwareBufferInfoANDROID where+ (VkMemoryGetAndroidHardwareBufferInfoANDROID## a _) ==+ x@(VkMemoryGetAndroidHardwareBufferInfoANDROID## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryGetAndroidHardwareBufferInfoANDROID where+ (VkMemoryGetAndroidHardwareBufferInfoANDROID## a _) `compare`+ x@(VkMemoryGetAndroidHardwareBufferInfoANDROID## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryGetAndroidHardwareBufferInfoANDROID where+ sizeOf ~_+ = #{size VkMemoryGetAndroidHardwareBufferInfoANDROID}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkMemoryGetAndroidHardwareBufferInfoANDROID}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ unsafeAddr (VkMemoryGetAndroidHardwareBufferInfoANDROID## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryGetAndroidHardwareBufferInfoANDROID## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryGetAndroidHardwareBufferInfoANDROID##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ type StructFields VkMemoryGetAndroidHardwareBufferInfoANDROID =+ '["sType", "pNext", "memory"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryGetAndroidHardwareBufferInfoANDROID =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryGetAndroidHardwareBufferInfoANDROID =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryGetAndroidHardwareBufferInfoANDROID =+ '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID where+ type FieldType "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID+ = VkStructureType+ type FieldOptional "sType"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ =+ #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}+ type FieldIsArray "sType"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID where+ type FieldType "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID+ = Ptr Void+ type FieldOptional "pNext"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ =+ #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}+ type FieldIsArray "pNext"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, pNext}++instance {-# OVERLAPPING #-}+ HasField "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID where+ type FieldType "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID+ = VkDeviceMemory+ type FieldOptional "memory"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memory"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ =+ #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}+ type FieldIsArray "memory"+ VkMemoryGetAndroidHardwareBufferInfoANDROID+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkMemoryGetAndroidHardwareBufferInfoANDROID+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetAndroidHardwareBufferInfoANDROID, memory}++instance Show VkMemoryGetAndroidHardwareBufferInfoANDROID where+ showsPrec d x+ = showString "VkMemoryGetAndroidHardwareBufferInfoANDROID {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) . showChar '}'
@@ -0,0 +1,221 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformIosMvk+ (VkIOSSurfaceCreateInfoMVK(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkIOSSurfaceCreateFlagsMVK)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkIOSSurfaceCreateInfoMVK {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkIOSSurfaceCreateFlagsMVK flags;+-- > const void* pView;+-- > } VkIOSSurfaceCreateInfoMVK;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIOSSurfaceCreateInfoMVK VkIOSSurfaceCreateInfoMVK registry at www.khronos.org>+data VkIOSSurfaceCreateInfoMVK = VkIOSSurfaceCreateInfoMVK## Addr##+ ByteArray##++instance Eq VkIOSSurfaceCreateInfoMVK where+ (VkIOSSurfaceCreateInfoMVK## a _) ==+ x@(VkIOSSurfaceCreateInfoMVK## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkIOSSurfaceCreateInfoMVK where+ (VkIOSSurfaceCreateInfoMVK## a _) `compare`+ x@(VkIOSSurfaceCreateInfoMVK## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkIOSSurfaceCreateInfoMVK where+ sizeOf ~_ = #{size VkIOSSurfaceCreateInfoMVK}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkIOSSurfaceCreateInfoMVK}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkIOSSurfaceCreateInfoMVK where+ unsafeAddr (VkIOSSurfaceCreateInfoMVK## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkIOSSurfaceCreateInfoMVK## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkIOSSurfaceCreateInfoMVK## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkIOSSurfaceCreateInfoMVK where+ type StructFields VkIOSSurfaceCreateInfoMVK =+ '["sType", "pNext", "flags", "pView"] -- ' closing tick for hsc2hs+ type CUnionType VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type StructExtends VkIOSSurfaceCreateInfoMVK = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkIOSSurfaceCreateInfoMVK where+ type FieldType "sType" VkIOSSurfaceCreateInfoMVK = VkStructureType+ type FieldOptional "sType" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkIOSSurfaceCreateInfoMVK =+ #{offset VkIOSSurfaceCreateInfoMVK, sType}+ type FieldIsArray "sType" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkIOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkIOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkIOSSurfaceCreateInfoMVK where+ type FieldType "pNext" VkIOSSurfaceCreateInfoMVK = Ptr Void+ type FieldOptional "pNext" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkIOSSurfaceCreateInfoMVK =+ #{offset VkIOSSurfaceCreateInfoMVK, pNext}+ type FieldIsArray "pNext" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkIOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkIOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkIOSSurfaceCreateInfoMVK where+ type FieldType "flags" VkIOSSurfaceCreateInfoMVK =+ VkIOSSurfaceCreateFlagsMVK+ type FieldOptional "flags" VkIOSSurfaceCreateInfoMVK = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkIOSSurfaceCreateInfoMVK =+ #{offset VkIOSSurfaceCreateInfoMVK, flags}+ type FieldIsArray "flags" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkIOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkIOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+ HasField "pView" VkIOSSurfaceCreateInfoMVK where+ type FieldType "pView" VkIOSSurfaceCreateInfoMVK = Ptr Void+ type FieldOptional "pView" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pView" VkIOSSurfaceCreateInfoMVK =+ #{offset VkIOSSurfaceCreateInfoMVK, pView}+ type FieldIsArray "pView" VkIOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkIOSSurfaceCreateInfoMVK, pView}++instance {-# OVERLAPPING #-}+ CanReadField "pView" VkIOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkIOSSurfaceCreateInfoMVK, pView})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pView}++instance {-# OVERLAPPING #-}+ CanWriteField "pView" VkIOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkIOSSurfaceCreateInfoMVK, pView}++instance Show VkIOSSurfaceCreateInfoMVK where+ showsPrec d x+ = showString "VkIOSSurfaceCreateInfoMVK {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pView = " .+ showsPrec d (getField @"pView" x) . showChar '}'
@@ -0,0 +1,224 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformMacosMvk+ (VkMacOSSurfaceCreateInfoMVK(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkMacOSSurfaceCreateFlagsMVK)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkMacOSSurfaceCreateInfoMVK {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkMacOSSurfaceCreateFlagsMVK flags;+-- > const void* pView;+-- > } VkMacOSSurfaceCreateInfoMVK;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMacOSSurfaceCreateInfoMVK VkMacOSSurfaceCreateInfoMVK registry at www.khronos.org>+data VkMacOSSurfaceCreateInfoMVK = VkMacOSSurfaceCreateInfoMVK## Addr##+ ByteArray##++instance Eq VkMacOSSurfaceCreateInfoMVK where+ (VkMacOSSurfaceCreateInfoMVK## a _) ==+ x@(VkMacOSSurfaceCreateInfoMVK## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMacOSSurfaceCreateInfoMVK where+ (VkMacOSSurfaceCreateInfoMVK## a _) `compare`+ x@(VkMacOSSurfaceCreateInfoMVK## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMacOSSurfaceCreateInfoMVK where+ sizeOf ~_ = #{size VkMacOSSurfaceCreateInfoMVK}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMacOSSurfaceCreateInfoMVK}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMacOSSurfaceCreateInfoMVK where+ unsafeAddr (VkMacOSSurfaceCreateInfoMVK## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMacOSSurfaceCreateInfoMVK## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMacOSSurfaceCreateInfoMVK##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMacOSSurfaceCreateInfoMVK where+ type StructFields VkMacOSSurfaceCreateInfoMVK =+ '["sType", "pNext", "flags", "pView"] -- ' closing tick for hsc2hs+ type CUnionType VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMacOSSurfaceCreateInfoMVK = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMacOSSurfaceCreateInfoMVK where+ type FieldType "sType" VkMacOSSurfaceCreateInfoMVK =+ VkStructureType+ type FieldOptional "sType" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMacOSSurfaceCreateInfoMVK =+ #{offset VkMacOSSurfaceCreateInfoMVK, sType}+ type FieldIsArray "sType" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMacOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMacOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMacOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMacOSSurfaceCreateInfoMVK where+ type FieldType "pNext" VkMacOSSurfaceCreateInfoMVK = Ptr Void+ type FieldOptional "pNext" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMacOSSurfaceCreateInfoMVK =+ #{offset VkMacOSSurfaceCreateInfoMVK, pNext}+ type FieldIsArray "pNext" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMacOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMacOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkMacOSSurfaceCreateInfoMVK where+ type FieldType "flags" VkMacOSSurfaceCreateInfoMVK =+ VkMacOSSurfaceCreateFlagsMVK+ type FieldOptional "flags" VkMacOSSurfaceCreateInfoMVK = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkMacOSSurfaceCreateInfoMVK =+ #{offset VkMacOSSurfaceCreateInfoMVK, flags}+ type FieldIsArray "flags" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMacOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkMacOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkMacOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, flags}++instance {-# OVERLAPPING #-}+ HasField "pView" VkMacOSSurfaceCreateInfoMVK where+ type FieldType "pView" VkMacOSSurfaceCreateInfoMVK = Ptr Void+ type FieldOptional "pView" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pView" VkMacOSSurfaceCreateInfoMVK =+ #{offset VkMacOSSurfaceCreateInfoMVK, pView}+ type FieldIsArray "pView" VkMacOSSurfaceCreateInfoMVK = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMacOSSurfaceCreateInfoMVK, pView}++instance {-# OVERLAPPING #-}+ CanReadField "pView" VkMacOSSurfaceCreateInfoMVK where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMacOSSurfaceCreateInfoMVK, pView})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pView}++instance {-# OVERLAPPING #-}+ CanWriteField "pView" VkMacOSSurfaceCreateInfoMVK where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMacOSSurfaceCreateInfoMVK, pView}++instance Show VkMacOSSurfaceCreateInfoMVK where+ showsPrec d x+ = showString "VkMacOSSurfaceCreateInfoMVK {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pView = " .+ showsPrec d (getField @"pView" x) . showChar '}'
@@ -0,0 +1,261 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformMirKhr+ (VkMirSurfaceCreateInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkMirSurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Include (MirConnection,+ MirSurface)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkMirSurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkMirSurfaceCreateFlagsKHR flags;+-- > MirConnection* connection;+-- > MirSurface* mirSurface;+-- > } VkMirSurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMirSurfaceCreateInfoKHR VkMirSurfaceCreateInfoKHR registry at www.khronos.org>+data VkMirSurfaceCreateInfoKHR = VkMirSurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkMirSurfaceCreateInfoKHR where+ (VkMirSurfaceCreateInfoKHR## a _) ==+ x@(VkMirSurfaceCreateInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMirSurfaceCreateInfoKHR where+ (VkMirSurfaceCreateInfoKHR## a _) `compare`+ x@(VkMirSurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMirSurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkMirSurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkMirSurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMirSurfaceCreateInfoKHR where+ unsafeAddr (VkMirSurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMirSurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMirSurfaceCreateInfoKHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMirSurfaceCreateInfoKHR where+ type StructFields VkMirSurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "connection", "mirSurface"] -- ' closing tick for hsc2hs+ type CUnionType VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMirSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMirSurfaceCreateInfoKHR where+ type FieldType "sType" VkMirSurfaceCreateInfoKHR = VkStructureType+ type FieldOptional "sType" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMirSurfaceCreateInfoKHR =+ #{offset VkMirSurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMirSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMirSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMirSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMirSurfaceCreateInfoKHR where+ type FieldType "pNext" VkMirSurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMirSurfaceCreateInfoKHR =+ #{offset VkMirSurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMirSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMirSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMirSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkMirSurfaceCreateInfoKHR where+ type FieldType "flags" VkMirSurfaceCreateInfoKHR =+ VkMirSurfaceCreateFlagsKHR+ type FieldOptional "flags" VkMirSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkMirSurfaceCreateInfoKHR =+ #{offset VkMirSurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMirSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkMirSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkMirSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "connection" VkMirSurfaceCreateInfoKHR where+ type FieldType "connection" VkMirSurfaceCreateInfoKHR =+ Ptr MirConnection+ type FieldOptional "connection" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "connection" VkMirSurfaceCreateInfoKHR =+ #{offset VkMirSurfaceCreateInfoKHR, connection}+ type FieldIsArray "connection" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMirSurfaceCreateInfoKHR, connection}++instance {-# OVERLAPPING #-}+ CanReadField "connection" VkMirSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, connection})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, connection}++instance {-# OVERLAPPING #-}+ CanWriteField "connection" VkMirSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, connection}++instance {-# OVERLAPPING #-}+ HasField "mirSurface" VkMirSurfaceCreateInfoKHR where+ type FieldType "mirSurface" VkMirSurfaceCreateInfoKHR =+ Ptr MirSurface+ type FieldOptional "mirSurface" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mirSurface" VkMirSurfaceCreateInfoKHR =+ #{offset VkMirSurfaceCreateInfoKHR, mirSurface}+ type FieldIsArray "mirSurface" VkMirSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMirSurfaceCreateInfoKHR, mirSurface}++instance {-# OVERLAPPING #-}+ CanReadField "mirSurface" VkMirSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMirSurfaceCreateInfoKHR, mirSurface})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMirSurfaceCreateInfoKHR, mirSurface}++instance {-# OVERLAPPING #-}+ CanWriteField "mirSurface" VkMirSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMirSurfaceCreateInfoKHR, mirSurface}++instance Show VkMirSurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkMirSurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "connection = " .+ showsPrec d (getField @"connection" x) .+ showString ", " .+ showString "mirSurface = " .+ showsPrec d (getField @"mirSurface" x) . showChar '}'
@@ -0,0 +1,216 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformViNn+ (VkViSurfaceCreateInfoNN(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkViSurfaceCreateFlagsNN)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkViSurfaceCreateInfoNN {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkViSurfaceCreateFlagsNN flags;+-- > void* window;+-- > } VkViSurfaceCreateInfoNN;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViSurfaceCreateInfoNN VkViSurfaceCreateInfoNN registry at www.khronos.org>+data VkViSurfaceCreateInfoNN = VkViSurfaceCreateInfoNN## Addr##+ ByteArray##++instance Eq VkViSurfaceCreateInfoNN where+ (VkViSurfaceCreateInfoNN## a _) == x@(VkViSurfaceCreateInfoNN## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkViSurfaceCreateInfoNN where+ (VkViSurfaceCreateInfoNN## a _) `compare`+ x@(VkViSurfaceCreateInfoNN## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkViSurfaceCreateInfoNN where+ sizeOf ~_ = #{size VkViSurfaceCreateInfoNN}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkViSurfaceCreateInfoNN}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkViSurfaceCreateInfoNN where+ unsafeAddr (VkViSurfaceCreateInfoNN## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkViSurfaceCreateInfoNN## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkViSurfaceCreateInfoNN## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkViSurfaceCreateInfoNN where+ type StructFields VkViSurfaceCreateInfoNN =+ '["sType", "pNext", "flags", "window"] -- ' closing tick for hsc2hs+ type CUnionType VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs+ type StructExtends VkViSurfaceCreateInfoNN = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkViSurfaceCreateInfoNN where+ type FieldType "sType" VkViSurfaceCreateInfoNN = VkStructureType+ type FieldOptional "sType" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkViSurfaceCreateInfoNN =+ #{offset VkViSurfaceCreateInfoNN, sType}+ type FieldIsArray "sType" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViSurfaceCreateInfoNN, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkViSurfaceCreateInfoNN where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViSurfaceCreateInfoNN, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkViSurfaceCreateInfoNN where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkViSurfaceCreateInfoNN where+ type FieldType "pNext" VkViSurfaceCreateInfoNN = Ptr Void+ type FieldOptional "pNext" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkViSurfaceCreateInfoNN =+ #{offset VkViSurfaceCreateInfoNN, pNext}+ type FieldIsArray "pNext" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViSurfaceCreateInfoNN, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkViSurfaceCreateInfoNN where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViSurfaceCreateInfoNN, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkViSurfaceCreateInfoNN where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkViSurfaceCreateInfoNN where+ type FieldType "flags" VkViSurfaceCreateInfoNN =+ VkViSurfaceCreateFlagsNN+ type FieldOptional "flags" VkViSurfaceCreateInfoNN = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkViSurfaceCreateInfoNN =+ #{offset VkViSurfaceCreateInfoNN, flags}+ type FieldIsArray "flags" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViSurfaceCreateInfoNN, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkViSurfaceCreateInfoNN where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViSurfaceCreateInfoNN, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkViSurfaceCreateInfoNN where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, flags}++instance {-# OVERLAPPING #-}+ HasField "window" VkViSurfaceCreateInfoNN where+ type FieldType "window" VkViSurfaceCreateInfoNN = Ptr Void+ type FieldOptional "window" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs+ type FieldOffset "window" VkViSurfaceCreateInfoNN =+ #{offset VkViSurfaceCreateInfoNN, window}+ type FieldIsArray "window" VkViSurfaceCreateInfoNN = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViSurfaceCreateInfoNN, window}++instance {-# OVERLAPPING #-}+ CanReadField "window" VkViSurfaceCreateInfoNN where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViSurfaceCreateInfoNN, window})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViSurfaceCreateInfoNN, window}++instance {-# OVERLAPPING #-}+ CanWriteField "window" VkViSurfaceCreateInfoNN where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViSurfaceCreateInfoNN, window}++instance Show VkViSurfaceCreateInfoNN where+ showsPrec d x+ = showString "VkViSurfaceCreateInfoNN {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "window = " .+ showsPrec d (getField @"window" x) . showChar '}'
@@ -0,0 +1,264 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformWaylandKhr+ (VkWaylandSurfaceCreateInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkWaylandSurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Include (WlDisplay, WlSurface)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkWaylandSurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkWaylandSurfaceCreateFlagsKHR flags;+-- > struct wl_display* display;+-- > struct wl_surface* surface;+-- > } VkWaylandSurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWaylandSurfaceCreateInfoKHR VkWaylandSurfaceCreateInfoKHR registry at www.khronos.org>+data VkWaylandSurfaceCreateInfoKHR = VkWaylandSurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkWaylandSurfaceCreateInfoKHR where+ (VkWaylandSurfaceCreateInfoKHR## a _) ==+ x@(VkWaylandSurfaceCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkWaylandSurfaceCreateInfoKHR where+ (VkWaylandSurfaceCreateInfoKHR## a _) `compare`+ x@(VkWaylandSurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkWaylandSurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkWaylandSurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkWaylandSurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkWaylandSurfaceCreateInfoKHR where+ unsafeAddr (VkWaylandSurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkWaylandSurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkWaylandSurfaceCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkWaylandSurfaceCreateInfoKHR where+ type StructFields VkWaylandSurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "display", "surface"] -- ' closing tick for hsc2hs+ type CUnionType VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkWaylandSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkWaylandSurfaceCreateInfoKHR where+ type FieldType "sType" VkWaylandSurfaceCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkWaylandSurfaceCreateInfoKHR =+ #{offset VkWaylandSurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWaylandSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkWaylandSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkWaylandSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkWaylandSurfaceCreateInfoKHR where+ type FieldType "pNext" VkWaylandSurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkWaylandSurfaceCreateInfoKHR =+ #{offset VkWaylandSurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWaylandSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkWaylandSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkWaylandSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkWaylandSurfaceCreateInfoKHR where+ type FieldType "flags" VkWaylandSurfaceCreateInfoKHR =+ VkWaylandSurfaceCreateFlagsKHR+ type FieldOptional "flags" VkWaylandSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkWaylandSurfaceCreateInfoKHR =+ #{offset VkWaylandSurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWaylandSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkWaylandSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkWaylandSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "display" VkWaylandSurfaceCreateInfoKHR where+ type FieldType "display" VkWaylandSurfaceCreateInfoKHR =+ Ptr WlDisplay+ type FieldOptional "display" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "display" VkWaylandSurfaceCreateInfoKHR =+ #{offset VkWaylandSurfaceCreateInfoKHR, display}+ type FieldIsArray "display" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWaylandSurfaceCreateInfoKHR, display}++instance {-# OVERLAPPING #-}+ CanReadField "display" VkWaylandSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, display})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, display}++instance {-# OVERLAPPING #-}+ CanWriteField "display" VkWaylandSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, display}++instance {-# OVERLAPPING #-}+ HasField "surface" VkWaylandSurfaceCreateInfoKHR where+ type FieldType "surface" VkWaylandSurfaceCreateInfoKHR =+ Ptr WlSurface+ type FieldOptional "surface" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "surface" VkWaylandSurfaceCreateInfoKHR =+ #{offset VkWaylandSurfaceCreateInfoKHR, surface}+ type FieldIsArray "surface" VkWaylandSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWaylandSurfaceCreateInfoKHR, surface}++instance {-# OVERLAPPING #-}+ CanReadField "surface" VkWaylandSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWaylandSurfaceCreateInfoKHR, surface})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, surface}++instance {-# OVERLAPPING #-}+ CanWriteField "surface" VkWaylandSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWaylandSurfaceCreateInfoKHR, surface}++instance Show VkWaylandSurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkWaylandSurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "display = " .+ showsPrec d (getField @"display" x) .+ showString ", " .+ showString "surface = " .+ showsPrec d (getField @"surface" x) . showChar '}'
@@ -0,0 +1,4433 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformWin32Khr+ (VkD3D12FenceSubmitInfoKHR(..),+ VkExportFenceWin32HandleInfoKHR(..),+ VkExportMemoryWin32HandleInfoKHR(..),+ VkExportMemoryWin32HandleInfoNV(..),+ VkExportSemaphoreWin32HandleInfoKHR(..),+ VkFenceGetWin32HandleInfoKHR(..),+ VkImportFenceWin32HandleInfoKHR(..),+ VkImportMemoryWin32HandleInfoKHR(..),+ VkImportMemoryWin32HandleInfoNV(..),+ VkImportSemaphoreWin32HandleInfoKHR(..),+ VkMemoryGetWin32HandleInfoKHR(..),+ VkMemoryWin32HandlePropertiesKHR(..),+ VkSemaphoreGetWin32HandleInfoKHR(..),+ VkWin32KeyedMutexAcquireReleaseInfoKHR(..),+ VkWin32KeyedMutexAcquireReleaseInfoNV(..),+ VkWin32SurfaceCreateInfoKHR(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkWin32SurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.External (VkExternalFenceHandleTypeFlagBits,+ VkExternalMemoryHandleTypeFlagBits,+ VkExternalMemoryHandleTypeFlagsNV,+ VkExternalSemaphoreHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.Fence (VkFenceImportFlags)+import Graphics.Vulkan.Types.Enum.SemaphoreImportFlag (VkSemaphoreImportFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkDeviceMemory,+ VkFence,+ VkSemaphore)+import Graphics.Vulkan.Types.Include (DWORD, HANDLE,+ HINSTANCE,+ HWND, LPCWSTR,+ SECURITY_ATTRIBUTES)+import Graphics.Vulkan.Types.Struct.Fence (VkFenceCreateInfo)+import Graphics.Vulkan.Types.Struct.Memory (VkMemoryAllocateInfo)+import Graphics.Vulkan.Types.Struct.Semaphore (VkSemaphoreCreateInfo)+import Graphics.Vulkan.Types.Struct.SubmitInfo (VkSubmitInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkD3D12FenceSubmitInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t waitSemaphoreValuesCount;+-- > const uint64_t* pWaitSemaphoreValues;+-- > uint32_t signalSemaphoreValuesCount;+-- > const uint64_t* pSignalSemaphoreValues;+-- > } VkD3D12FenceSubmitInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkD3D12FenceSubmitInfoKHR VkD3D12FenceSubmitInfoKHR registry at www.khronos.org>+data VkD3D12FenceSubmitInfoKHR = VkD3D12FenceSubmitInfoKHR## Addr##+ ByteArray##++instance Eq VkD3D12FenceSubmitInfoKHR where+ (VkD3D12FenceSubmitInfoKHR## a _) ==+ x@(VkD3D12FenceSubmitInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkD3D12FenceSubmitInfoKHR where+ (VkD3D12FenceSubmitInfoKHR## a _) `compare`+ x@(VkD3D12FenceSubmitInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkD3D12FenceSubmitInfoKHR where+ sizeOf ~_ = #{size VkD3D12FenceSubmitInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkD3D12FenceSubmitInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkD3D12FenceSubmitInfoKHR where+ unsafeAddr (VkD3D12FenceSubmitInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkD3D12FenceSubmitInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkD3D12FenceSubmitInfoKHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkD3D12FenceSubmitInfoKHR where+ type StructFields VkD3D12FenceSubmitInfoKHR =+ '["sType", "pNext", "waitSemaphoreValuesCount", -- ' closing tick for hsc2hs+ "pWaitSemaphoreValues", "signalSemaphoreValuesCount",+ "pSignalSemaphoreValues"]+ type CUnionType VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkD3D12FenceSubmitInfoKHR = '[VkSubmitInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkD3D12FenceSubmitInfoKHR where+ type FieldType "sType" VkD3D12FenceSubmitInfoKHR = VkStructureType+ type FieldOptional "sType" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkD3D12FenceSubmitInfoKHR =+ #{offset VkD3D12FenceSubmitInfoKHR, sType}+ type FieldIsArray "sType" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkD3D12FenceSubmitInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkD3D12FenceSubmitInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkD3D12FenceSubmitInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkD3D12FenceSubmitInfoKHR where+ type FieldType "pNext" VkD3D12FenceSubmitInfoKHR = Ptr Void+ type FieldOptional "pNext" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkD3D12FenceSubmitInfoKHR =+ #{offset VkD3D12FenceSubmitInfoKHR, pNext}+ type FieldIsArray "pNext" VkD3D12FenceSubmitInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkD3D12FenceSubmitInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkD3D12FenceSubmitInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkD3D12FenceSubmitInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR where+ type FieldType "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+ = Word32+ type FieldOptional "waitSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "waitSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ =+ #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}+ type FieldIsArray "waitSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+ CanReadField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+ CanWriteField "waitSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, waitSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+ HasField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where+ type FieldType "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR =+ Ptr Word64+ type FieldOptional "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR =+ #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}+ type FieldIsArray "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}++instance {-# OVERLAPPING #-}+ CanReadField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}++instance {-# OVERLAPPING #-}+ CanWriteField "pWaitSemaphoreValues" VkD3D12FenceSubmitInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pWaitSemaphoreValues}++instance {-# OVERLAPPING #-}+ HasField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+ where+ type FieldType "signalSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ = Word32+ type FieldOptional "signalSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "signalSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ =+ #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}+ type FieldIsArray "signalSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+ CanReadField "signalSemaphoreValuesCount" VkD3D12FenceSubmitInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+ CanWriteField "signalSemaphoreValuesCount"+ VkD3D12FenceSubmitInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, signalSemaphoreValuesCount}++instance {-# OVERLAPPING #-}+ HasField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR where+ type FieldType "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR =+ Ptr Word64+ type FieldOptional "pSignalSemaphoreValues"+ VkD3D12FenceSubmitInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR+ =+ #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}+ type FieldIsArray "pSignalSemaphoreValues"+ VkD3D12FenceSubmitInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}++instance {-# OVERLAPPING #-}+ CanReadField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}++instance {-# OVERLAPPING #-}+ CanWriteField "pSignalSemaphoreValues" VkD3D12FenceSubmitInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkD3D12FenceSubmitInfoKHR, pSignalSemaphoreValues}++instance Show VkD3D12FenceSubmitInfoKHR where+ showsPrec d x+ = showString "VkD3D12FenceSubmitInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "waitSemaphoreValuesCount = " .+ showsPrec d (getField @"waitSemaphoreValuesCount" x) .+ showString ", " .+ showString "pWaitSemaphoreValues = " .+ showsPrec d (getField @"pWaitSemaphoreValues" x) .+ showString ", " .+ showString "signalSemaphoreValuesCount = " .+ showsPrec d (getField @"signalSemaphoreValuesCount" x) .+ showString ", " .+ showString "pSignalSemaphoreValues = " .+ showsPrec d (getField @"pSignalSemaphoreValues" x) .+ showChar '}'++-- | > typedef struct VkExportFenceWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const SECURITY_ATTRIBUTES* pAttributes;+-- > DWORD dwAccess;+-- > LPCWSTR name;+-- > } VkExportFenceWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportFenceWin32HandleInfoKHR VkExportFenceWin32HandleInfoKHR registry at www.khronos.org>+data VkExportFenceWin32HandleInfoKHR = VkExportFenceWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkExportFenceWin32HandleInfoKHR where+ (VkExportFenceWin32HandleInfoKHR## a _) ==+ x@(VkExportFenceWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportFenceWin32HandleInfoKHR where+ (VkExportFenceWin32HandleInfoKHR## a _) `compare`+ x@(VkExportFenceWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportFenceWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkExportFenceWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExportFenceWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportFenceWin32HandleInfoKHR where+ unsafeAddr (VkExportFenceWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportFenceWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportFenceWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportFenceWin32HandleInfoKHR where+ type StructFields VkExportFenceWin32HandleInfoKHR =+ '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs+ type CUnionType VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportFenceWin32HandleInfoKHR =+ '[VkFenceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportFenceWin32HandleInfoKHR where+ type FieldType "sType" VkExportFenceWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportFenceWin32HandleInfoKHR =+ #{offset VkExportFenceWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportFenceWin32HandleInfoKHR where+ type FieldType "pNext" VkExportFenceWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportFenceWin32HandleInfoKHR =+ #{offset VkExportFenceWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "pAttributes" VkExportFenceWin32HandleInfoKHR where+ type FieldType "pAttributes" VkExportFenceWin32HandleInfoKHR =+ Ptr SECURITY_ATTRIBUTES+ type FieldOptional "pAttributes" VkExportFenceWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pAttributes" VkExportFenceWin32HandleInfoKHR =+ #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}+ type FieldIsArray "pAttributes" VkExportFenceWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ CanReadField "pAttributes" VkExportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, pAttributes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttributes" VkExportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ HasField "dwAccess" VkExportFenceWin32HandleInfoKHR where+ type FieldType "dwAccess" VkExportFenceWin32HandleInfoKHR = DWORD+ type FieldOptional "dwAccess" VkExportFenceWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "dwAccess" VkExportFenceWin32HandleInfoKHR =+ #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}+ type FieldIsArray "dwAccess" VkExportFenceWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ CanReadField "dwAccess" VkExportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, dwAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "dwAccess" VkExportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ HasField "name" VkExportFenceWin32HandleInfoKHR where+ type FieldType "name" VkExportFenceWin32HandleInfoKHR = LPCWSTR+ type FieldOptional "name" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "name" VkExportFenceWin32HandleInfoKHR =+ #{offset VkExportFenceWin32HandleInfoKHR, name}+ type FieldIsArray "name" VkExportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportFenceWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanReadField "name" VkExportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportFenceWin32HandleInfoKHR, name})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanWriteField "name" VkExportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportFenceWin32HandleInfoKHR, name}++instance Show VkExportFenceWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkExportFenceWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pAttributes = " .+ showsPrec d (getField @"pAttributes" x) .+ showString ", " .+ showString "dwAccess = " .+ showsPrec d (getField @"dwAccess" x) .+ showString ", " .+ showString "name = " .+ showsPrec d (getField @"name" x) . showChar '}'++-- | > typedef struct VkExportMemoryWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const SECURITY_ATTRIBUTES* pAttributes;+-- > DWORD dwAccess;+-- > LPCWSTR name;+-- > } VkExportMemoryWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryWin32HandleInfoKHR VkExportMemoryWin32HandleInfoKHR registry at www.khronos.org>+data VkExportMemoryWin32HandleInfoKHR = VkExportMemoryWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkExportMemoryWin32HandleInfoKHR where+ (VkExportMemoryWin32HandleInfoKHR## a _) ==+ x@(VkExportMemoryWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportMemoryWin32HandleInfoKHR where+ (VkExportMemoryWin32HandleInfoKHR## a _) `compare`+ x@(VkExportMemoryWin32HandleInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportMemoryWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkExportMemoryWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExportMemoryWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryWin32HandleInfoKHR where+ unsafeAddr (VkExportMemoryWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportMemoryWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportMemoryWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryWin32HandleInfoKHR where+ type StructFields VkExportMemoryWin32HandleInfoKHR =+ '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs+ type CUnionType VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportMemoryWin32HandleInfoKHR =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportMemoryWin32HandleInfoKHR where+ type FieldType "sType" VkExportMemoryWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkExportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportMemoryWin32HandleInfoKHR =+ #{offset VkExportMemoryWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportMemoryWin32HandleInfoKHR where+ type FieldType "pNext" VkExportMemoryWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkExportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportMemoryWin32HandleInfoKHR =+ #{offset VkExportMemoryWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "pAttributes" VkExportMemoryWin32HandleInfoKHR where+ type FieldType "pAttributes" VkExportMemoryWin32HandleInfoKHR =+ Ptr SECURITY_ATTRIBUTES+ type FieldOptional "pAttributes" VkExportMemoryWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pAttributes" VkExportMemoryWin32HandleInfoKHR =+ #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}+ type FieldIsArray "pAttributes" VkExportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ CanReadField "pAttributes" VkExportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttributes" VkExportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ HasField "dwAccess" VkExportMemoryWin32HandleInfoKHR where+ type FieldType "dwAccess" VkExportMemoryWin32HandleInfoKHR = DWORD+ type FieldOptional "dwAccess" VkExportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "dwAccess" VkExportMemoryWin32HandleInfoKHR =+ #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}+ type FieldIsArray "dwAccess" VkExportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ CanReadField "dwAccess" VkExportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ HasField "name" VkExportMemoryWin32HandleInfoKHR where+ type FieldType "name" VkExportMemoryWin32HandleInfoKHR = LPCWSTR+ type FieldOptional "name" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "name" VkExportMemoryWin32HandleInfoKHR =+ #{offset VkExportMemoryWin32HandleInfoKHR, name}+ type FieldIsArray "name" VkExportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanReadField "name" VkExportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoKHR, name})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanWriteField "name" VkExportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoKHR, name}++instance Show VkExportMemoryWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkExportMemoryWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pAttributes = " .+ showsPrec d (getField @"pAttributes" x) .+ showString ", " .+ showString "dwAccess = " .+ showsPrec d (getField @"dwAccess" x) .+ showString ", " .+ showString "name = " .+ showsPrec d (getField @"name" x) . showChar '}'++-- | > typedef struct VkExportMemoryWin32HandleInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const SECURITY_ATTRIBUTES* pAttributes;+-- > DWORD dwAccess;+-- > } VkExportMemoryWin32HandleInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportMemoryWin32HandleInfoNV VkExportMemoryWin32HandleInfoNV registry at www.khronos.org>+data VkExportMemoryWin32HandleInfoNV = VkExportMemoryWin32HandleInfoNV## Addr##+ ByteArray##++instance Eq VkExportMemoryWin32HandleInfoNV where+ (VkExportMemoryWin32HandleInfoNV## a _) ==+ x@(VkExportMemoryWin32HandleInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportMemoryWin32HandleInfoNV where+ (VkExportMemoryWin32HandleInfoNV## a _) `compare`+ x@(VkExportMemoryWin32HandleInfoNV## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportMemoryWin32HandleInfoNV where+ sizeOf ~_ = #{size VkExportMemoryWin32HandleInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExportMemoryWin32HandleInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportMemoryWin32HandleInfoNV where+ unsafeAddr (VkExportMemoryWin32HandleInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportMemoryWin32HandleInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportMemoryWin32HandleInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportMemoryWin32HandleInfoNV where+ type StructFields VkExportMemoryWin32HandleInfoNV =+ '["sType", "pNext", "pAttributes", "dwAccess"] -- ' closing tick for hsc2hs+ type CUnionType VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportMemoryWin32HandleInfoNV =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportMemoryWin32HandleInfoNV where+ type FieldType "sType" VkExportMemoryWin32HandleInfoNV =+ VkStructureType+ type FieldOptional "sType" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportMemoryWin32HandleInfoNV =+ #{offset VkExportMemoryWin32HandleInfoNV, sType}+ type FieldIsArray "sType" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportMemoryWin32HandleInfoNV where+ type FieldType "pNext" VkExportMemoryWin32HandleInfoNV = Ptr Void+ type FieldOptional "pNext" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportMemoryWin32HandleInfoNV =+ #{offset VkExportMemoryWin32HandleInfoNV, pNext}+ type FieldIsArray "pNext" VkExportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "pAttributes" VkExportMemoryWin32HandleInfoNV where+ type FieldType "pAttributes" VkExportMemoryWin32HandleInfoNV =+ Ptr SECURITY_ATTRIBUTES+ type FieldOptional "pAttributes" VkExportMemoryWin32HandleInfoNV =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pAttributes" VkExportMemoryWin32HandleInfoNV =+ #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}+ type FieldIsArray "pAttributes" VkExportMemoryWin32HandleInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}++instance {-# OVERLAPPING #-}+ CanReadField "pAttributes" VkExportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, pAttributes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttributes" VkExportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, pAttributes}++instance {-# OVERLAPPING #-}+ HasField "dwAccess" VkExportMemoryWin32HandleInfoNV where+ type FieldType "dwAccess" VkExportMemoryWin32HandleInfoNV = DWORD+ type FieldOptional "dwAccess" VkExportMemoryWin32HandleInfoNV =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "dwAccess" VkExportMemoryWin32HandleInfoNV =+ #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}+ type FieldIsArray "dwAccess" VkExportMemoryWin32HandleInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++instance {-# OVERLAPPING #-}+ CanReadField "dwAccess" VkExportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportMemoryWin32HandleInfoNV, dwAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "dwAccess" VkExportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportMemoryWin32HandleInfoNV, dwAccess}++instance Show VkExportMemoryWin32HandleInfoNV where+ showsPrec d x+ = showString "VkExportMemoryWin32HandleInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pAttributes = " .+ showsPrec d (getField @"pAttributes" x) .+ showString ", " .+ showString "dwAccess = " .+ showsPrec d (getField @"dwAccess" x) . showChar '}'++-- | > typedef struct VkExportSemaphoreWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > const SECURITY_ATTRIBUTES* pAttributes;+-- > DWORD dwAccess;+-- > LPCWSTR name;+-- > } VkExportSemaphoreWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkExportSemaphoreWin32HandleInfoKHR VkExportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+data VkExportSemaphoreWin32HandleInfoKHR = VkExportSemaphoreWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkExportSemaphoreWin32HandleInfoKHR where+ (VkExportSemaphoreWin32HandleInfoKHR## a _) ==+ x@(VkExportSemaphoreWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkExportSemaphoreWin32HandleInfoKHR where+ (VkExportSemaphoreWin32HandleInfoKHR## a _) `compare`+ x@(VkExportSemaphoreWin32HandleInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkExportSemaphoreWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkExportSemaphoreWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkExportSemaphoreWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkExportSemaphoreWin32HandleInfoKHR+ where+ unsafeAddr (VkExportSemaphoreWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkExportSemaphoreWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkExportSemaphoreWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkExportSemaphoreWin32HandleInfoKHR where+ type StructFields VkExportSemaphoreWin32HandleInfoKHR =+ '["sType", "pNext", "pAttributes", "dwAccess", "name"] -- ' closing tick for hsc2hs+ type CUnionType VkExportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkExportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkExportSemaphoreWin32HandleInfoKHR =+ '[VkSemaphoreCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkExportSemaphoreWin32HandleInfoKHR where+ type FieldType "sType" VkExportSemaphoreWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkExportSemaphoreWin32HandleInfoKHR =+ #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkExportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkExportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkExportSemaphoreWin32HandleInfoKHR where+ type FieldType "pNext" VkExportSemaphoreWin32HandleInfoKHR =+ Ptr Void+ type FieldOptional "pNext" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkExportSemaphoreWin32HandleInfoKHR =+ #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkExportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkExportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR where+ type FieldType "pAttributes" VkExportSemaphoreWin32HandleInfoKHR =+ Ptr SECURITY_ATTRIBUTES+ type FieldOptional "pAttributes"+ VkExportSemaphoreWin32HandleInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pAttributes" VkExportSemaphoreWin32HandleInfoKHR+ =+ #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}+ type FieldIsArray "pAttributes" VkExportSemaphoreWin32HandleInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ CanReadField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttributes" VkExportSemaphoreWin32HandleInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, pAttributes}++instance {-# OVERLAPPING #-}+ HasField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where+ type FieldType "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+ DWORD+ type FieldOptional "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+ #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}+ type FieldIsArray "dwAccess" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ CanReadField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ CanWriteField "dwAccess" VkExportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, dwAccess}++instance {-# OVERLAPPING #-}+ HasField "name" VkExportSemaphoreWin32HandleInfoKHR where+ type FieldType "name" VkExportSemaphoreWin32HandleInfoKHR = LPCWSTR+ type FieldOptional "name" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "name" VkExportSemaphoreWin32HandleInfoKHR =+ #{offset VkExportSemaphoreWin32HandleInfoKHR, name}+ type FieldIsArray "name" VkExportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanReadField "name" VkExportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkExportSemaphoreWin32HandleInfoKHR, name})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanWriteField "name" VkExportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkExportSemaphoreWin32HandleInfoKHR, name}++instance Show VkExportSemaphoreWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkExportSemaphoreWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "pAttributes = " .+ showsPrec d (getField @"pAttributes" x) .+ showString ", " .+ showString "dwAccess = " .+ showsPrec d (getField @"dwAccess" x) .+ showString ", " .+ showString "name = " .+ showsPrec d (getField @"name" x) . showChar '}'++-- | > typedef struct VkFenceGetWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFence fence;+-- > VkExternalFenceHandleTypeFlagBits handleType;+-- > } VkFenceGetWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFenceGetWin32HandleInfoKHR VkFenceGetWin32HandleInfoKHR registry at www.khronos.org>+data VkFenceGetWin32HandleInfoKHR = VkFenceGetWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkFenceGetWin32HandleInfoKHR where+ (VkFenceGetWin32HandleInfoKHR## a _) ==+ x@(VkFenceGetWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkFenceGetWin32HandleInfoKHR where+ (VkFenceGetWin32HandleInfoKHR## a _) `compare`+ x@(VkFenceGetWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkFenceGetWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkFenceGetWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkFenceGetWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkFenceGetWin32HandleInfoKHR where+ unsafeAddr (VkFenceGetWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkFenceGetWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkFenceGetWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkFenceGetWin32HandleInfoKHR where+ type StructFields VkFenceGetWin32HandleInfoKHR =+ '["sType", "pNext", "fence", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkFenceGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkFenceGetWin32HandleInfoKHR where+ type FieldType "sType" VkFenceGetWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkFenceGetWin32HandleInfoKHR =+ #{offset VkFenceGetWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFenceGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkFenceGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkFenceGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkFenceGetWin32HandleInfoKHR where+ type FieldType "pNext" VkFenceGetWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkFenceGetWin32HandleInfoKHR =+ #{offset VkFenceGetWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFenceGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkFenceGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkFenceGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "fence" VkFenceGetWin32HandleInfoKHR where+ type FieldType "fence" VkFenceGetWin32HandleInfoKHR = VkFence+ type FieldOptional "fence" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fence" VkFenceGetWin32HandleInfoKHR =+ #{offset VkFenceGetWin32HandleInfoKHR, fence}+ type FieldIsArray "fence" VkFenceGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFenceGetWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanReadField "fence" VkFenceGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, fence})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanWriteField "fence" VkFenceGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkFenceGetWin32HandleInfoKHR where+ type FieldType "handleType" VkFenceGetWin32HandleInfoKHR =+ VkExternalFenceHandleTypeFlagBits+ type FieldOptional "handleType" VkFenceGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkFenceGetWin32HandleInfoKHR =+ #{offset VkFenceGetWin32HandleInfoKHR, handleType}+ type FieldIsArray "handleType" VkFenceGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkFenceGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkFenceGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkFenceGetWin32HandleInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkFenceGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkFenceGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkFenceGetWin32HandleInfoKHR, handleType}++instance Show VkFenceGetWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkFenceGetWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "fence = " .+ showsPrec d (getField @"fence" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | > typedef struct VkImportFenceWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFence fence;+-- > VkFenceImportFlags flags;+-- > VkExternalFenceHandleTypeFlagBits handleType;+-- > HANDLE handle;+-- > LPCWSTR name;+-- > } VkImportFenceWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportFenceWin32HandleInfoKHR VkImportFenceWin32HandleInfoKHR registry at www.khronos.org>+data VkImportFenceWin32HandleInfoKHR = VkImportFenceWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkImportFenceWin32HandleInfoKHR where+ (VkImportFenceWin32HandleInfoKHR## a _) ==+ x@(VkImportFenceWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportFenceWin32HandleInfoKHR where+ (VkImportFenceWin32HandleInfoKHR## a _) `compare`+ x@(VkImportFenceWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportFenceWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkImportFenceWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImportFenceWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportFenceWin32HandleInfoKHR where+ unsafeAddr (VkImportFenceWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportFenceWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportFenceWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportFenceWin32HandleInfoKHR where+ type StructFields VkImportFenceWin32HandleInfoKHR =+ '["sType", "pNext", "fence", "flags", "handleType", "handle", -- ' closing tick for hsc2hs+ "name"]+ type CUnionType VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportFenceWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportFenceWin32HandleInfoKHR where+ type FieldType "sType" VkImportFenceWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportFenceWin32HandleInfoKHR where+ type FieldType "pNext" VkImportFenceWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "fence" VkImportFenceWin32HandleInfoKHR where+ type FieldType "fence" VkImportFenceWin32HandleInfoKHR = VkFence+ type FieldOptional "fence" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "fence" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, fence}+ type FieldIsArray "fence" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanReadField "fence" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, fence})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+ CanWriteField "fence" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, fence}++instance {-# OVERLAPPING #-}+ HasField "flags" VkImportFenceWin32HandleInfoKHR where+ type FieldType "flags" VkImportFenceWin32HandleInfoKHR =+ VkFenceImportFlags+ type FieldOptional "flags" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, flags}+ type FieldIsArray "flags" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportFenceWin32HandleInfoKHR where+ type FieldType "handleType" VkImportFenceWin32HandleInfoKHR =+ VkExternalFenceHandleTypeFlagBits+ type FieldOptional "handleType" VkImportFenceWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, handleType}+ type FieldIsArray "handleType" VkImportFenceWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ HasField "handle" VkImportFenceWin32HandleInfoKHR where+ type FieldType "handle" VkImportFenceWin32HandleInfoKHR = HANDLE+ type FieldOptional "handle" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handle" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, handle}+ type FieldIsArray "handle" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ CanReadField "handle" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, handle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ CanWriteField "handle" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ HasField "name" VkImportFenceWin32HandleInfoKHR where+ type FieldType "name" VkImportFenceWin32HandleInfoKHR = LPCWSTR+ type FieldOptional "name" VkImportFenceWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "name" VkImportFenceWin32HandleInfoKHR =+ #{offset VkImportFenceWin32HandleInfoKHR, name}+ type FieldIsArray "name" VkImportFenceWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportFenceWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanReadField "name" VkImportFenceWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportFenceWin32HandleInfoKHR, name})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportFenceWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanWriteField "name" VkImportFenceWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportFenceWin32HandleInfoKHR, name}++instance Show VkImportFenceWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkImportFenceWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "fence = " .+ showsPrec d (getField @"fence" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "handle = " .+ showsPrec d (getField @"handle" x) .+ showString ", " .+ showString "name = " .+ showsPrec d (getField @"name" x) . showChar '}'++-- | > typedef struct VkImportMemoryWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > HANDLE handle;+-- > LPCWSTR name;+-- > } VkImportMemoryWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryWin32HandleInfoKHR VkImportMemoryWin32HandleInfoKHR registry at www.khronos.org>+data VkImportMemoryWin32HandleInfoKHR = VkImportMemoryWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkImportMemoryWin32HandleInfoKHR where+ (VkImportMemoryWin32HandleInfoKHR## a _) ==+ x@(VkImportMemoryWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportMemoryWin32HandleInfoKHR where+ (VkImportMemoryWin32HandleInfoKHR## a _) `compare`+ x@(VkImportMemoryWin32HandleInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportMemoryWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkImportMemoryWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImportMemoryWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryWin32HandleInfoKHR where+ unsafeAddr (VkImportMemoryWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportMemoryWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportMemoryWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryWin32HandleInfoKHR where+ type StructFields VkImportMemoryWin32HandleInfoKHR =+ '["sType", "pNext", "handleType", "handle", "name"] -- ' closing tick for hsc2hs+ type CUnionType VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportMemoryWin32HandleInfoKHR =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportMemoryWin32HandleInfoKHR where+ type FieldType "sType" VkImportMemoryWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkImportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportMemoryWin32HandleInfoKHR =+ #{offset VkImportMemoryWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportMemoryWin32HandleInfoKHR where+ type FieldType "pNext" VkImportMemoryWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkImportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportMemoryWin32HandleInfoKHR =+ #{offset VkImportMemoryWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportMemoryWin32HandleInfoKHR where+ type FieldType "handleType" VkImportMemoryWin32HandleInfoKHR =+ VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType" VkImportMemoryWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportMemoryWin32HandleInfoKHR =+ #{offset VkImportMemoryWin32HandleInfoKHR, handleType}+ type FieldIsArray "handleType" VkImportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ HasField "handle" VkImportMemoryWin32HandleInfoKHR where+ type FieldType "handle" VkImportMemoryWin32HandleInfoKHR = HANDLE+ type FieldOptional "handle" VkImportMemoryWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handle" VkImportMemoryWin32HandleInfoKHR =+ #{offset VkImportMemoryWin32HandleInfoKHR, handle}+ type FieldIsArray "handle" VkImportMemoryWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ CanReadField "handle" VkImportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, handle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ CanWriteField "handle" VkImportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ HasField "name" VkImportMemoryWin32HandleInfoKHR where+ type FieldType "name" VkImportMemoryWin32HandleInfoKHR = LPCWSTR+ type FieldOptional "name" VkImportMemoryWin32HandleInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "name" VkImportMemoryWin32HandleInfoKHR =+ #{offset VkImportMemoryWin32HandleInfoKHR, name}+ type FieldIsArray "name" VkImportMemoryWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanReadField "name" VkImportMemoryWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoKHR, name})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanWriteField "name" VkImportMemoryWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoKHR, name}++instance Show VkImportMemoryWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkImportMemoryWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "handle = " .+ showsPrec d (getField @"handle" x) .+ showString ", " .+ showString "name = " .+ showsPrec d (getField @"name" x) . showChar '}'++-- | > typedef struct VkImportMemoryWin32HandleInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkExternalMemoryHandleTypeFlagsNV handleType;+-- > HANDLE handle;+-- > } VkImportMemoryWin32HandleInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportMemoryWin32HandleInfoNV VkImportMemoryWin32HandleInfoNV registry at www.khronos.org>+data VkImportMemoryWin32HandleInfoNV = VkImportMemoryWin32HandleInfoNV## Addr##+ ByteArray##++instance Eq VkImportMemoryWin32HandleInfoNV where+ (VkImportMemoryWin32HandleInfoNV## a _) ==+ x@(VkImportMemoryWin32HandleInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportMemoryWin32HandleInfoNV where+ (VkImportMemoryWin32HandleInfoNV## a _) `compare`+ x@(VkImportMemoryWin32HandleInfoNV## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportMemoryWin32HandleInfoNV where+ sizeOf ~_ = #{size VkImportMemoryWin32HandleInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImportMemoryWin32HandleInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportMemoryWin32HandleInfoNV where+ unsafeAddr (VkImportMemoryWin32HandleInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportMemoryWin32HandleInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportMemoryWin32HandleInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportMemoryWin32HandleInfoNV where+ type StructFields VkImportMemoryWin32HandleInfoNV =+ '["sType", "pNext", "handleType", "handle"] -- ' closing tick for hsc2hs+ type CUnionType VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportMemoryWin32HandleInfoNV =+ '[VkMemoryAllocateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportMemoryWin32HandleInfoNV where+ type FieldType "sType" VkImportMemoryWin32HandleInfoNV =+ VkStructureType+ type FieldOptional "sType" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportMemoryWin32HandleInfoNV =+ #{offset VkImportMemoryWin32HandleInfoNV, sType}+ type FieldIsArray "sType" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportMemoryWin32HandleInfoNV where+ type FieldType "pNext" VkImportMemoryWin32HandleInfoNV = Ptr Void+ type FieldOptional "pNext" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportMemoryWin32HandleInfoNV =+ #{offset VkImportMemoryWin32HandleInfoNV, pNext}+ type FieldIsArray "pNext" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportMemoryWin32HandleInfoNV where+ type FieldType "handleType" VkImportMemoryWin32HandleInfoNV =+ VkExternalMemoryHandleTypeFlagsNV+ type FieldOptional "handleType" VkImportMemoryWin32HandleInfoNV =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportMemoryWin32HandleInfoNV =+ #{offset VkImportMemoryWin32HandleInfoNV, handleType}+ type FieldIsArray "handleType" VkImportMemoryWin32HandleInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoNV, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handleType}++instance {-# OVERLAPPING #-}+ HasField "handle" VkImportMemoryWin32HandleInfoNV where+ type FieldType "handle" VkImportMemoryWin32HandleInfoNV = HANDLE+ type FieldOptional "handle" VkImportMemoryWin32HandleInfoNV = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handle" VkImportMemoryWin32HandleInfoNV =+ #{offset VkImportMemoryWin32HandleInfoNV, handle}+ type FieldIsArray "handle" VkImportMemoryWin32HandleInfoNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportMemoryWin32HandleInfoNV, handle}++instance {-# OVERLAPPING #-}+ CanReadField "handle" VkImportMemoryWin32HandleInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportMemoryWin32HandleInfoNV, handle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handle}++instance {-# OVERLAPPING #-}+ CanWriteField "handle" VkImportMemoryWin32HandleInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportMemoryWin32HandleInfoNV, handle}++instance Show VkImportMemoryWin32HandleInfoNV where+ showsPrec d x+ = showString "VkImportMemoryWin32HandleInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "handle = " .+ showsPrec d (getField @"handle" x) . showChar '}'++-- | > typedef struct VkImportSemaphoreWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSemaphore semaphore;+-- > VkSemaphoreImportFlags flags;+-- > VkExternalSemaphoreHandleTypeFlagBits handleType;+-- > HANDLE handle;+-- > LPCWSTR name;+-- > } VkImportSemaphoreWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkImportSemaphoreWin32HandleInfoKHR VkImportSemaphoreWin32HandleInfoKHR registry at www.khronos.org>+data VkImportSemaphoreWin32HandleInfoKHR = VkImportSemaphoreWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkImportSemaphoreWin32HandleInfoKHR where+ (VkImportSemaphoreWin32HandleInfoKHR## a _) ==+ x@(VkImportSemaphoreWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkImportSemaphoreWin32HandleInfoKHR where+ (VkImportSemaphoreWin32HandleInfoKHR## a _) `compare`+ x@(VkImportSemaphoreWin32HandleInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkImportSemaphoreWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkImportSemaphoreWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkImportSemaphoreWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkImportSemaphoreWin32HandleInfoKHR+ where+ unsafeAddr (VkImportSemaphoreWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkImportSemaphoreWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkImportSemaphoreWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkImportSemaphoreWin32HandleInfoKHR where+ type StructFields VkImportSemaphoreWin32HandleInfoKHR =+ '["sType", "pNext", "semaphore", "flags", "handleType", "handle", -- ' closing tick for hsc2hs+ "name"]+ type CUnionType VkImportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkImportSemaphoreWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkImportSemaphoreWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "sType" VkImportSemaphoreWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkImportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "pNext" VkImportSemaphoreWin32HandleInfoKHR =+ Ptr Void+ type FieldOptional "pNext" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkImportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "semaphore" VkImportSemaphoreWin32HandleInfoKHR =+ VkSemaphore+ type FieldOptional "semaphore" VkImportSemaphoreWin32HandleInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "semaphore" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}+ type FieldIsArray "semaphore" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanReadField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanWriteField "semaphore" VkImportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ HasField "flags" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "flags" VkImportSemaphoreWin32HandleInfoKHR =+ VkSemaphoreImportFlags+ type FieldOptional "flags" VkImportSemaphoreWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}+ type FieldIsArray "flags" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkImportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "handleType" VkImportSemaphoreWin32HandleInfoKHR =+ VkExternalSemaphoreHandleTypeFlagBits+ type FieldOptional "handleType" VkImportSemaphoreWin32HandleInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}+ type FieldIsArray "handleType" VkImportSemaphoreWin32HandleInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkImportSemaphoreWin32HandleInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ HasField "handle" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "handle" VkImportSemaphoreWin32HandleInfoKHR =+ HANDLE+ type FieldOptional "handle" VkImportSemaphoreWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "handle" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}+ type FieldIsArray "handle" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ CanReadField "handle" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, handle})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ CanWriteField "handle" VkImportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, handle}++instance {-# OVERLAPPING #-}+ HasField "name" VkImportSemaphoreWin32HandleInfoKHR where+ type FieldType "name" VkImportSemaphoreWin32HandleInfoKHR = LPCWSTR+ type FieldOptional "name" VkImportSemaphoreWin32HandleInfoKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "name" VkImportSemaphoreWin32HandleInfoKHR =+ #{offset VkImportSemaphoreWin32HandleInfoKHR, name}+ type FieldIsArray "name" VkImportSemaphoreWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanReadField "name" VkImportSemaphoreWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkImportSemaphoreWin32HandleInfoKHR, name})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++instance {-# OVERLAPPING #-}+ CanWriteField "name" VkImportSemaphoreWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkImportSemaphoreWin32HandleInfoKHR, name}++instance Show VkImportSemaphoreWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkImportSemaphoreWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "semaphore = " .+ showsPrec d (getField @"semaphore" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) .+ showString ", " .+ showString "handle = " .+ showsPrec d (getField @"handle" x) .+ showString ", " .+ showString "name = " .+ showsPrec d (getField @"name" x) . showChar '}'++-- | > typedef struct VkMemoryGetWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkDeviceMemory memory;+-- > VkExternalMemoryHandleTypeFlagBits handleType;+-- > } VkMemoryGetWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryGetWin32HandleInfoKHR VkMemoryGetWin32HandleInfoKHR registry at www.khronos.org>+data VkMemoryGetWin32HandleInfoKHR = VkMemoryGetWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkMemoryGetWin32HandleInfoKHR where+ (VkMemoryGetWin32HandleInfoKHR## a _) ==+ x@(VkMemoryGetWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryGetWin32HandleInfoKHR where+ (VkMemoryGetWin32HandleInfoKHR## a _) `compare`+ x@(VkMemoryGetWin32HandleInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryGetWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkMemoryGetWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkMemoryGetWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryGetWin32HandleInfoKHR where+ unsafeAddr (VkMemoryGetWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryGetWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryGetWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryGetWin32HandleInfoKHR where+ type StructFields VkMemoryGetWin32HandleInfoKHR =+ '["sType", "pNext", "memory", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkMemoryGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryGetWin32HandleInfoKHR where+ type FieldType "sType" VkMemoryGetWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryGetWin32HandleInfoKHR =+ #{offset VkMemoryGetWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryGetWin32HandleInfoKHR where+ type FieldType "pNext" VkMemoryGetWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryGetWin32HandleInfoKHR =+ #{offset VkMemoryGetWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "memory" VkMemoryGetWin32HandleInfoKHR where+ type FieldType "memory" VkMemoryGetWin32HandleInfoKHR =+ VkDeviceMemory+ type FieldOptional "memory" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkMemoryGetWin32HandleInfoKHR =+ #{offset VkMemoryGetWin32HandleInfoKHR, memory}+ type FieldIsArray "memory" VkMemoryGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetWin32HandleInfoKHR, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkMemoryGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkMemoryGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, memory}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkMemoryGetWin32HandleInfoKHR where+ type FieldType "handleType" VkMemoryGetWin32HandleInfoKHR =+ VkExternalMemoryHandleTypeFlagBits+ type FieldOptional "handleType" VkMemoryGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkMemoryGetWin32HandleInfoKHR =+ #{offset VkMemoryGetWin32HandleInfoKHR, handleType}+ type FieldIsArray "handleType" VkMemoryGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkMemoryGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryGetWin32HandleInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkMemoryGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryGetWin32HandleInfoKHR, handleType}++instance Show VkMemoryGetWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkMemoryGetWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | > typedef struct VkMemoryWin32HandlePropertiesKHR {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t memoryTypeBits;+-- > } VkMemoryWin32HandlePropertiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkMemoryWin32HandlePropertiesKHR VkMemoryWin32HandlePropertiesKHR registry at www.khronos.org>+data VkMemoryWin32HandlePropertiesKHR = VkMemoryWin32HandlePropertiesKHR## Addr##+ ByteArray##++instance Eq VkMemoryWin32HandlePropertiesKHR where+ (VkMemoryWin32HandlePropertiesKHR## a _) ==+ x@(VkMemoryWin32HandlePropertiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkMemoryWin32HandlePropertiesKHR where+ (VkMemoryWin32HandlePropertiesKHR## a _) `compare`+ x@(VkMemoryWin32HandlePropertiesKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkMemoryWin32HandlePropertiesKHR where+ sizeOf ~_ = #{size VkMemoryWin32HandlePropertiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkMemoryWin32HandlePropertiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkMemoryWin32HandlePropertiesKHR where+ unsafeAddr (VkMemoryWin32HandlePropertiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkMemoryWin32HandlePropertiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkMemoryWin32HandlePropertiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkMemoryWin32HandlePropertiesKHR where+ type StructFields VkMemoryWin32HandlePropertiesKHR =+ '["sType", "pNext", "memoryTypeBits"] -- ' closing tick for hsc2hs+ type CUnionType VkMemoryWin32HandlePropertiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkMemoryWin32HandlePropertiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkMemoryWin32HandlePropertiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkMemoryWin32HandlePropertiesKHR where+ type FieldType "sType" VkMemoryWin32HandlePropertiesKHR =+ VkStructureType+ type FieldOptional "sType" VkMemoryWin32HandlePropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkMemoryWin32HandlePropertiesKHR =+ #{offset VkMemoryWin32HandlePropertiesKHR, sType}+ type FieldIsArray "sType" VkMemoryWin32HandlePropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryWin32HandlePropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkMemoryWin32HandlePropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryWin32HandlePropertiesKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkMemoryWin32HandlePropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkMemoryWin32HandlePropertiesKHR where+ type FieldType "pNext" VkMemoryWin32HandlePropertiesKHR = Ptr Void+ type FieldOptional "pNext" VkMemoryWin32HandlePropertiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkMemoryWin32HandlePropertiesKHR =+ #{offset VkMemoryWin32HandlePropertiesKHR, pNext}+ type FieldIsArray "pNext" VkMemoryWin32HandlePropertiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryWin32HandlePropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkMemoryWin32HandlePropertiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryWin32HandlePropertiesKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkMemoryWin32HandlePropertiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR where+ type FieldType "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR =+ Word32+ type FieldOptional "memoryTypeBits"+ VkMemoryWin32HandlePropertiesKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR+ =+ #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}+ type FieldIsArray "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanReadField "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryTypeBits" VkMemoryWin32HandlePropertiesKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkMemoryWin32HandlePropertiesKHR, memoryTypeBits}++instance Show VkMemoryWin32HandlePropertiesKHR where+ showsPrec d x+ = showString "VkMemoryWin32HandlePropertiesKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memoryTypeBits = " .+ showsPrec d (getField @"memoryTypeBits" x) . showChar '}'++-- | > typedef struct VkSemaphoreGetWin32HandleInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSemaphore semaphore;+-- > VkExternalSemaphoreHandleTypeFlagBits handleType;+-- > } VkSemaphoreGetWin32HandleInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreGetWin32HandleInfoKHR VkSemaphoreGetWin32HandleInfoKHR registry at www.khronos.org>+data VkSemaphoreGetWin32HandleInfoKHR = VkSemaphoreGetWin32HandleInfoKHR## Addr##+ ByteArray##++instance Eq VkSemaphoreGetWin32HandleInfoKHR where+ (VkSemaphoreGetWin32HandleInfoKHR## a _) ==+ x@(VkSemaphoreGetWin32HandleInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSemaphoreGetWin32HandleInfoKHR where+ (VkSemaphoreGetWin32HandleInfoKHR## a _) `compare`+ x@(VkSemaphoreGetWin32HandleInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSemaphoreGetWin32HandleInfoKHR where+ sizeOf ~_ = #{size VkSemaphoreGetWin32HandleInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSemaphoreGetWin32HandleInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSemaphoreGetWin32HandleInfoKHR where+ unsafeAddr (VkSemaphoreGetWin32HandleInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSemaphoreGetWin32HandleInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSemaphoreGetWin32HandleInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSemaphoreGetWin32HandleInfoKHR where+ type StructFields VkSemaphoreGetWin32HandleInfoKHR =+ '["sType", "pNext", "semaphore", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSemaphoreGetWin32HandleInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSemaphoreGetWin32HandleInfoKHR where+ type FieldType "sType" VkSemaphoreGetWin32HandleInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkSemaphoreGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSemaphoreGetWin32HandleInfoKHR =+ #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}+ type FieldIsArray "sType" VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSemaphoreGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSemaphoreGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSemaphoreGetWin32HandleInfoKHR where+ type FieldType "pNext" VkSemaphoreGetWin32HandleInfoKHR = Ptr Void+ type FieldOptional "pNext" VkSemaphoreGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSemaphoreGetWin32HandleInfoKHR =+ #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}+ type FieldIsArray "pNext" VkSemaphoreGetWin32HandleInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSemaphoreGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSemaphoreGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "semaphore" VkSemaphoreGetWin32HandleInfoKHR where+ type FieldType "semaphore" VkSemaphoreGetWin32HandleInfoKHR =+ VkSemaphore+ type FieldOptional "semaphore" VkSemaphoreGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "semaphore" VkSemaphoreGetWin32HandleInfoKHR =+ #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}+ type FieldIsArray "semaphore" VkSemaphoreGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanReadField "semaphore" VkSemaphoreGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanWriteField "semaphore" VkSemaphoreGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkSemaphoreGetWin32HandleInfoKHR where+ type FieldType "handleType" VkSemaphoreGetWin32HandleInfoKHR =+ VkExternalSemaphoreHandleTypeFlagBits+ type FieldOptional "handleType" VkSemaphoreGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkSemaphoreGetWin32HandleInfoKHR =+ #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}+ type FieldIsArray "handleType" VkSemaphoreGetWin32HandleInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkSemaphoreGetWin32HandleInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkSemaphoreGetWin32HandleInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetWin32HandleInfoKHR, handleType}++instance Show VkSemaphoreGetWin32HandleInfoKHR where+ showsPrec d x+ = showString "VkSemaphoreGetWin32HandleInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "semaphore = " .+ showsPrec d (getField @"semaphore" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'++-- | > typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t acquireCount;+-- > const VkDeviceMemory* pAcquireSyncs;+-- > const uint64_t* pAcquireKeys;+-- > const uint32_t* pAcquireTimeouts;+-- > uint32_t releaseCount;+-- > const VkDeviceMemory* pReleaseSyncs;+-- > const uint64_t* pReleaseKeys;+-- > } VkWin32KeyedMutexAcquireReleaseInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32KeyedMutexAcquireReleaseInfoKHR VkWin32KeyedMutexAcquireReleaseInfoKHR registry at www.khronos.org>+data VkWin32KeyedMutexAcquireReleaseInfoKHR = VkWin32KeyedMutexAcquireReleaseInfoKHR## Addr##+ ByteArray##++instance Eq VkWin32KeyedMutexAcquireReleaseInfoKHR where+ (VkWin32KeyedMutexAcquireReleaseInfoKHR## a _) ==+ x@(VkWin32KeyedMutexAcquireReleaseInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkWin32KeyedMutexAcquireReleaseInfoKHR where+ (VkWin32KeyedMutexAcquireReleaseInfoKHR## a _) `compare`+ x@(VkWin32KeyedMutexAcquireReleaseInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkWin32KeyedMutexAcquireReleaseInfoKHR where+ sizeOf ~_+ = #{size VkWin32KeyedMutexAcquireReleaseInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkWin32KeyedMutexAcquireReleaseInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ unsafeAddr (VkWin32KeyedMutexAcquireReleaseInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkWin32KeyedMutexAcquireReleaseInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkWin32KeyedMutexAcquireReleaseInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkWin32KeyedMutexAcquireReleaseInfoKHR where+ type StructFields VkWin32KeyedMutexAcquireReleaseInfoKHR =+ '["sType", "pNext", "acquireCount", "pAcquireSyncs", -- ' closing tick for hsc2hs+ "pAcquireKeys", "pAcquireTimeouts", "releaseCount",+ "pReleaseSyncs", "pReleaseKeys"]+ type CUnionType VkWin32KeyedMutexAcquireReleaseInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkWin32KeyedMutexAcquireReleaseInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkWin32KeyedMutexAcquireReleaseInfoKHR =+ '[VkSubmitInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR where+ type FieldType "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}+ type FieldIsArray "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkWin32KeyedMutexAcquireReleaseInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR where+ type FieldType "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ Ptr Void+ type FieldOptional "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}+ type FieldIsArray "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkWin32KeyedMutexAcquireReleaseInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Word32+ type FieldOptional "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}+ type FieldIsArray "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}++instance {-# OVERLAPPING #-}+ CanReadField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}++instance {-# OVERLAPPING #-}+ CanWriteField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, acquireCount}++instance {-# OVERLAPPING #-}+ HasField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Ptr VkDeviceMemory+ type FieldOptional "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}+ type FieldIsArray "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}++instance {-# OVERLAPPING #-}+ CanReadField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}++instance {-# OVERLAPPING #-}+ CanWriteField "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireSyncs}++instance {-# OVERLAPPING #-}+ HasField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Ptr Word64+ type FieldOptional "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}+ type FieldIsArray "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}++instance {-# OVERLAPPING #-}+ CanReadField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}++instance {-# OVERLAPPING #-}+ CanWriteField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireKeys}++instance {-# OVERLAPPING #-}+ HasField "pAcquireTimeouts" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "pAcquireTimeouts"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Ptr Word32+ type FieldOptional "pAcquireTimeouts"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAcquireTimeouts"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}+ type FieldIsArray "pAcquireTimeouts"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}++instance {-# OVERLAPPING #-}+ CanReadField "pAcquireTimeouts"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}++instance {-# OVERLAPPING #-}+ CanWriteField "pAcquireTimeouts"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pAcquireTimeouts}++instance {-# OVERLAPPING #-}+ HasField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Word32+ type FieldOptional "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}+ type FieldIsArray "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}++instance {-# OVERLAPPING #-}+ CanReadField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}++instance {-# OVERLAPPING #-}+ CanWriteField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, releaseCount}++instance {-# OVERLAPPING #-}+ HasField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Ptr VkDeviceMemory+ type FieldOptional "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}+ type FieldIsArray "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}++instance {-# OVERLAPPING #-}+ CanReadField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}++instance {-# OVERLAPPING #-}+ CanWriteField "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseSyncs}++instance {-# OVERLAPPING #-}+ HasField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ type FieldType "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = Ptr Word64+ type FieldOptional "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}+ type FieldIsArray "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}++instance {-# OVERLAPPING #-}+ CanReadField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}++instance {-# OVERLAPPING #-}+ CanWriteField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoKHR, pReleaseKeys}++instance Show VkWin32KeyedMutexAcquireReleaseInfoKHR where+ showsPrec d x+ = showString "VkWin32KeyedMutexAcquireReleaseInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "acquireCount = " .+ showsPrec d (getField @"acquireCount" x) .+ showString ", " .+ showString "pAcquireSyncs = " .+ showsPrec d (getField @"pAcquireSyncs" x) .+ showString ", " .+ showString "pAcquireKeys = " .+ showsPrec d (getField @"pAcquireKeys" x) .+ showString ", " .+ showString "pAcquireTimeouts = " .+ showsPrec d (getField @"pAcquireTimeouts" x) .+ showString ", " .+ showString "releaseCount = " .+ showsPrec d (getField @"releaseCount" x) .+ showString ", " .+ showString "pReleaseSyncs = " .+ showsPrec d (getField @"pReleaseSyncs" x)+ .+ showString ", " .+ showString "pReleaseKeys = " .+ showsPrec d+ (getField @"pReleaseKeys" x)+ . showChar '}'++-- | > typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t acquireCount;+-- > const VkDeviceMemory* pAcquireSyncs;+-- > const uint64_t* pAcquireKeys;+-- > const uint32_t* pAcquireTimeoutMilliseconds;+-- > uint32_t releaseCount;+-- > const VkDeviceMemory* pReleaseSyncs;+-- > const uint64_t* pReleaseKeys;+-- > } VkWin32KeyedMutexAcquireReleaseInfoNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32KeyedMutexAcquireReleaseInfoNV VkWin32KeyedMutexAcquireReleaseInfoNV registry at www.khronos.org>+data VkWin32KeyedMutexAcquireReleaseInfoNV = VkWin32KeyedMutexAcquireReleaseInfoNV## Addr##+ ByteArray##++instance Eq VkWin32KeyedMutexAcquireReleaseInfoNV where+ (VkWin32KeyedMutexAcquireReleaseInfoNV## a _) ==+ x@(VkWin32KeyedMutexAcquireReleaseInfoNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkWin32KeyedMutexAcquireReleaseInfoNV where+ (VkWin32KeyedMutexAcquireReleaseInfoNV## a _) `compare`+ x@(VkWin32KeyedMutexAcquireReleaseInfoNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkWin32KeyedMutexAcquireReleaseInfoNV where+ sizeOf ~_+ = #{size VkWin32KeyedMutexAcquireReleaseInfoNV}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkWin32KeyedMutexAcquireReleaseInfoNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ unsafeAddr (VkWin32KeyedMutexAcquireReleaseInfoNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkWin32KeyedMutexAcquireReleaseInfoNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkWin32KeyedMutexAcquireReleaseInfoNV##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkWin32KeyedMutexAcquireReleaseInfoNV where+ type StructFields VkWin32KeyedMutexAcquireReleaseInfoNV =+ '["sType", "pNext", "acquireCount", "pAcquireSyncs", -- ' closing tick for hsc2hs+ "pAcquireKeys", "pAcquireTimeoutMilliseconds", "releaseCount",+ "pReleaseSyncs", "pReleaseKeys"]+ type CUnionType VkWin32KeyedMutexAcquireReleaseInfoNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkWin32KeyedMutexAcquireReleaseInfoNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkWin32KeyedMutexAcquireReleaseInfoNV =+ '[VkSubmitInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkWin32KeyedMutexAcquireReleaseInfoNV where+ type FieldType "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =+ VkStructureType+ type FieldOptional "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}+ type FieldIsArray "sType" VkWin32KeyedMutexAcquireReleaseInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkWin32KeyedMutexAcquireReleaseInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkWin32KeyedMutexAcquireReleaseInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV where+ type FieldType "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =+ Ptr Void+ type FieldOptional "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}+ type FieldIsArray "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkWin32KeyedMutexAcquireReleaseInfoNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pNext}++instance {-# OVERLAPPING #-}+ HasField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV where+ type FieldType "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV+ = Word32+ type FieldOptional "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}+ type FieldIsArray "acquireCount"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}++instance {-# OVERLAPPING #-}+ CanReadField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}++instance {-# OVERLAPPING #-}+ CanWriteField "acquireCount" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, acquireCount}++instance {-# OVERLAPPING #-}+ HasField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ type FieldType "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = Ptr VkDeviceMemory+ type FieldOptional "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}+ type FieldIsArray "pAcquireSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}++instance {-# OVERLAPPING #-}+ CanReadField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}++instance {-# OVERLAPPING #-}+ CanWriteField "pAcquireSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireSyncs}++instance {-# OVERLAPPING #-}+ HasField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV where+ type FieldType "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV+ = Ptr Word64+ type FieldOptional "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}+ type FieldIsArray "pAcquireKeys"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}++instance {-# OVERLAPPING #-}+ CanReadField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}++instance {-# OVERLAPPING #-}+ CanWriteField "pAcquireKeys" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireKeys}++instance {-# OVERLAPPING #-}+ HasField "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ type FieldType "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = Ptr Word32+ type FieldOptional "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}+ type FieldIsArray "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}++instance {-# OVERLAPPING #-}+ CanReadField "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}++instance {-# OVERLAPPING #-}+ CanWriteField "pAcquireTimeoutMilliseconds"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pAcquireTimeoutMilliseconds}++instance {-# OVERLAPPING #-}+ HasField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV where+ type FieldType "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV+ = Word32+ type FieldOptional "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}+ type FieldIsArray "releaseCount"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}++instance {-# OVERLAPPING #-}+ CanReadField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}++instance {-# OVERLAPPING #-}+ CanWriteField "releaseCount" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, releaseCount}++instance {-# OVERLAPPING #-}+ HasField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ type FieldType "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = Ptr VkDeviceMemory+ type FieldOptional "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}+ type FieldIsArray "pReleaseSyncs"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}++instance {-# OVERLAPPING #-}+ CanReadField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}++instance {-# OVERLAPPING #-}+ CanWriteField "pReleaseSyncs" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseSyncs}++instance {-# OVERLAPPING #-}+ HasField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV where+ type FieldType "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV+ = Ptr Word64+ type FieldOptional "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ =+ #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}+ type FieldIsArray "pReleaseKeys"+ VkWin32KeyedMutexAcquireReleaseInfoNV+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}++instance {-# OVERLAPPING #-}+ CanReadField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}++instance {-# OVERLAPPING #-}+ CanWriteField "pReleaseKeys" VkWin32KeyedMutexAcquireReleaseInfoNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32KeyedMutexAcquireReleaseInfoNV, pReleaseKeys}++instance Show VkWin32KeyedMutexAcquireReleaseInfoNV where+ showsPrec d x+ = showString "VkWin32KeyedMutexAcquireReleaseInfoNV {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "acquireCount = " .+ showsPrec d (getField @"acquireCount" x) .+ showString ", " .+ showString "pAcquireSyncs = " .+ showsPrec d (getField @"pAcquireSyncs" x) .+ showString ", " .+ showString "pAcquireKeys = " .+ showsPrec d (getField @"pAcquireKeys" x) .+ showString ", " .+ showString "pAcquireTimeoutMilliseconds = " .+ showsPrec d+ (getField @"pAcquireTimeoutMilliseconds" x)+ .+ showString ", " .+ showString "releaseCount = " .+ showsPrec d (getField @"releaseCount" x) .+ showString ", " .+ showString "pReleaseSyncs = " .+ showsPrec d (getField @"pReleaseSyncs" x)+ .+ showString ", " .+ showString "pReleaseKeys = " .+ showsPrec d+ (getField @"pReleaseKeys" x)+ . showChar '}'++-- | > typedef struct VkWin32SurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkWin32SurfaceCreateFlagsKHR flags;+-- > HINSTANCE hinstance;+-- > HWND hwnd;+-- > } VkWin32SurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkWin32SurfaceCreateInfoKHR VkWin32SurfaceCreateInfoKHR registry at www.khronos.org>+data VkWin32SurfaceCreateInfoKHR = VkWin32SurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkWin32SurfaceCreateInfoKHR where+ (VkWin32SurfaceCreateInfoKHR## a _) ==+ x@(VkWin32SurfaceCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkWin32SurfaceCreateInfoKHR where+ (VkWin32SurfaceCreateInfoKHR## a _) `compare`+ x@(VkWin32SurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkWin32SurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkWin32SurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkWin32SurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkWin32SurfaceCreateInfoKHR where+ unsafeAddr (VkWin32SurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkWin32SurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkWin32SurfaceCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkWin32SurfaceCreateInfoKHR where+ type StructFields VkWin32SurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "hinstance", "hwnd"] -- ' closing tick for hsc2hs+ type CUnionType VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkWin32SurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkWin32SurfaceCreateInfoKHR where+ type FieldType "sType" VkWin32SurfaceCreateInfoKHR =+ VkStructureType+ type FieldOptional "sType" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkWin32SurfaceCreateInfoKHR =+ #{offset VkWin32SurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32SurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkWin32SurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkWin32SurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkWin32SurfaceCreateInfoKHR where+ type FieldType "pNext" VkWin32SurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkWin32SurfaceCreateInfoKHR =+ #{offset VkWin32SurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32SurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkWin32SurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkWin32SurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkWin32SurfaceCreateInfoKHR where+ type FieldType "flags" VkWin32SurfaceCreateInfoKHR =+ VkWin32SurfaceCreateFlagsKHR+ type FieldOptional "flags" VkWin32SurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkWin32SurfaceCreateInfoKHR =+ #{offset VkWin32SurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32SurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkWin32SurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkWin32SurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "hinstance" VkWin32SurfaceCreateInfoKHR where+ type FieldType "hinstance" VkWin32SurfaceCreateInfoKHR = HINSTANCE+ type FieldOptional "hinstance" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "hinstance" VkWin32SurfaceCreateInfoKHR =+ #{offset VkWin32SurfaceCreateInfoKHR, hinstance}+ type FieldIsArray "hinstance" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32SurfaceCreateInfoKHR, hinstance}++instance {-# OVERLAPPING #-}+ CanReadField "hinstance" VkWin32SurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, hinstance})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hinstance}++instance {-# OVERLAPPING #-}+ CanWriteField "hinstance" VkWin32SurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hinstance}++instance {-# OVERLAPPING #-}+ HasField "hwnd" VkWin32SurfaceCreateInfoKHR where+ type FieldType "hwnd" VkWin32SurfaceCreateInfoKHR = HWND+ type FieldOptional "hwnd" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "hwnd" VkWin32SurfaceCreateInfoKHR =+ #{offset VkWin32SurfaceCreateInfoKHR, hwnd}+ type FieldIsArray "hwnd" VkWin32SurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkWin32SurfaceCreateInfoKHR, hwnd}++instance {-# OVERLAPPING #-}+ CanReadField "hwnd" VkWin32SurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkWin32SurfaceCreateInfoKHR, hwnd})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hwnd}++instance {-# OVERLAPPING #-}+ CanWriteField "hwnd" VkWin32SurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkWin32SurfaceCreateInfoKHR, hwnd}++instance Show VkWin32SurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkWin32SurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "hinstance = " .+ showsPrec d (getField @"hinstance" x) .+ showString ", " .+ showString "hwnd = " .+ showsPrec d (getField @"hwnd" x) . showChar '}'
@@ -0,0 +1,260 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformXcbKhr+ (VkXcbSurfaceCreateInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkXcbSurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Include (XcbConnectionT,+ XcbWindowT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkXcbSurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkXcbSurfaceCreateFlagsKHR flags;+-- > xcb_connection_t* connection;+-- > xcb_window_t window;+-- > } VkXcbSurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkXcbSurfaceCreateInfoKHR VkXcbSurfaceCreateInfoKHR registry at www.khronos.org>+data VkXcbSurfaceCreateInfoKHR = VkXcbSurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkXcbSurfaceCreateInfoKHR where+ (VkXcbSurfaceCreateInfoKHR## a _) ==+ x@(VkXcbSurfaceCreateInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkXcbSurfaceCreateInfoKHR where+ (VkXcbSurfaceCreateInfoKHR## a _) `compare`+ x@(VkXcbSurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkXcbSurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkXcbSurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkXcbSurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkXcbSurfaceCreateInfoKHR where+ unsafeAddr (VkXcbSurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkXcbSurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkXcbSurfaceCreateInfoKHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkXcbSurfaceCreateInfoKHR where+ type StructFields VkXcbSurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "connection", "window"] -- ' closing tick for hsc2hs+ type CUnionType VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkXcbSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkXcbSurfaceCreateInfoKHR where+ type FieldType "sType" VkXcbSurfaceCreateInfoKHR = VkStructureType+ type FieldOptional "sType" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkXcbSurfaceCreateInfoKHR =+ #{offset VkXcbSurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXcbSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkXcbSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkXcbSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkXcbSurfaceCreateInfoKHR where+ type FieldType "pNext" VkXcbSurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkXcbSurfaceCreateInfoKHR =+ #{offset VkXcbSurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXcbSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkXcbSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkXcbSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkXcbSurfaceCreateInfoKHR where+ type FieldType "flags" VkXcbSurfaceCreateInfoKHR =+ VkXcbSurfaceCreateFlagsKHR+ type FieldOptional "flags" VkXcbSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkXcbSurfaceCreateInfoKHR =+ #{offset VkXcbSurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXcbSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkXcbSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkXcbSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "connection" VkXcbSurfaceCreateInfoKHR where+ type FieldType "connection" VkXcbSurfaceCreateInfoKHR =+ Ptr XcbConnectionT+ type FieldOptional "connection" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "connection" VkXcbSurfaceCreateInfoKHR =+ #{offset VkXcbSurfaceCreateInfoKHR, connection}+ type FieldIsArray "connection" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXcbSurfaceCreateInfoKHR, connection}++instance {-# OVERLAPPING #-}+ CanReadField "connection" VkXcbSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, connection})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, connection}++instance {-# OVERLAPPING #-}+ CanWriteField "connection" VkXcbSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, connection}++instance {-# OVERLAPPING #-}+ HasField "window" VkXcbSurfaceCreateInfoKHR where+ type FieldType "window" VkXcbSurfaceCreateInfoKHR = XcbWindowT+ type FieldOptional "window" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "window" VkXcbSurfaceCreateInfoKHR =+ #{offset VkXcbSurfaceCreateInfoKHR, window}+ type FieldIsArray "window" VkXcbSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXcbSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+ CanReadField "window" VkXcbSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXcbSurfaceCreateInfoKHR, window})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXcbSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+ CanWriteField "window" VkXcbSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXcbSurfaceCreateInfoKHR, window}++instance Show VkXcbSurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkXcbSurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "connection = " .+ showsPrec d (getField @"connection" x) .+ showString ", " .+ showString "window = " .+ showsPrec d (getField @"window" x) . showChar '}'
@@ -0,0 +1,259 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PlatformXlibKhr+ (VkXlibSurfaceCreateInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkXlibSurfaceCreateFlagsKHR)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Include (Display, Window)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkXlibSurfaceCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkXlibSurfaceCreateFlagsKHR flags;+-- > Display* dpy;+-- > Window window;+-- > } VkXlibSurfaceCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkXlibSurfaceCreateInfoKHR VkXlibSurfaceCreateInfoKHR registry at www.khronos.org>+data VkXlibSurfaceCreateInfoKHR = VkXlibSurfaceCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkXlibSurfaceCreateInfoKHR where+ (VkXlibSurfaceCreateInfoKHR## a _) ==+ x@(VkXlibSurfaceCreateInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkXlibSurfaceCreateInfoKHR where+ (VkXlibSurfaceCreateInfoKHR## a _) `compare`+ x@(VkXlibSurfaceCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkXlibSurfaceCreateInfoKHR where+ sizeOf ~_ = #{size VkXlibSurfaceCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkXlibSurfaceCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkXlibSurfaceCreateInfoKHR where+ unsafeAddr (VkXlibSurfaceCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkXlibSurfaceCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkXlibSurfaceCreateInfoKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkXlibSurfaceCreateInfoKHR where+ type StructFields VkXlibSurfaceCreateInfoKHR =+ '["sType", "pNext", "flags", "dpy", "window"] -- ' closing tick for hsc2hs+ type CUnionType VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkXlibSurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkXlibSurfaceCreateInfoKHR where+ type FieldType "sType" VkXlibSurfaceCreateInfoKHR = VkStructureType+ type FieldOptional "sType" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkXlibSurfaceCreateInfoKHR =+ #{offset VkXlibSurfaceCreateInfoKHR, sType}+ type FieldIsArray "sType" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXlibSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkXlibSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkXlibSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkXlibSurfaceCreateInfoKHR where+ type FieldType "pNext" VkXlibSurfaceCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkXlibSurfaceCreateInfoKHR =+ #{offset VkXlibSurfaceCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXlibSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkXlibSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkXlibSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkXlibSurfaceCreateInfoKHR where+ type FieldType "flags" VkXlibSurfaceCreateInfoKHR =+ VkXlibSurfaceCreateFlagsKHR+ type FieldOptional "flags" VkXlibSurfaceCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkXlibSurfaceCreateInfoKHR =+ #{offset VkXlibSurfaceCreateInfoKHR, flags}+ type FieldIsArray "flags" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXlibSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkXlibSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkXlibSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "dpy" VkXlibSurfaceCreateInfoKHR where+ type FieldType "dpy" VkXlibSurfaceCreateInfoKHR = Ptr Display+ type FieldOptional "dpy" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dpy" VkXlibSurfaceCreateInfoKHR =+ #{offset VkXlibSurfaceCreateInfoKHR, dpy}+ type FieldIsArray "dpy" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkXlibSurfaceCreateInfoKHR, dpy}++instance {-# OVERLAPPING #-}+ CanReadField "dpy" VkXlibSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, dpy})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, dpy}++instance {-# OVERLAPPING #-}+ CanWriteField "dpy" VkXlibSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, dpy}++instance {-# OVERLAPPING #-}+ HasField "window" VkXlibSurfaceCreateInfoKHR where+ type FieldType "window" VkXlibSurfaceCreateInfoKHR = Window+ type FieldOptional "window" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "window" VkXlibSurfaceCreateInfoKHR =+ #{offset VkXlibSurfaceCreateInfoKHR, window}+ type FieldIsArray "window" VkXlibSurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkXlibSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+ CanReadField "window" VkXlibSurfaceCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkXlibSurfaceCreateInfoKHR, window})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkXlibSurfaceCreateInfoKHR, window}++instance {-# OVERLAPPING #-}+ CanWriteField "window" VkXlibSurfaceCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkXlibSurfaceCreateInfoKHR, window}++instance Show VkXlibSurfaceCreateInfoKHR where+ showsPrec d x+ = showString "VkXlibSurfaceCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "dpy = " .+ showsPrec d (getField @"dpy" x) .+ showString ", " .+ showString "window = " .+ showsPrec d (getField @"window" x) . showChar '}'
@@ -0,0 +1,1014 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Present+ (VkPresentInfoKHR(..), VkPresentRegionKHR(..),+ VkPresentRegionsKHR(..), VkPresentTimeGOOGLE(..),+ VkPresentTimesInfoGOOGLE(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Result (VkResult)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkSemaphore,+ VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.Rect (VkRectLayerKHR)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkPresentInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t waitSemaphoreCount;+-- > const VkSemaphore* pWaitSemaphores;+-- > uint32_t swapchainCount;+-- > const VkSwapchainKHR* pSwapchains;+-- > const uint32_t* pImageIndices;+-- > VkResult* pResults;+-- > } VkPresentInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentInfoKHR VkPresentInfoKHR registry at www.khronos.org>+data VkPresentInfoKHR = VkPresentInfoKHR## Addr## ByteArray##++instance Eq VkPresentInfoKHR where+ (VkPresentInfoKHR## a _) == x@(VkPresentInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPresentInfoKHR where+ (VkPresentInfoKHR## a _) `compare` x@(VkPresentInfoKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPresentInfoKHR where+ sizeOf ~_ = #{size VkPresentInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPresentInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPresentInfoKHR where+ unsafeAddr (VkPresentInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPresentInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPresentInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPresentInfoKHR where+ type StructFields VkPresentInfoKHR =+ '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs+ "swapchainCount", "pSwapchains", "pImageIndices", "pResults"]+ type CUnionType VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPresentInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkPresentInfoKHR+ where+ type FieldType "sType" VkPresentInfoKHR = VkStructureType+ type FieldOptional "sType" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, sType}+ type FieldIsArray "sType" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentInfoKHR, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkPresentInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, sType}++instance {-# OVERLAPPING #-} CanWriteField "sType" VkPresentInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkPresentInfoKHR+ where+ type FieldType "pNext" VkPresentInfoKHR = Ptr Void+ type FieldOptional "pNext" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, pNext}+ type FieldIsArray "pNext" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkPresentInfoKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-} CanWriteField "pNext" VkPresentInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "waitSemaphoreCount" VkPresentInfoKHR where+ type FieldType "waitSemaphoreCount" VkPresentInfoKHR = Word32+ type FieldOptional "waitSemaphoreCount" VkPresentInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "waitSemaphoreCount" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, waitSemaphoreCount}+ type FieldIsArray "waitSemaphoreCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentInfoKHR, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "waitSemaphoreCount" VkPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, waitSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "waitSemaphoreCount" VkPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pWaitSemaphores" VkPresentInfoKHR where+ type FieldType "pWaitSemaphores" VkPresentInfoKHR = Ptr VkSemaphore+ type FieldOptional "pWaitSemaphores" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pWaitSemaphores" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, pWaitSemaphores}+ type FieldIsArray "pWaitSemaphores" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentInfoKHR, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ CanReadField "pWaitSemaphores" VkPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pWaitSemaphores})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ CanWriteField "pWaitSemaphores" VkPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ HasField "swapchainCount" VkPresentInfoKHR where+ type FieldType "swapchainCount" VkPresentInfoKHR = Word32+ type FieldOptional "swapchainCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "swapchainCount" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, swapchainCount}+ type FieldIsArray "swapchainCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ CanReadField "swapchainCount" VkPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, swapchainCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchainCount" VkPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ HasField "pSwapchains" VkPresentInfoKHR where+ type FieldType "pSwapchains" VkPresentInfoKHR = Ptr VkSwapchainKHR+ type FieldOptional "pSwapchains" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSwapchains" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, pSwapchains}+ type FieldIsArray "pSwapchains" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentInfoKHR, pSwapchains}++instance {-# OVERLAPPING #-}+ CanReadField "pSwapchains" VkPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pSwapchains})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, pSwapchains}++instance {-# OVERLAPPING #-}+ CanWriteField "pSwapchains" VkPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, pSwapchains}++instance {-# OVERLAPPING #-}+ HasField "pImageIndices" VkPresentInfoKHR where+ type FieldType "pImageIndices" VkPresentInfoKHR = Ptr Word32+ type FieldOptional "pImageIndices" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pImageIndices" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, pImageIndices}+ type FieldIsArray "pImageIndices" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentInfoKHR, pImageIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pImageIndices" VkPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pImageIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, pImageIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pImageIndices" VkPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, pImageIndices}++instance {-# OVERLAPPING #-} HasField "pResults" VkPresentInfoKHR+ where+ type FieldType "pResults" VkPresentInfoKHR = Ptr VkResult+ type FieldOptional "pResults" VkPresentInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pResults" VkPresentInfoKHR =+ #{offset VkPresentInfoKHR, pResults}+ type FieldIsArray "pResults" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentInfoKHR, pResults}++instance {-# OVERLAPPING #-}+ CanReadField "pResults" VkPresentInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentInfoKHR, pResults})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentInfoKHR, pResults}++instance {-# OVERLAPPING #-}+ CanWriteField "pResults" VkPresentInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentInfoKHR, pResults}++instance Show VkPresentInfoKHR where+ showsPrec d x+ = showString "VkPresentInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "waitSemaphoreCount = " .+ showsPrec d (getField @"waitSemaphoreCount" x) .+ showString ", " .+ showString "pWaitSemaphores = " .+ showsPrec d (getField @"pWaitSemaphores" x) .+ showString ", " .+ showString "swapchainCount = " .+ showsPrec d (getField @"swapchainCount" x) .+ showString ", " .+ showString "pSwapchains = " .+ showsPrec d (getField @"pSwapchains" x) .+ showString ", " .+ showString "pImageIndices = " .+ showsPrec d (getField @"pImageIndices" x) .+ showString ", " .+ showString "pResults = " .+ showsPrec d (getField @"pResults" x) .+ showChar '}'++-- | > typedef struct VkPresentRegionKHR {+-- > uint32_t rectangleCount;+-- > const VkRectLayerKHR* pRectangles;+-- > } VkPresentRegionKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionKHR VkPresentRegionKHR registry at www.khronos.org>+data VkPresentRegionKHR = VkPresentRegionKHR## Addr## ByteArray##++instance Eq VkPresentRegionKHR where+ (VkPresentRegionKHR## a _) == x@(VkPresentRegionKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPresentRegionKHR where+ (VkPresentRegionKHR## a _) `compare` x@(VkPresentRegionKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPresentRegionKHR where+ sizeOf ~_ = #{size VkPresentRegionKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPresentRegionKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPresentRegionKHR where+ unsafeAddr (VkPresentRegionKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPresentRegionKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPresentRegionKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPresentRegionKHR where+ type StructFields VkPresentRegionKHR =+ '["rectangleCount", "pRectangles"] -- ' closing tick for hsc2hs+ type CUnionType VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPresentRegionKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "rectangleCount" VkPresentRegionKHR where+ type FieldType "rectangleCount" VkPresentRegionKHR = Word32+ type FieldOptional "rectangleCount" VkPresentRegionKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "rectangleCount" VkPresentRegionKHR =+ #{offset VkPresentRegionKHR, rectangleCount}+ type FieldIsArray "rectangleCount" VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentRegionKHR, rectangleCount}++instance {-# OVERLAPPING #-}+ CanReadField "rectangleCount" VkPresentRegionKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentRegionKHR, rectangleCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentRegionKHR, rectangleCount}++instance {-# OVERLAPPING #-}+ CanWriteField "rectangleCount" VkPresentRegionKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentRegionKHR, rectangleCount}++instance {-# OVERLAPPING #-}+ HasField "pRectangles" VkPresentRegionKHR where+ type FieldType "pRectangles" VkPresentRegionKHR =+ Ptr VkRectLayerKHR+ type FieldOptional "pRectangles" VkPresentRegionKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pRectangles" VkPresentRegionKHR =+ #{offset VkPresentRegionKHR, pRectangles}+ type FieldIsArray "pRectangles" VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentRegionKHR, pRectangles}++instance {-# OVERLAPPING #-}+ CanReadField "pRectangles" VkPresentRegionKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentRegionKHR, pRectangles})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentRegionKHR, pRectangles}++instance {-# OVERLAPPING #-}+ CanWriteField "pRectangles" VkPresentRegionKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentRegionKHR, pRectangles}++instance Show VkPresentRegionKHR where+ showsPrec d x+ = showString "VkPresentRegionKHR {" .+ showString "rectangleCount = " .+ showsPrec d (getField @"rectangleCount" x) .+ showString ", " .+ showString "pRectangles = " .+ showsPrec d (getField @"pRectangles" x) . showChar '}'++-- | > typedef struct VkPresentRegionsKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t swapchainCount;+-- > const VkPresentRegionKHR* pRegions;+-- > } VkPresentRegionsKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionsKHR VkPresentRegionsKHR registry at www.khronos.org>+data VkPresentRegionsKHR = VkPresentRegionsKHR## Addr## ByteArray##++instance Eq VkPresentRegionsKHR where+ (VkPresentRegionsKHR## a _) == x@(VkPresentRegionsKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPresentRegionsKHR where+ (VkPresentRegionsKHR## a _) `compare` x@(VkPresentRegionsKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPresentRegionsKHR where+ sizeOf ~_ = #{size VkPresentRegionsKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPresentRegionsKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPresentRegionsKHR where+ unsafeAddr (VkPresentRegionsKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPresentRegionsKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPresentRegionsKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPresentRegionsKHR where+ type StructFields VkPresentRegionsKHR =+ '["sType", "pNext", "swapchainCount", "pRegions"] -- ' closing tick for hsc2hs+ type CUnionType VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPresentRegionsKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkPresentRegionsKHR+ where+ type FieldType "sType" VkPresentRegionsKHR = VkStructureType+ type FieldOptional "sType" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPresentRegionsKHR =+ #{offset VkPresentRegionsKHR, sType}+ type FieldIsArray "sType" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentRegionsKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPresentRegionsKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentRegionsKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPresentRegionsKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentRegionsKHR, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkPresentRegionsKHR+ where+ type FieldType "pNext" VkPresentRegionsKHR = Ptr Void+ type FieldOptional "pNext" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPresentRegionsKHR =+ #{offset VkPresentRegionsKHR, pNext}+ type FieldIsArray "pNext" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentRegionsKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPresentRegionsKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentRegionsKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPresentRegionsKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentRegionsKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "swapchainCount" VkPresentRegionsKHR where+ type FieldType "swapchainCount" VkPresentRegionsKHR = Word32+ type FieldOptional "swapchainCount" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "swapchainCount" VkPresentRegionsKHR =+ #{offset VkPresentRegionsKHR, swapchainCount}+ type FieldIsArray "swapchainCount" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentRegionsKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ CanReadField "swapchainCount" VkPresentRegionsKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, swapchainCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentRegionsKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchainCount" VkPresentRegionsKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentRegionsKHR, swapchainCount}++instance {-# OVERLAPPING #-}+ HasField "pRegions" VkPresentRegionsKHR where+ type FieldType "pRegions" VkPresentRegionsKHR =+ Ptr VkPresentRegionKHR+ type FieldOptional "pRegions" VkPresentRegionsKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pRegions" VkPresentRegionsKHR =+ #{offset VkPresentRegionsKHR, pRegions}+ type FieldIsArray "pRegions" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentRegionsKHR, pRegions}++instance {-# OVERLAPPING #-}+ CanReadField "pRegions" VkPresentRegionsKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentRegionsKHR, pRegions})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentRegionsKHR, pRegions}++instance {-# OVERLAPPING #-}+ CanWriteField "pRegions" VkPresentRegionsKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentRegionsKHR, pRegions}++instance Show VkPresentRegionsKHR where+ showsPrec d x+ = showString "VkPresentRegionsKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "swapchainCount = " .+ showsPrec d (getField @"swapchainCount" x) .+ showString ", " .+ showString "pRegions = " .+ showsPrec d (getField @"pRegions" x) . showChar '}'++-- | > typedef struct VkPresentTimeGOOGLE {+-- > uint32_t presentID;+-- > uint64_t desiredPresentTime;+-- > } VkPresentTimeGOOGLE;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimeGOOGLE VkPresentTimeGOOGLE registry at www.khronos.org>+data VkPresentTimeGOOGLE = VkPresentTimeGOOGLE## Addr## ByteArray##++instance Eq VkPresentTimeGOOGLE where+ (VkPresentTimeGOOGLE## a _) == x@(VkPresentTimeGOOGLE## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPresentTimeGOOGLE where+ (VkPresentTimeGOOGLE## a _) `compare` x@(VkPresentTimeGOOGLE## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPresentTimeGOOGLE where+ sizeOf ~_ = #{size VkPresentTimeGOOGLE}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPresentTimeGOOGLE}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPresentTimeGOOGLE where+ unsafeAddr (VkPresentTimeGOOGLE## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPresentTimeGOOGLE## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPresentTimeGOOGLE## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPresentTimeGOOGLE where+ type StructFields VkPresentTimeGOOGLE =+ '["presentID", "desiredPresentTime"] -- ' closing tick for hsc2hs+ type CUnionType VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPresentTimeGOOGLE = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "presentID" VkPresentTimeGOOGLE where+ type FieldType "presentID" VkPresentTimeGOOGLE = Word32+ type FieldOptional "presentID" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs+ type FieldOffset "presentID" VkPresentTimeGOOGLE =+ #{offset VkPresentTimeGOOGLE, presentID}+ type FieldIsArray "presentID" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentTimeGOOGLE, presentID}++instance {-# OVERLAPPING #-}+ CanReadField "presentID" VkPresentTimeGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentTimeGOOGLE, presentID})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentTimeGOOGLE, presentID}++instance {-# OVERLAPPING #-}+ CanWriteField "presentID" VkPresentTimeGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentTimeGOOGLE, presentID}++instance {-# OVERLAPPING #-}+ HasField "desiredPresentTime" VkPresentTimeGOOGLE where+ type FieldType "desiredPresentTime" VkPresentTimeGOOGLE = Word64+ type FieldOptional "desiredPresentTime" VkPresentTimeGOOGLE =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "desiredPresentTime" VkPresentTimeGOOGLE =+ #{offset VkPresentTimeGOOGLE, desiredPresentTime}+ type FieldIsArray "desiredPresentTime" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentTimeGOOGLE, desiredPresentTime}++instance {-# OVERLAPPING #-}+ CanReadField "desiredPresentTime" VkPresentTimeGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentTimeGOOGLE, desiredPresentTime})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentTimeGOOGLE, desiredPresentTime}++instance {-# OVERLAPPING #-}+ CanWriteField "desiredPresentTime" VkPresentTimeGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentTimeGOOGLE, desiredPresentTime}++instance Show VkPresentTimeGOOGLE where+ showsPrec d x+ = showString "VkPresentTimeGOOGLE {" .+ showString "presentID = " .+ showsPrec d (getField @"presentID" x) .+ showString ", " .+ showString "desiredPresentTime = " .+ showsPrec d (getField @"desiredPresentTime" x) . showChar '}'++-- | > typedef struct VkPresentTimesInfoGOOGLE {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t swapchainCount;+-- > const VkPresentTimeGOOGLE* pTimes;+-- > } VkPresentTimesInfoGOOGLE;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE registry at www.khronos.org>+data VkPresentTimesInfoGOOGLE = VkPresentTimesInfoGOOGLE## Addr##+ ByteArray##++instance Eq VkPresentTimesInfoGOOGLE where+ (VkPresentTimesInfoGOOGLE## a _) ==+ x@(VkPresentTimesInfoGOOGLE## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPresentTimesInfoGOOGLE where+ (VkPresentTimesInfoGOOGLE## a _) `compare`+ x@(VkPresentTimesInfoGOOGLE## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPresentTimesInfoGOOGLE where+ sizeOf ~_ = #{size VkPresentTimesInfoGOOGLE}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPresentTimesInfoGOOGLE}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPresentTimesInfoGOOGLE where+ unsafeAddr (VkPresentTimesInfoGOOGLE## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPresentTimesInfoGOOGLE## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPresentTimesInfoGOOGLE## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPresentTimesInfoGOOGLE where+ type StructFields VkPresentTimesInfoGOOGLE =+ '["sType", "pNext", "swapchainCount", "pTimes"] -- ' closing tick for hsc2hs+ type CUnionType VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPresentTimesInfoGOOGLE = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkPresentTimesInfoGOOGLE where+ type FieldType "sType" VkPresentTimesInfoGOOGLE = VkStructureType+ type FieldOptional "sType" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkPresentTimesInfoGOOGLE =+ #{offset VkPresentTimesInfoGOOGLE, sType}+ type FieldIsArray "sType" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentTimesInfoGOOGLE, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkPresentTimesInfoGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkPresentTimesInfoGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkPresentTimesInfoGOOGLE where+ type FieldType "pNext" VkPresentTimesInfoGOOGLE = Ptr Void+ type FieldOptional "pNext" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkPresentTimesInfoGOOGLE =+ #{offset VkPresentTimesInfoGOOGLE, pNext}+ type FieldIsArray "pNext" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPresentTimesInfoGOOGLE, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkPresentTimesInfoGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkPresentTimesInfoGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, pNext}++instance {-# OVERLAPPING #-}+ HasField "swapchainCount" VkPresentTimesInfoGOOGLE where+ type FieldType "swapchainCount" VkPresentTimesInfoGOOGLE = Word32+ type FieldOptional "swapchainCount" VkPresentTimesInfoGOOGLE =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "swapchainCount" VkPresentTimesInfoGOOGLE =+ #{offset VkPresentTimesInfoGOOGLE, swapchainCount}+ type FieldIsArray "swapchainCount" VkPresentTimesInfoGOOGLE =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentTimesInfoGOOGLE, swapchainCount}++instance {-# OVERLAPPING #-}+ CanReadField "swapchainCount" VkPresentTimesInfoGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, swapchainCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, swapchainCount}++instance {-# OVERLAPPING #-}+ CanWriteField "swapchainCount" VkPresentTimesInfoGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, swapchainCount}++instance {-# OVERLAPPING #-}+ HasField "pTimes" VkPresentTimesInfoGOOGLE where+ type FieldType "pTimes" VkPresentTimesInfoGOOGLE =+ Ptr VkPresentTimeGOOGLE+ type FieldOptional "pTimes" VkPresentTimesInfoGOOGLE = 'True -- ' closing tick for hsc2hs+ type FieldOffset "pTimes" VkPresentTimesInfoGOOGLE =+ #{offset VkPresentTimesInfoGOOGLE, pTimes}+ type FieldIsArray "pTimes" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkPresentTimesInfoGOOGLE, pTimes}++instance {-# OVERLAPPING #-}+ CanReadField "pTimes" VkPresentTimesInfoGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPresentTimesInfoGOOGLE, pTimes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPresentTimesInfoGOOGLE, pTimes}++instance {-# OVERLAPPING #-}+ CanWriteField "pTimes" VkPresentTimesInfoGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPresentTimesInfoGOOGLE, pTimes}++instance Show VkPresentTimesInfoGOOGLE where+ showsPrec d x+ = showString "VkPresentTimesInfoGOOGLE {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "swapchainCount = " .+ showsPrec d (getField @"swapchainCount" x) .+ showString ", " .+ showString "pTimes = " .+ showsPrec d (getField @"pTimes" x) . showChar '}'
@@ -0,0 +1,182 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo+ (VkProtectedSubmitInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.SubmitInfo (VkSubmitInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkProtectedSubmitInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkBool32 protectedSubmit;+-- > } VkProtectedSubmitInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkProtectedSubmitInfo VkProtectedSubmitInfo registry at www.khronos.org>+data VkProtectedSubmitInfo = VkProtectedSubmitInfo## Addr##+ ByteArray##++instance Eq VkProtectedSubmitInfo where+ (VkProtectedSubmitInfo## a _) == x@(VkProtectedSubmitInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkProtectedSubmitInfo where+ (VkProtectedSubmitInfo## a _) `compare`+ x@(VkProtectedSubmitInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkProtectedSubmitInfo where+ sizeOf ~_ = #{size VkProtectedSubmitInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkProtectedSubmitInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkProtectedSubmitInfo where+ unsafeAddr (VkProtectedSubmitInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkProtectedSubmitInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkProtectedSubmitInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkProtectedSubmitInfo where+ type StructFields VkProtectedSubmitInfo =+ '["sType", "pNext", "protectedSubmit"] -- ' closing tick for hsc2hs+ type CUnionType VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkProtectedSubmitInfo = '[VkSubmitInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkProtectedSubmitInfo+ where+ type FieldType "sType" VkProtectedSubmitInfo = VkStructureType+ type FieldOptional "sType" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkProtectedSubmitInfo =+ #{offset VkProtectedSubmitInfo, sType}+ type FieldIsArray "sType" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkProtectedSubmitInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkProtectedSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkProtectedSubmitInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkProtectedSubmitInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkProtectedSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkProtectedSubmitInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkProtectedSubmitInfo+ where+ type FieldType "pNext" VkProtectedSubmitInfo = Ptr Void+ type FieldOptional "pNext" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkProtectedSubmitInfo =+ #{offset VkProtectedSubmitInfo, pNext}+ type FieldIsArray "pNext" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkProtectedSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkProtectedSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkProtectedSubmitInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkProtectedSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkProtectedSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkProtectedSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "protectedSubmit" VkProtectedSubmitInfo where+ type FieldType "protectedSubmit" VkProtectedSubmitInfo = VkBool32+ type FieldOptional "protectedSubmit" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "protectedSubmit" VkProtectedSubmitInfo =+ #{offset VkProtectedSubmitInfo, protectedSubmit}+ type FieldIsArray "protectedSubmit" VkProtectedSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkProtectedSubmitInfo, protectedSubmit}++instance {-# OVERLAPPING #-}+ CanReadField "protectedSubmit" VkProtectedSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkProtectedSubmitInfo, protectedSubmit})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkProtectedSubmitInfo, protectedSubmit}++instance {-# OVERLAPPING #-}+ CanWriteField "protectedSubmit" VkProtectedSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkProtectedSubmitInfo, protectedSubmit}++instance Show VkProtectedSubmitInfo where+ showsPrec d x+ = showString "VkProtectedSubmitInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "protectedSubmit = " .+ showsPrec d (getField @"protectedSubmit" x) . showChar '}'
@@ -0,0 +1,179 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.PushConstantRange+ (VkPushConstantRange(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkPushConstantRange {+-- > VkShaderStageFlags stageFlags;+-- > uint32_t offset;+-- > uint32_t size;+-- > } VkPushConstantRange;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPushConstantRange VkPushConstantRange registry at www.khronos.org>+data VkPushConstantRange = VkPushConstantRange## Addr## ByteArray##++instance Eq VkPushConstantRange where+ (VkPushConstantRange## a _) == x@(VkPushConstantRange## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkPushConstantRange where+ (VkPushConstantRange## a _) `compare` x@(VkPushConstantRange## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkPushConstantRange where+ sizeOf ~_ = #{size VkPushConstantRange}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkPushConstantRange}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkPushConstantRange where+ unsafeAddr (VkPushConstantRange## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkPushConstantRange## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkPushConstantRange## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkPushConstantRange where+ type StructFields VkPushConstantRange =+ '["stageFlags", "offset", "size"] -- ' closing tick for hsc2hs+ type CUnionType VkPushConstantRange = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkPushConstantRange = 'False -- ' closing tick for hsc2hs+ type StructExtends VkPushConstantRange = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "stageFlags" VkPushConstantRange where+ type FieldType "stageFlags" VkPushConstantRange =+ VkShaderStageFlags+ type FieldOptional "stageFlags" VkPushConstantRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "stageFlags" VkPushConstantRange =+ #{offset VkPushConstantRange, stageFlags}+ type FieldIsArray "stageFlags" VkPushConstantRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPushConstantRange, stageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "stageFlags" VkPushConstantRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPushConstantRange, stageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPushConstantRange, stageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "stageFlags" VkPushConstantRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPushConstantRange, stageFlags}++instance {-# OVERLAPPING #-} HasField "offset" VkPushConstantRange+ where+ type FieldType "offset" VkPushConstantRange = Word32+ type FieldOptional "offset" VkPushConstantRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkPushConstantRange =+ #{offset VkPushConstantRange, offset}+ type FieldIsArray "offset" VkPushConstantRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPushConstantRange, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkPushConstantRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPushConstantRange, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPushConstantRange, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkPushConstantRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPushConstantRange, offset}++instance {-# OVERLAPPING #-} HasField "size" VkPushConstantRange+ where+ type FieldType "size" VkPushConstantRange = Word32+ type FieldOptional "size" VkPushConstantRange = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkPushConstantRange =+ #{offset VkPushConstantRange, size}+ type FieldIsArray "size" VkPushConstantRange = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkPushConstantRange, size}++instance {-# OVERLAPPING #-}+ CanReadField "size" VkPushConstantRange where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkPushConstantRange, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkPushConstantRange, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkPushConstantRange where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkPushConstantRange, size}++instance Show VkPushConstantRange where+ showsPrec d x+ = showString "VkPushConstantRange {" .+ showString "stageFlags = " .+ showsPrec d (getField @"stageFlags" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) . showChar '}'
@@ -0,0 +1,296 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo+ (VkQueryPoolCreateInfo(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkQueryPoolCreateFlags)+import Graphics.Vulkan.Types.Enum.Query (VkQueryPipelineStatisticFlags,+ VkQueryType)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkQueryPoolCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkQueryPoolCreateFlags flags;+-- > VkQueryType queryType;+-- > uint32_t queryCount;+-- > VkQueryPipelineStatisticFlags pipelineStatistics;+-- > } VkQueryPoolCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueryPoolCreateInfo VkQueryPoolCreateInfo registry at www.khronos.org>+data VkQueryPoolCreateInfo = VkQueryPoolCreateInfo## Addr##+ ByteArray##++instance Eq VkQueryPoolCreateInfo where+ (VkQueryPoolCreateInfo## a _) == x@(VkQueryPoolCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkQueryPoolCreateInfo where+ (VkQueryPoolCreateInfo## a _) `compare`+ x@(VkQueryPoolCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkQueryPoolCreateInfo where+ sizeOf ~_ = #{size VkQueryPoolCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkQueryPoolCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkQueryPoolCreateInfo where+ unsafeAddr (VkQueryPoolCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkQueryPoolCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkQueryPoolCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkQueryPoolCreateInfo where+ type StructFields VkQueryPoolCreateInfo =+ '["sType", "pNext", "flags", "queryType", "queryCount", -- ' closing tick for hsc2hs+ "pipelineStatistics"]+ type CUnionType VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkQueryPoolCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkQueryPoolCreateInfo+ where+ type FieldType "sType" VkQueryPoolCreateInfo = VkStructureType+ type FieldOptional "sType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkQueryPoolCreateInfo =+ #{offset VkQueryPoolCreateInfo, sType}+ type FieldIsArray "sType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkQueryPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkQueryPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueryPoolCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkQueryPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueryPoolCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkQueryPoolCreateInfo+ where+ type FieldType "pNext" VkQueryPoolCreateInfo = Ptr Void+ type FieldOptional "pNext" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkQueryPoolCreateInfo =+ #{offset VkQueryPoolCreateInfo, pNext}+ type FieldIsArray "pNext" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkQueryPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkQueryPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueryPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkQueryPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueryPoolCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkQueryPoolCreateInfo+ where+ type FieldType "flags" VkQueryPoolCreateInfo =+ VkQueryPoolCreateFlags+ type FieldOptional "flags" VkQueryPoolCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkQueryPoolCreateInfo =+ #{offset VkQueryPoolCreateInfo, flags}+ type FieldIsArray "flags" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkQueryPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkQueryPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueryPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkQueryPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueryPoolCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "queryType" VkQueryPoolCreateInfo where+ type FieldType "queryType" VkQueryPoolCreateInfo = VkQueryType+ type FieldOptional "queryType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queryType" VkQueryPoolCreateInfo =+ #{offset VkQueryPoolCreateInfo, queryType}+ type FieldIsArray "queryType" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueryPoolCreateInfo, queryType}++instance {-# OVERLAPPING #-}+ CanReadField "queryType" VkQueryPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, queryType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueryPoolCreateInfo, queryType}++instance {-# OVERLAPPING #-}+ CanWriteField "queryType" VkQueryPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueryPoolCreateInfo, queryType}++instance {-# OVERLAPPING #-}+ HasField "queryCount" VkQueryPoolCreateInfo where+ type FieldType "queryCount" VkQueryPoolCreateInfo = Word32+ type FieldOptional "queryCount" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queryCount" VkQueryPoolCreateInfo =+ #{offset VkQueryPoolCreateInfo, queryCount}+ type FieldIsArray "queryCount" VkQueryPoolCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueryPoolCreateInfo, queryCount}++instance {-# OVERLAPPING #-}+ CanReadField "queryCount" VkQueryPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, queryCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueryPoolCreateInfo, queryCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queryCount" VkQueryPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueryPoolCreateInfo, queryCount}++instance {-# OVERLAPPING #-}+ HasField "pipelineStatistics" VkQueryPoolCreateInfo where+ type FieldType "pipelineStatistics" VkQueryPoolCreateInfo =+ VkQueryPipelineStatisticFlags+ type FieldOptional "pipelineStatistics" VkQueryPoolCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pipelineStatistics" VkQueryPoolCreateInfo =+ #{offset VkQueryPoolCreateInfo, pipelineStatistics}+ type FieldIsArray "pipelineStatistics" VkQueryPoolCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueryPoolCreateInfo, pipelineStatistics}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineStatistics" VkQueryPoolCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueryPoolCreateInfo, pipelineStatistics})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueryPoolCreateInfo, pipelineStatistics}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineStatistics" VkQueryPoolCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueryPoolCreateInfo, pipelineStatistics}++instance Show VkQueryPoolCreateInfo where+ showsPrec d x+ = showString "VkQueryPoolCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "queryType = " .+ showsPrec d (getField @"queryType" x) .+ showString ", " .+ showString "queryCount = " .+ showsPrec d (getField @"queryCount" x) .+ showString ", " .+ showString "pipelineStatistics = " .+ showsPrec d (getField @"pipelineStatistics" x) .+ showChar '}'
@@ -0,0 +1,407 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.QueueFamilyProperties+ (VkQueueFamilyProperties(..), VkQueueFamilyProperties2(..),+ VkQueueFamilyProperties2KHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Queue (VkQueueFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent3D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkQueueFamilyProperties {+-- > VkQueueFlags queueFlags;+-- > uint32_t queueCount;+-- > uint32_t timestampValidBits;+-- > VkExtent3D minImageTransferGranularity;+-- > } VkQueueFamilyProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueueFamilyProperties VkQueueFamilyProperties registry at www.khronos.org>+data VkQueueFamilyProperties = VkQueueFamilyProperties## Addr##+ ByteArray##++instance Eq VkQueueFamilyProperties where+ (VkQueueFamilyProperties## a _) == x@(VkQueueFamilyProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkQueueFamilyProperties where+ (VkQueueFamilyProperties## a _) `compare`+ x@(VkQueueFamilyProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkQueueFamilyProperties where+ sizeOf ~_ = #{size VkQueueFamilyProperties}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkQueueFamilyProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkQueueFamilyProperties where+ unsafeAddr (VkQueueFamilyProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkQueueFamilyProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkQueueFamilyProperties## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkQueueFamilyProperties where+ type StructFields VkQueueFamilyProperties =+ '["queueFlags", "queueCount", "timestampValidBits", -- ' closing tick for hsc2hs+ "minImageTransferGranularity"]+ type CUnionType VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkQueueFamilyProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkQueueFamilyProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "queueFlags" VkQueueFamilyProperties where+ type FieldType "queueFlags" VkQueueFamilyProperties = VkQueueFlags+ type FieldOptional "queueFlags" VkQueueFamilyProperties = 'True -- ' closing tick for hsc2hs+ type FieldOffset "queueFlags" VkQueueFamilyProperties =+ #{offset VkQueueFamilyProperties, queueFlags}+ type FieldIsArray "queueFlags" VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueueFamilyProperties, queueFlags}++instance {-# OVERLAPPING #-}+ CanReadField "queueFlags" VkQueueFamilyProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, queueFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties, queueFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFlags" VkQueueFamilyProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties, queueFlags}++instance {-# OVERLAPPING #-}+ HasField "queueCount" VkQueueFamilyProperties where+ type FieldType "queueCount" VkQueueFamilyProperties = Word32+ type FieldOptional "queueCount" VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueCount" VkQueueFamilyProperties =+ #{offset VkQueueFamilyProperties, queueCount}+ type FieldIsArray "queueCount" VkQueueFamilyProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueueFamilyProperties, queueCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueCount" VkQueueFamilyProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, queueCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties, queueCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueCount" VkQueueFamilyProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties, queueCount}++instance {-# OVERLAPPING #-}+ HasField "timestampValidBits" VkQueueFamilyProperties where+ type FieldType "timestampValidBits" VkQueueFamilyProperties =+ Word32+ type FieldOptional "timestampValidBits" VkQueueFamilyProperties =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "timestampValidBits" VkQueueFamilyProperties =+ #{offset VkQueueFamilyProperties, timestampValidBits}+ type FieldIsArray "timestampValidBits" VkQueueFamilyProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueueFamilyProperties, timestampValidBits}++instance {-# OVERLAPPING #-}+ CanReadField "timestampValidBits" VkQueueFamilyProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, timestampValidBits})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties, timestampValidBits}++instance {-# OVERLAPPING #-}+ CanWriteField "timestampValidBits" VkQueueFamilyProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties, timestampValidBits}++instance {-# OVERLAPPING #-}+ HasField "minImageTransferGranularity" VkQueueFamilyProperties+ where+ type FieldType "minImageTransferGranularity"+ VkQueueFamilyProperties+ = VkExtent3D+ type FieldOptional "minImageTransferGranularity"+ VkQueueFamilyProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImageTransferGranularity"+ VkQueueFamilyProperties+ =+ #{offset VkQueueFamilyProperties, minImageTransferGranularity}+ type FieldIsArray "minImageTransferGranularity"+ VkQueueFamilyProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueueFamilyProperties, minImageTransferGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "minImageTransferGranularity" VkQueueFamilyProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties, minImageTransferGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties, minImageTransferGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "minImageTransferGranularity" VkQueueFamilyProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties, minImageTransferGranularity}++instance Show VkQueueFamilyProperties where+ showsPrec d x+ = showString "VkQueueFamilyProperties {" .+ showString "queueFlags = " .+ showsPrec d (getField @"queueFlags" x) .+ showString ", " .+ showString "queueCount = " .+ showsPrec d (getField @"queueCount" x) .+ showString ", " .+ showString "timestampValidBits = " .+ showsPrec d (getField @"timestampValidBits" x) .+ showString ", " .+ showString "minImageTransferGranularity = " .+ showsPrec d (getField @"minImageTransferGranularity" x) .+ showChar '}'++-- | > typedef struct VkQueueFamilyProperties2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkQueueFamilyProperties queueFamilyProperties;+-- > } VkQueueFamilyProperties2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueueFamilyProperties2 VkQueueFamilyProperties2 registry at www.khronos.org>+data VkQueueFamilyProperties2 = VkQueueFamilyProperties2## Addr##+ ByteArray##++instance Eq VkQueueFamilyProperties2 where+ (VkQueueFamilyProperties2## a _) ==+ x@(VkQueueFamilyProperties2## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkQueueFamilyProperties2 where+ (VkQueueFamilyProperties2## a _) `compare`+ x@(VkQueueFamilyProperties2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkQueueFamilyProperties2 where+ sizeOf ~_ = #{size VkQueueFamilyProperties2}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkQueueFamilyProperties2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkQueueFamilyProperties2 where+ unsafeAddr (VkQueueFamilyProperties2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkQueueFamilyProperties2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkQueueFamilyProperties2## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkQueueFamilyProperties2 where+ type StructFields VkQueueFamilyProperties2 =+ '["sType", "pNext", "queueFamilyProperties"] -- ' closing tick for hsc2hs+ type CUnionType VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkQueueFamilyProperties2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkQueueFamilyProperties2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkQueueFamilyProperties2 where+ type FieldType "sType" VkQueueFamilyProperties2 = VkStructureType+ type FieldOptional "sType" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkQueueFamilyProperties2 =+ #{offset VkQueueFamilyProperties2, sType}+ type FieldIsArray "sType" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkQueueFamilyProperties2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkQueueFamilyProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkQueueFamilyProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkQueueFamilyProperties2 where+ type FieldType "pNext" VkQueueFamilyProperties2 = Ptr Void+ type FieldOptional "pNext" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkQueueFamilyProperties2 =+ #{offset VkQueueFamilyProperties2, pNext}+ type FieldIsArray "pNext" VkQueueFamilyProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkQueueFamilyProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkQueueFamilyProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkQueueFamilyProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties2, pNext}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyProperties" VkQueueFamilyProperties2 where+ type FieldType "queueFamilyProperties" VkQueueFamilyProperties2 =+ VkQueueFamilyProperties+ type FieldOptional "queueFamilyProperties" VkQueueFamilyProperties2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyProperties" VkQueueFamilyProperties2 =+ #{offset VkQueueFamilyProperties2, queueFamilyProperties}+ type FieldIsArray "queueFamilyProperties" VkQueueFamilyProperties2+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkQueueFamilyProperties2, queueFamilyProperties}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyProperties" VkQueueFamilyProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkQueueFamilyProperties2, queueFamilyProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkQueueFamilyProperties2, queueFamilyProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyProperties" VkQueueFamilyProperties2+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkQueueFamilyProperties2, queueFamilyProperties}++instance Show VkQueueFamilyProperties2 where+ showsPrec d x+ = showString "VkQueueFamilyProperties2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "queueFamilyProperties = " .+ showsPrec d (getField @"queueFamilyProperties" x) . showChar '}'++-- | Alias for `VkQueueFamilyProperties2`+type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2
@@ -0,0 +1,288 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Rect+ (VkRect2D(..), VkRectLayerKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Offset (VkOffset2D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkRect2D {+-- > VkOffset2D offset;+-- > VkExtent2D extent;+-- > } VkRect2D;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRect2D VkRect2D registry at www.khronos.org>+data VkRect2D = VkRect2D## Addr## ByteArray##++instance Eq VkRect2D where+ (VkRect2D## a _) == x@(VkRect2D## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRect2D where+ (VkRect2D## a _) `compare` x@(VkRect2D## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRect2D where+ sizeOf ~_ = #{size VkRect2D}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkRect2D}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRect2D where+ unsafeAddr (VkRect2D## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRect2D## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRect2D## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRect2D where+ type StructFields VkRect2D = '["offset", "extent"] -- ' closing tick for hsc2hs+ type CUnionType VkRect2D = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRect2D = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRect2D = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "offset" VkRect2D where+ type FieldType "offset" VkRect2D = VkOffset2D+ type FieldOptional "offset" VkRect2D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkRect2D =+ #{offset VkRect2D, offset}+ type FieldIsArray "offset" VkRect2D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRect2D, offset}++instance {-# OVERLAPPING #-} CanReadField "offset" VkRect2D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRect2D, offset})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkRect2D, offset}++instance {-# OVERLAPPING #-} CanWriteField "offset" VkRect2D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkRect2D, offset}++instance {-# OVERLAPPING #-} HasField "extent" VkRect2D where+ type FieldType "extent" VkRect2D = VkExtent2D+ type FieldOptional "extent" VkRect2D = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extent" VkRect2D =+ #{offset VkRect2D, extent}+ type FieldIsArray "extent" VkRect2D = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRect2D, extent}++instance {-# OVERLAPPING #-} CanReadField "extent" VkRect2D where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRect2D, extent})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkRect2D, extent}++instance {-# OVERLAPPING #-} CanWriteField "extent" VkRect2D where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkRect2D, extent}++instance Show VkRect2D where+ showsPrec d x+ = showString "VkRect2D {" .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "extent = " .+ showsPrec d (getField @"extent" x) . showChar '}'++-- | > typedef struct VkRectLayerKHR {+-- > VkOffset2D offset;+-- > VkExtent2D extent;+-- > uint32_t layer;+-- > } VkRectLayerKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRectLayerKHR VkRectLayerKHR registry at www.khronos.org>+data VkRectLayerKHR = VkRectLayerKHR## Addr## ByteArray##++instance Eq VkRectLayerKHR where+ (VkRectLayerKHR## a _) == x@(VkRectLayerKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRectLayerKHR where+ (VkRectLayerKHR## a _) `compare` x@(VkRectLayerKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRectLayerKHR where+ sizeOf ~_ = #{size VkRectLayerKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkRectLayerKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRectLayerKHR where+ unsafeAddr (VkRectLayerKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRectLayerKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRectLayerKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRectLayerKHR where+ type StructFields VkRectLayerKHR = '["offset", "extent", "layer"] -- ' closing tick for hsc2hs+ type CUnionType VkRectLayerKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRectLayerKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRectLayerKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "offset" VkRectLayerKHR where+ type FieldType "offset" VkRectLayerKHR = VkOffset2D+ type FieldOptional "offset" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkRectLayerKHR =+ #{offset VkRectLayerKHR, offset}+ type FieldIsArray "offset" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRectLayerKHR, offset}++instance {-# OVERLAPPING #-} CanReadField "offset" VkRectLayerKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRectLayerKHR, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRectLayerKHR, offset}++instance {-# OVERLAPPING #-} CanWriteField "offset" VkRectLayerKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRectLayerKHR, offset}++instance {-# OVERLAPPING #-} HasField "extent" VkRectLayerKHR where+ type FieldType "extent" VkRectLayerKHR = VkExtent2D+ type FieldOptional "extent" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extent" VkRectLayerKHR =+ #{offset VkRectLayerKHR, extent}+ type FieldIsArray "extent" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRectLayerKHR, extent}++instance {-# OVERLAPPING #-} CanReadField "extent" VkRectLayerKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRectLayerKHR, extent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRectLayerKHR, extent}++instance {-# OVERLAPPING #-} CanWriteField "extent" VkRectLayerKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRectLayerKHR, extent}++instance {-# OVERLAPPING #-} HasField "layer" VkRectLayerKHR where+ type FieldType "layer" VkRectLayerKHR = Word32+ type FieldOptional "layer" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "layer" VkRectLayerKHR =+ #{offset VkRectLayerKHR, layer}+ type FieldIsArray "layer" VkRectLayerKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRectLayerKHR, layer}++instance {-# OVERLAPPING #-} CanReadField "layer" VkRectLayerKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRectLayerKHR, layer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRectLayerKHR, layer}++instance {-# OVERLAPPING #-} CanWriteField "layer" VkRectLayerKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRectLayerKHR, layer}++instance Show VkRectLayerKHR where+ showsPrec d x+ = showString "VkRectLayerKHR {" .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "extent = " .+ showsPrec d (getField @"extent" x) .+ showString ", " .+ showString "layer = " .+ showsPrec d (getField @"layer" x) . showChar '}'
@@ -0,0 +1,116 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE+ (VkRefreshCycleDurationGOOGLE(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkRefreshCycleDurationGOOGLE {+-- > uint64_t refreshDuration;+-- > } VkRefreshCycleDurationGOOGLE;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRefreshCycleDurationGOOGLE VkRefreshCycleDurationGOOGLE registry at www.khronos.org>+data VkRefreshCycleDurationGOOGLE = VkRefreshCycleDurationGOOGLE## Addr##+ ByteArray##++instance Eq VkRefreshCycleDurationGOOGLE where+ (VkRefreshCycleDurationGOOGLE## a _) ==+ x@(VkRefreshCycleDurationGOOGLE## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRefreshCycleDurationGOOGLE where+ (VkRefreshCycleDurationGOOGLE## a _) `compare`+ x@(VkRefreshCycleDurationGOOGLE## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRefreshCycleDurationGOOGLE where+ sizeOf ~_ = #{size VkRefreshCycleDurationGOOGLE}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkRefreshCycleDurationGOOGLE}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRefreshCycleDurationGOOGLE where+ unsafeAddr (VkRefreshCycleDurationGOOGLE## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRefreshCycleDurationGOOGLE## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRefreshCycleDurationGOOGLE##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRefreshCycleDurationGOOGLE where+ type StructFields VkRefreshCycleDurationGOOGLE =+ '["refreshDuration"] -- ' closing tick for hsc2hs+ type CUnionType VkRefreshCycleDurationGOOGLE = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRefreshCycleDurationGOOGLE = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRefreshCycleDurationGOOGLE = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "refreshDuration" VkRefreshCycleDurationGOOGLE where+ type FieldType "refreshDuration" VkRefreshCycleDurationGOOGLE =+ Word64+ type FieldOptional "refreshDuration" VkRefreshCycleDurationGOOGLE =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "refreshDuration" VkRefreshCycleDurationGOOGLE =+ #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}+ type FieldIsArray "refreshDuration" VkRefreshCycleDurationGOOGLE =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}++instance {-# OVERLAPPING #-}+ CanReadField "refreshDuration" VkRefreshCycleDurationGOOGLE where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRefreshCycleDurationGOOGLE, refreshDuration})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}++instance {-# OVERLAPPING #-}+ CanWriteField "refreshDuration" VkRefreshCycleDurationGOOGLE where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRefreshCycleDurationGOOGLE, refreshDuration}++instance Show VkRefreshCycleDurationGOOGLE where+ showsPrec d x+ = showString "VkRefreshCycleDurationGOOGLE {" .+ showString "refreshDuration = " .+ showsPrec d (getField @"refreshDuration" x) . showChar '}'
@@ -0,0 +1,1734 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.RenderPass+ (VkRenderPassBeginInfo(..), VkRenderPassCreateInfo(..),+ VkRenderPassInputAttachmentAspectCreateInfo(..),+ VkRenderPassInputAttachmentAspectCreateInfoKHR,+ VkRenderPassMultiviewCreateInfo(..),+ VkRenderPassMultiviewCreateInfoKHR,+ VkRenderPassSampleLocationsBeginInfoEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkRenderPassCreateFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkFramebuffer,+ VkRenderPass)+import Graphics.Vulkan.Types.Struct.Attachment (VkAttachmentDescription,+ VkAttachmentSampleLocationsEXT)+import Graphics.Vulkan.Types.Struct.Clear (VkClearValue)+import Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference (VkInputAttachmentAspectReference)+import Graphics.Vulkan.Types.Struct.Rect (VkRect2D)+import Graphics.Vulkan.Types.Struct.Subpass (VkSubpassDependency,+ VkSubpassDescription,+ VkSubpassSampleLocationsEXT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkRenderPassBeginInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkRenderPass renderPass;+-- > VkFramebuffer framebuffer;+-- > VkRect2D renderArea;+-- > uint32_t clearValueCount;+-- > const VkClearValue* pClearValues;+-- > } VkRenderPassBeginInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassBeginInfo VkRenderPassBeginInfo registry at www.khronos.org>+data VkRenderPassBeginInfo = VkRenderPassBeginInfo## Addr##+ ByteArray##++instance Eq VkRenderPassBeginInfo where+ (VkRenderPassBeginInfo## a _) == x@(VkRenderPassBeginInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRenderPassBeginInfo where+ (VkRenderPassBeginInfo## a _) `compare`+ x@(VkRenderPassBeginInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRenderPassBeginInfo where+ sizeOf ~_ = #{size VkRenderPassBeginInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkRenderPassBeginInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRenderPassBeginInfo where+ unsafeAddr (VkRenderPassBeginInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRenderPassBeginInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRenderPassBeginInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRenderPassBeginInfo where+ type StructFields VkRenderPassBeginInfo =+ '["sType", "pNext", "renderPass", "framebuffer", "renderArea", -- ' closing tick for hsc2hs+ "clearValueCount", "pClearValues"]+ type CUnionType VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRenderPassBeginInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkRenderPassBeginInfo+ where+ type FieldType "sType" VkRenderPassBeginInfo = VkStructureType+ type FieldOptional "sType" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, sType}+ type FieldIsArray "sType" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkRenderPassBeginInfo+ where+ type FieldType "pNext" VkRenderPassBeginInfo = Ptr Void+ type FieldOptional "pNext" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, pNext}+ type FieldIsArray "pNext" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "renderPass" VkRenderPassBeginInfo where+ type FieldType "renderPass" VkRenderPassBeginInfo = VkRenderPass+ type FieldOptional "renderPass" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "renderPass" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, renderPass}+ type FieldIsArray "renderPass" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassBeginInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanReadField "renderPass" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, renderPass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, renderPass}++instance {-# OVERLAPPING #-}+ CanWriteField "renderPass" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, renderPass}++instance {-# OVERLAPPING #-}+ HasField "framebuffer" VkRenderPassBeginInfo where+ type FieldType "framebuffer" VkRenderPassBeginInfo = VkFramebuffer+ type FieldOptional "framebuffer" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "framebuffer" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, framebuffer}+ type FieldIsArray "framebuffer" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassBeginInfo, framebuffer}++instance {-# OVERLAPPING #-}+ CanReadField "framebuffer" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, framebuffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, framebuffer}++instance {-# OVERLAPPING #-}+ CanWriteField "framebuffer" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, framebuffer}++instance {-# OVERLAPPING #-}+ HasField "renderArea" VkRenderPassBeginInfo where+ type FieldType "renderArea" VkRenderPassBeginInfo = VkRect2D+ type FieldOptional "renderArea" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "renderArea" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, renderArea}+ type FieldIsArray "renderArea" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassBeginInfo, renderArea}++instance {-# OVERLAPPING #-}+ CanReadField "renderArea" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, renderArea})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, renderArea}++instance {-# OVERLAPPING #-}+ CanWriteField "renderArea" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, renderArea}++instance {-# OVERLAPPING #-}+ HasField "clearValueCount" VkRenderPassBeginInfo where+ type FieldType "clearValueCount" VkRenderPassBeginInfo = Word32+ type FieldOptional "clearValueCount" VkRenderPassBeginInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "clearValueCount" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, clearValueCount}+ type FieldIsArray "clearValueCount" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassBeginInfo, clearValueCount}++instance {-# OVERLAPPING #-}+ CanReadField "clearValueCount" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, clearValueCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, clearValueCount}++instance {-# OVERLAPPING #-}+ CanWriteField "clearValueCount" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, clearValueCount}++instance {-# OVERLAPPING #-}+ HasField "pClearValues" VkRenderPassBeginInfo where+ type FieldType "pClearValues" VkRenderPassBeginInfo =+ Ptr VkClearValue+ type FieldOptional "pClearValues" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pClearValues" VkRenderPassBeginInfo =+ #{offset VkRenderPassBeginInfo, pClearValues}+ type FieldIsArray "pClearValues" VkRenderPassBeginInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassBeginInfo, pClearValues}++instance {-# OVERLAPPING #-}+ CanReadField "pClearValues" VkRenderPassBeginInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassBeginInfo, pClearValues})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassBeginInfo, pClearValues}++instance {-# OVERLAPPING #-}+ CanWriteField "pClearValues" VkRenderPassBeginInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassBeginInfo, pClearValues}++instance Show VkRenderPassBeginInfo where+ showsPrec d x+ = showString "VkRenderPassBeginInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "renderPass = " .+ showsPrec d (getField @"renderPass" x) .+ showString ", " .+ showString "framebuffer = " .+ showsPrec d (getField @"framebuffer" x) .+ showString ", " .+ showString "renderArea = " .+ showsPrec d (getField @"renderArea" x) .+ showString ", " .+ showString "clearValueCount = " .+ showsPrec d (getField @"clearValueCount" x) .+ showString ", " .+ showString "pClearValues = " .+ showsPrec d (getField @"pClearValues" x) .+ showChar '}'++-- | > typedef struct VkRenderPassCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkRenderPassCreateFlags flags;+-- > uint32_t attachmentCount;+-- > const VkAttachmentDescription* pAttachments;+-- > uint32_t subpassCount;+-- > const VkSubpassDescription* pSubpasses;+-- > uint32_t dependencyCount;+-- > const VkSubpassDependency* pDependencies;+-- > } VkRenderPassCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassCreateInfo VkRenderPassCreateInfo registry at www.khronos.org>+data VkRenderPassCreateInfo = VkRenderPassCreateInfo## Addr##+ ByteArray##++instance Eq VkRenderPassCreateInfo where+ (VkRenderPassCreateInfo## a _) == x@(VkRenderPassCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRenderPassCreateInfo where+ (VkRenderPassCreateInfo## a _) `compare`+ x@(VkRenderPassCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRenderPassCreateInfo where+ sizeOf ~_ = #{size VkRenderPassCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkRenderPassCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRenderPassCreateInfo where+ unsafeAddr (VkRenderPassCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRenderPassCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRenderPassCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRenderPassCreateInfo where+ type StructFields VkRenderPassCreateInfo =+ '["sType", "pNext", "flags", "attachmentCount", "pAttachments", -- ' closing tick for hsc2hs+ "subpassCount", "pSubpasses", "dependencyCount", "pDependencies"]+ type CUnionType VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRenderPassCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkRenderPassCreateInfo where+ type FieldType "sType" VkRenderPassCreateInfo = VkStructureType+ type FieldOptional "sType" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, sType}+ type FieldIsArray "sType" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRenderPassCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkRenderPassCreateInfo where+ type FieldType "pNext" VkRenderPassCreateInfo = Ptr Void+ type FieldOptional "pNext" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, pNext}+ type FieldIsArray "pNext" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRenderPassCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkRenderPassCreateInfo where+ type FieldType "flags" VkRenderPassCreateInfo =+ VkRenderPassCreateFlags+ type FieldOptional "flags" VkRenderPassCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, flags}+ type FieldIsArray "flags" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkRenderPassCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "attachmentCount" VkRenderPassCreateInfo where+ type FieldType "attachmentCount" VkRenderPassCreateInfo = Word32+ type FieldOptional "attachmentCount" VkRenderPassCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "attachmentCount" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, attachmentCount}+ type FieldIsArray "attachmentCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ CanReadField "attachmentCount" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, attachmentCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ CanWriteField "attachmentCount" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, attachmentCount}++instance {-# OVERLAPPING #-}+ HasField "pAttachments" VkRenderPassCreateInfo where+ type FieldType "pAttachments" VkRenderPassCreateInfo =+ Ptr VkAttachmentDescription+ type FieldOptional "pAttachments" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAttachments" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, pAttachments}+ type FieldIsArray "pAttachments" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pAttachments" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttachments" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, pAttachments}++instance {-# OVERLAPPING #-}+ HasField "subpassCount" VkRenderPassCreateInfo where+ type FieldType "subpassCount" VkRenderPassCreateInfo = Word32+ type FieldOptional "subpassCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subpassCount" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, subpassCount}+ type FieldIsArray "subpassCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassCreateInfo, subpassCount}++instance {-# OVERLAPPING #-}+ CanReadField "subpassCount" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, subpassCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, subpassCount}++instance {-# OVERLAPPING #-}+ CanWriteField "subpassCount" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, subpassCount}++instance {-# OVERLAPPING #-}+ HasField "pSubpasses" VkRenderPassCreateInfo where+ type FieldType "pSubpasses" VkRenderPassCreateInfo =+ Ptr VkSubpassDescription+ type FieldOptional "pSubpasses" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSubpasses" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, pSubpasses}+ type FieldIsArray "pSubpasses" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassCreateInfo, pSubpasses}++instance {-# OVERLAPPING #-}+ CanReadField "pSubpasses" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pSubpasses})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, pSubpasses}++instance {-# OVERLAPPING #-}+ CanWriteField "pSubpasses" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, pSubpasses}++instance {-# OVERLAPPING #-}+ HasField "dependencyCount" VkRenderPassCreateInfo where+ type FieldType "dependencyCount" VkRenderPassCreateInfo = Word32+ type FieldOptional "dependencyCount" VkRenderPassCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dependencyCount" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, dependencyCount}+ type FieldIsArray "dependencyCount" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassCreateInfo, dependencyCount}++instance {-# OVERLAPPING #-}+ CanReadField "dependencyCount" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, dependencyCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, dependencyCount}++instance {-# OVERLAPPING #-}+ CanWriteField "dependencyCount" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, dependencyCount}++instance {-# OVERLAPPING #-}+ HasField "pDependencies" VkRenderPassCreateInfo where+ type FieldType "pDependencies" VkRenderPassCreateInfo =+ Ptr VkSubpassDependency+ type FieldOptional "pDependencies" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDependencies" VkRenderPassCreateInfo =+ #{offset VkRenderPassCreateInfo, pDependencies}+ type FieldIsArray "pDependencies" VkRenderPassCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassCreateInfo, pDependencies}++instance {-# OVERLAPPING #-}+ CanReadField "pDependencies" VkRenderPassCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassCreateInfo, pDependencies})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassCreateInfo, pDependencies}++instance {-# OVERLAPPING #-}+ CanWriteField "pDependencies" VkRenderPassCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassCreateInfo, pDependencies}++instance Show VkRenderPassCreateInfo where+ showsPrec d x+ = showString "VkRenderPassCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "attachmentCount = " .+ showsPrec d (getField @"attachmentCount" x) .+ showString ", " .+ showString "pAttachments = " .+ showsPrec d (getField @"pAttachments" x) .+ showString ", " .+ showString "subpassCount = " .+ showsPrec d (getField @"subpassCount" x) .+ showString ", " .+ showString "pSubpasses = " .+ showsPrec d (getField @"pSubpasses" x) .+ showString ", " .+ showString "dependencyCount = " .+ showsPrec d+ (getField @"dependencyCount" x)+ .+ showString ", " .+ showString "pDependencies = " .+ showsPrec d+ (getField @"pDependencies" x)+ . showChar '}'++-- | > typedef struct VkRenderPassInputAttachmentAspectCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t aspectReferenceCount;+-- > const VkInputAttachmentAspectReference* pAspectReferences;+-- > } VkRenderPassInputAttachmentAspectCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo registry at www.khronos.org>+data VkRenderPassInputAttachmentAspectCreateInfo = VkRenderPassInputAttachmentAspectCreateInfo## Addr##+ ByteArray##++instance Eq VkRenderPassInputAttachmentAspectCreateInfo where+ (VkRenderPassInputAttachmentAspectCreateInfo## a _) ==+ x@(VkRenderPassInputAttachmentAspectCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRenderPassInputAttachmentAspectCreateInfo where+ (VkRenderPassInputAttachmentAspectCreateInfo## a _) `compare`+ x@(VkRenderPassInputAttachmentAspectCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRenderPassInputAttachmentAspectCreateInfo where+ sizeOf ~_+ = #{size VkRenderPassInputAttachmentAspectCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkRenderPassInputAttachmentAspectCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ unsafeAddr (VkRenderPassInputAttachmentAspectCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRenderPassInputAttachmentAspectCreateInfo## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRenderPassInputAttachmentAspectCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRenderPassInputAttachmentAspectCreateInfo+ where+ type StructFields VkRenderPassInputAttachmentAspectCreateInfo =+ '["sType", "pNext", "aspectReferenceCount", "pAspectReferences"] -- ' closing tick for hsc2hs+ type CUnionType VkRenderPassInputAttachmentAspectCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRenderPassInputAttachmentAspectCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkRenderPassInputAttachmentAspectCreateInfo =+ '[VkRenderPassCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkRenderPassInputAttachmentAspectCreateInfo where+ type FieldType "sType" VkRenderPassInputAttachmentAspectCreateInfo+ = VkStructureType+ type FieldOptional "sType"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkRenderPassInputAttachmentAspectCreateInfo+ =+ #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}+ type FieldIsArray "sType"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkRenderPassInputAttachmentAspectCreateInfo where+ type FieldType "pNext" VkRenderPassInputAttachmentAspectCreateInfo+ = Ptr Void+ type FieldOptional "pNext"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkRenderPassInputAttachmentAspectCreateInfo+ =+ #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}+ type FieldIsArray "pNext"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ type FieldType "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ = Word32+ type FieldOptional "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ =+ #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}+ type FieldIsArray "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}++instance {-# OVERLAPPING #-}+ CanReadField "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectReferenceCount"+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, aspectReferenceCount}++instance {-# OVERLAPPING #-}+ HasField "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ type FieldType "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ = Ptr VkInputAttachmentAspectReference+ type FieldOptional "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ =+ #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}+ type FieldIsArray "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}++instance {-# OVERLAPPING #-}+ CanReadField "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}++instance {-# OVERLAPPING #-}+ CanWriteField "pAspectReferences"+ VkRenderPassInputAttachmentAspectCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassInputAttachmentAspectCreateInfo, pAspectReferences}++instance Show VkRenderPassInputAttachmentAspectCreateInfo where+ showsPrec d x+ = showString "VkRenderPassInputAttachmentAspectCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "aspectReferenceCount = " .+ showsPrec d (getField @"aspectReferenceCount" x) .+ showString ", " .+ showString "pAspectReferences = " .+ showsPrec d (getField @"pAspectReferences" x) . showChar '}'++-- | Alias for `VkRenderPassInputAttachmentAspectCreateInfo`+type VkRenderPassInputAttachmentAspectCreateInfoKHR =+ VkRenderPassInputAttachmentAspectCreateInfo++-- | > typedef struct VkRenderPassMultiviewCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t subpassCount;+-- > const uint32_t* pViewMasks;+-- > uint32_t dependencyCount;+-- > const int32_t* pViewOffsets;+-- > uint32_t correlationMaskCount;+-- > const uint32_t* pCorrelationMasks;+-- > } VkRenderPassMultiviewCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo registry at www.khronos.org>+data VkRenderPassMultiviewCreateInfo = VkRenderPassMultiviewCreateInfo## Addr##+ ByteArray##++instance Eq VkRenderPassMultiviewCreateInfo where+ (VkRenderPassMultiviewCreateInfo## a _) ==+ x@(VkRenderPassMultiviewCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRenderPassMultiviewCreateInfo where+ (VkRenderPassMultiviewCreateInfo## a _) `compare`+ x@(VkRenderPassMultiviewCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRenderPassMultiviewCreateInfo where+ sizeOf ~_ = #{size VkRenderPassMultiviewCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkRenderPassMultiviewCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRenderPassMultiviewCreateInfo where+ unsafeAddr (VkRenderPassMultiviewCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRenderPassMultiviewCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRenderPassMultiviewCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRenderPassMultiviewCreateInfo where+ type StructFields VkRenderPassMultiviewCreateInfo =+ '["sType", "pNext", "subpassCount", "pViewMasks", -- ' closing tick for hsc2hs+ "dependencyCount", "pViewOffsets", "correlationMaskCount",+ "pCorrelationMasks"]+ type CUnionType VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRenderPassMultiviewCreateInfo =+ '[VkRenderPassCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkRenderPassMultiviewCreateInfo where+ type FieldType "sType" VkRenderPassMultiviewCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkRenderPassMultiviewCreateInfo =+ #{offset VkRenderPassMultiviewCreateInfo, sType}+ type FieldIsArray "sType" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkRenderPassMultiviewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkRenderPassMultiviewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkRenderPassMultiviewCreateInfo where+ type FieldType "pNext" VkRenderPassMultiviewCreateInfo = Ptr Void+ type FieldOptional "pNext" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkRenderPassMultiviewCreateInfo =+ #{offset VkRenderPassMultiviewCreateInfo, pNext}+ type FieldIsArray "pNext" VkRenderPassMultiviewCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkRenderPassMultiviewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkRenderPassMultiviewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "subpassCount" VkRenderPassMultiviewCreateInfo where+ type FieldType "subpassCount" VkRenderPassMultiviewCreateInfo =+ Word32+ type FieldOptional "subpassCount" VkRenderPassMultiviewCreateInfo =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "subpassCount" VkRenderPassMultiviewCreateInfo =+ #{offset VkRenderPassMultiviewCreateInfo, subpassCount}+ type FieldIsArray "subpassCount" VkRenderPassMultiviewCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, subpassCount}++instance {-# OVERLAPPING #-}+ CanReadField "subpassCount" VkRenderPassMultiviewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, subpassCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, subpassCount}++instance {-# OVERLAPPING #-}+ CanWriteField "subpassCount" VkRenderPassMultiviewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, subpassCount}++instance {-# OVERLAPPING #-}+ HasField "pViewMasks" VkRenderPassMultiviewCreateInfo where+ type FieldType "pViewMasks" VkRenderPassMultiviewCreateInfo =+ Ptr Word32+ type FieldOptional "pViewMasks" VkRenderPassMultiviewCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pViewMasks" VkRenderPassMultiviewCreateInfo =+ #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}+ type FieldIsArray "pViewMasks" VkRenderPassMultiviewCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}++instance {-# OVERLAPPING #-}+ CanReadField "pViewMasks" VkRenderPassMultiviewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pViewMasks})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewMasks" VkRenderPassMultiviewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewMasks}++instance {-# OVERLAPPING #-}+ HasField "dependencyCount" VkRenderPassMultiviewCreateInfo where+ type FieldType "dependencyCount" VkRenderPassMultiviewCreateInfo =+ Word32+ type FieldOptional "dependencyCount"+ VkRenderPassMultiviewCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dependencyCount" VkRenderPassMultiviewCreateInfo+ =+ #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}+ type FieldIsArray "dependencyCount" VkRenderPassMultiviewCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}++instance {-# OVERLAPPING #-}+ CanReadField "dependencyCount" VkRenderPassMultiviewCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, dependencyCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}++instance {-# OVERLAPPING #-}+ CanWriteField "dependencyCount" VkRenderPassMultiviewCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, dependencyCount}++instance {-# OVERLAPPING #-}+ HasField "pViewOffsets" VkRenderPassMultiviewCreateInfo where+ type FieldType "pViewOffsets" VkRenderPassMultiviewCreateInfo =+ Ptr Int32+ type FieldOptional "pViewOffsets" VkRenderPassMultiviewCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pViewOffsets" VkRenderPassMultiviewCreateInfo =+ #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}+ type FieldIsArray "pViewOffsets" VkRenderPassMultiviewCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}++instance {-# OVERLAPPING #-}+ CanReadField "pViewOffsets" VkRenderPassMultiviewCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}++instance {-# OVERLAPPING #-}+ CanWriteField "pViewOffsets" VkRenderPassMultiviewCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pViewOffsets}++instance {-# OVERLAPPING #-}+ HasField "correlationMaskCount" VkRenderPassMultiviewCreateInfo+ where+ type FieldType "correlationMaskCount"+ VkRenderPassMultiviewCreateInfo+ = Word32+ type FieldOptional "correlationMaskCount"+ VkRenderPassMultiviewCreateInfo+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "correlationMaskCount"+ VkRenderPassMultiviewCreateInfo+ =+ #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}+ type FieldIsArray "correlationMaskCount"+ VkRenderPassMultiviewCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}++instance {-# OVERLAPPING #-}+ CanReadField "correlationMaskCount" VkRenderPassMultiviewCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}++instance {-# OVERLAPPING #-}+ CanWriteField "correlationMaskCount"+ VkRenderPassMultiviewCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, correlationMaskCount}++instance {-# OVERLAPPING #-}+ HasField "pCorrelationMasks" VkRenderPassMultiviewCreateInfo where+ type FieldType "pCorrelationMasks" VkRenderPassMultiviewCreateInfo+ = Ptr Word32+ type FieldOptional "pCorrelationMasks"+ VkRenderPassMultiviewCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pCorrelationMasks"+ VkRenderPassMultiviewCreateInfo+ =+ #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}+ type FieldIsArray "pCorrelationMasks"+ VkRenderPassMultiviewCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}++instance {-# OVERLAPPING #-}+ CanReadField "pCorrelationMasks" VkRenderPassMultiviewCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}++instance {-# OVERLAPPING #-}+ CanWriteField "pCorrelationMasks" VkRenderPassMultiviewCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassMultiviewCreateInfo, pCorrelationMasks}++instance Show VkRenderPassMultiviewCreateInfo where+ showsPrec d x+ = showString "VkRenderPassMultiviewCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "subpassCount = " .+ showsPrec d (getField @"subpassCount" x) .+ showString ", " .+ showString "pViewMasks = " .+ showsPrec d (getField @"pViewMasks" x) .+ showString ", " .+ showString "dependencyCount = " .+ showsPrec d (getField @"dependencyCount" x) .+ showString ", " .+ showString "pViewOffsets = " .+ showsPrec d (getField @"pViewOffsets" x) .+ showString ", " .+ showString "correlationMaskCount = " .+ showsPrec d (getField @"correlationMaskCount" x)+ .+ showString ", " .+ showString "pCorrelationMasks = " .+ showsPrec d+ (getField @"pCorrelationMasks" x)+ . showChar '}'++-- | Alias for `VkRenderPassMultiviewCreateInfo`+type VkRenderPassMultiviewCreateInfoKHR =+ VkRenderPassMultiviewCreateInfo++-- | > typedef struct VkRenderPassSampleLocationsBeginInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t attachmentInitialSampleLocationsCount;+-- > const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;+-- > uint32_t postSubpassSampleLocationsCount;+-- > const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;+-- > } VkRenderPassSampleLocationsBeginInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT registry at www.khronos.org>+data VkRenderPassSampleLocationsBeginInfoEXT = VkRenderPassSampleLocationsBeginInfoEXT## Addr##+ ByteArray##++instance Eq VkRenderPassSampleLocationsBeginInfoEXT where+ (VkRenderPassSampleLocationsBeginInfoEXT## a _) ==+ x@(VkRenderPassSampleLocationsBeginInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkRenderPassSampleLocationsBeginInfoEXT where+ (VkRenderPassSampleLocationsBeginInfoEXT## a _) `compare`+ x@(VkRenderPassSampleLocationsBeginInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkRenderPassSampleLocationsBeginInfoEXT where+ sizeOf ~_+ = #{size VkRenderPassSampleLocationsBeginInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkRenderPassSampleLocationsBeginInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkRenderPassSampleLocationsBeginInfoEXT+ where+ unsafeAddr (VkRenderPassSampleLocationsBeginInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkRenderPassSampleLocationsBeginInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkRenderPassSampleLocationsBeginInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkRenderPassSampleLocationsBeginInfoEXT+ where+ type StructFields VkRenderPassSampleLocationsBeginInfoEXT =+ '["sType", "pNext", "attachmentInitialSampleLocationsCount", -- ' closing tick for hsc2hs+ "pAttachmentInitialSampleLocations",+ "postSubpassSampleLocationsCount", "pPostSubpassSampleLocations"]+ type CUnionType VkRenderPassSampleLocationsBeginInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkRenderPassSampleLocationsBeginInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkRenderPassSampleLocationsBeginInfoEXT =+ '[VkRenderPassBeginInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkRenderPassSampleLocationsBeginInfoEXT where+ type FieldType "sType" VkRenderPassSampleLocationsBeginInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkRenderPassSampleLocationsBeginInfoEXT =+ #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}+ type FieldIsArray "sType" VkRenderPassSampleLocationsBeginInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkRenderPassSampleLocationsBeginInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkRenderPassSampleLocationsBeginInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkRenderPassSampleLocationsBeginInfoEXT where+ type FieldType "pNext" VkRenderPassSampleLocationsBeginInfoEXT =+ Ptr Void+ type FieldOptional "pNext" VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkRenderPassSampleLocationsBeginInfoEXT =+ #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}+ type FieldIsArray "pNext" VkRenderPassSampleLocationsBeginInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkRenderPassSampleLocationsBeginInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkRenderPassSampleLocationsBeginInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ type FieldType "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ = Word32+ type FieldOptional "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ =+ #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}+ type FieldIsArray "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}++instance {-# OVERLAPPING #-}+ CanReadField "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}++instance {-# OVERLAPPING #-}+ CanWriteField "attachmentInitialSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, attachmentInitialSampleLocationsCount}++instance {-# OVERLAPPING #-}+ HasField "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ type FieldType "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ = Ptr VkAttachmentSampleLocationsEXT+ type FieldOptional "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ =+ #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}+ type FieldIsArray "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}++instance {-# OVERLAPPING #-}+ CanReadField "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}++instance {-# OVERLAPPING #-}+ CanWriteField "pAttachmentInitialSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pAttachmentInitialSampleLocations}++instance {-# OVERLAPPING #-}+ HasField "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ type FieldType "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ = Word32+ type FieldOptional "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ =+ #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}+ type FieldIsArray "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}++instance {-# OVERLAPPING #-}+ CanReadField "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}++instance {-# OVERLAPPING #-}+ CanWriteField "postSubpassSampleLocationsCount"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, postSubpassSampleLocationsCount}++instance {-# OVERLAPPING #-}+ HasField "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ type FieldType "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ = Ptr VkSubpassSampleLocationsEXT+ type FieldOptional "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ =+ #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}+ type FieldIsArray "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}++instance {-# OVERLAPPING #-}+ CanReadField "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}++instance {-# OVERLAPPING #-}+ CanWriteField "pPostSubpassSampleLocations"+ VkRenderPassSampleLocationsBeginInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkRenderPassSampleLocationsBeginInfoEXT, pPostSubpassSampleLocations}++instance Show VkRenderPassSampleLocationsBeginInfoEXT where+ showsPrec d x+ = showString "VkRenderPassSampleLocationsBeginInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "attachmentInitialSampleLocationsCount = " .+ showsPrec d (getField @"attachmentInitialSampleLocationsCount" x) .+ showString ", " .+ showString "pAttachmentInitialSampleLocations = " .+ showsPrec d (getField @"pAttachmentInitialSampleLocations" x) .+ showString ", " .+ showString "postSubpassSampleLocationsCount = " .+ showsPrec d (getField @"postSubpassSampleLocationsCount" x)+ .+ showString ", " .+ showString "pPostSubpassSampleLocations = " .+ showsPrec d+ (getField @"pPostSubpassSampleLocations" x)+ . showChar '}'
@@ -0,0 +1,437 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.SampleLocation+ (VkSampleLocationEXT(..), VkSampleLocationsInfoEXT(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.SampleCountFlags (VkSampleCountFlagBits)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import Graphics.Vulkan.Types.Struct.Image (VkImageMemoryBarrier)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSampleLocationEXT {+-- > float x;+-- > float y;+-- > } VkSampleLocationEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSampleLocationEXT VkSampleLocationEXT registry at www.khronos.org>+data VkSampleLocationEXT = VkSampleLocationEXT## Addr## ByteArray##++instance Eq VkSampleLocationEXT where+ (VkSampleLocationEXT## a _) == x@(VkSampleLocationEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSampleLocationEXT where+ (VkSampleLocationEXT## a _) `compare` x@(VkSampleLocationEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSampleLocationEXT where+ sizeOf ~_ = #{size VkSampleLocationEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSampleLocationEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSampleLocationEXT where+ unsafeAddr (VkSampleLocationEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSampleLocationEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSampleLocationEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSampleLocationEXT where+ type StructFields VkSampleLocationEXT = '["x", "y"] -- ' closing tick for hsc2hs+ type CUnionType VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSampleLocationEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "x" VkSampleLocationEXT where+ type FieldType "x" VkSampleLocationEXT = #{type float}+ type FieldOptional "x" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "x" VkSampleLocationEXT =+ #{offset VkSampleLocationEXT, x}+ type FieldIsArray "x" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSampleLocationEXT, x}++instance {-# OVERLAPPING #-} CanReadField "x" VkSampleLocationEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationEXT, x})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationEXT, x}++instance {-# OVERLAPPING #-} CanWriteField "x" VkSampleLocationEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationEXT, x}++instance {-# OVERLAPPING #-} HasField "y" VkSampleLocationEXT where+ type FieldType "y" VkSampleLocationEXT = #{type float}+ type FieldOptional "y" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "y" VkSampleLocationEXT =+ #{offset VkSampleLocationEXT, y}+ type FieldIsArray "y" VkSampleLocationEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSampleLocationEXT, y}++instance {-# OVERLAPPING #-} CanReadField "y" VkSampleLocationEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationEXT, y})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationEXT, y}++instance {-# OVERLAPPING #-} CanWriteField "y" VkSampleLocationEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationEXT, y}++instance Show VkSampleLocationEXT where+ showsPrec d x+ = showString "VkSampleLocationEXT {" .+ showString "x = " .+ showsPrec d (getField @"x" x) .+ showString ", " .+ showString "y = " . showsPrec d (getField @"y" x) . showChar '}'++-- | > typedef struct VkSampleLocationsInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSampleCountFlagBits sampleLocationsPerPixel;+-- > VkExtent2D sampleLocationGridSize;+-- > uint32_t sampleLocationsCount;+-- > const VkSampleLocationEXT* pSampleLocations;+-- > } VkSampleLocationsInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSampleLocationsInfoEXT VkSampleLocationsInfoEXT registry at www.khronos.org>+data VkSampleLocationsInfoEXT = VkSampleLocationsInfoEXT## Addr##+ ByteArray##++instance Eq VkSampleLocationsInfoEXT where+ (VkSampleLocationsInfoEXT## a _) ==+ x@(VkSampleLocationsInfoEXT## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSampleLocationsInfoEXT where+ (VkSampleLocationsInfoEXT## a _) `compare`+ x@(VkSampleLocationsInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSampleLocationsInfoEXT where+ sizeOf ~_ = #{size VkSampleLocationsInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSampleLocationsInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSampleLocationsInfoEXT where+ unsafeAddr (VkSampleLocationsInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSampleLocationsInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSampleLocationsInfoEXT## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSampleLocationsInfoEXT where+ type StructFields VkSampleLocationsInfoEXT =+ '["sType", "pNext", "sampleLocationsPerPixel", -- ' closing tick for hsc2hs+ "sampleLocationGridSize", "sampleLocationsCount",+ "pSampleLocations"]+ type CUnionType VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSampleLocationsInfoEXT =+ '[VkImageMemoryBarrier] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSampleLocationsInfoEXT where+ type FieldType "sType" VkSampleLocationsInfoEXT = VkStructureType+ type FieldOptional "sType" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSampleLocationsInfoEXT =+ #{offset VkSampleLocationsInfoEXT, sType}+ type FieldIsArray "sType" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSampleLocationsInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSampleLocationsInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationsInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSampleLocationsInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSampleLocationsInfoEXT where+ type FieldType "pNext" VkSampleLocationsInfoEXT = Ptr Void+ type FieldOptional "pNext" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSampleLocationsInfoEXT =+ #{offset VkSampleLocationsInfoEXT, pNext}+ type FieldIsArray "pNext" VkSampleLocationsInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSampleLocationsInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSampleLocationsInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationsInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSampleLocationsInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationsInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationsPerPixel" VkSampleLocationsInfoEXT where+ type FieldType "sampleLocationsPerPixel" VkSampleLocationsInfoEXT =+ VkSampleCountFlagBits+ type FieldOptional "sampleLocationsPerPixel"+ VkSampleLocationsInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationsPerPixel" VkSampleLocationsInfoEXT+ =+ #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}+ type FieldIsArray "sampleLocationsPerPixel"+ VkSampleLocationsInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationsPerPixel" VkSampleLocationsInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationsPerPixel" VkSampleLocationsInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsPerPixel}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationGridSize" VkSampleLocationsInfoEXT where+ type FieldType "sampleLocationGridSize" VkSampleLocationsInfoEXT =+ VkExtent2D+ type FieldOptional "sampleLocationGridSize"+ VkSampleLocationsInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationGridSize" VkSampleLocationsInfoEXT+ =+ #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}+ type FieldIsArray "sampleLocationGridSize" VkSampleLocationsInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationGridSize" VkSampleLocationsInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationGridSize" VkSampleLocationsInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationGridSize}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationsCount" VkSampleLocationsInfoEXT where+ type FieldType "sampleLocationsCount" VkSampleLocationsInfoEXT =+ Word32+ type FieldOptional "sampleLocationsCount" VkSampleLocationsInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationsCount" VkSampleLocationsInfoEXT =+ #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}+ type FieldIsArray "sampleLocationsCount" VkSampleLocationsInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationsCount" VkSampleLocationsInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, sampleLocationsCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationsCount" VkSampleLocationsInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationsInfoEXT, sampleLocationsCount}++instance {-# OVERLAPPING #-}+ HasField "pSampleLocations" VkSampleLocationsInfoEXT where+ type FieldType "pSampleLocations" VkSampleLocationsInfoEXT =+ Ptr VkSampleLocationEXT+ type FieldOptional "pSampleLocations" VkSampleLocationsInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSampleLocations" VkSampleLocationsInfoEXT =+ #{offset VkSampleLocationsInfoEXT, pSampleLocations}+ type FieldIsArray "pSampleLocations" VkSampleLocationsInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSampleLocationsInfoEXT, pSampleLocations}++instance {-# OVERLAPPING #-}+ CanReadField "pSampleLocations" VkSampleLocationsInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSampleLocationsInfoEXT, pSampleLocations})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSampleLocationsInfoEXT, pSampleLocations}++instance {-# OVERLAPPING #-}+ CanWriteField "pSampleLocations" VkSampleLocationsInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSampleLocationsInfoEXT, pSampleLocations}++instance Show VkSampleLocationsInfoEXT where+ showsPrec d x+ = showString "VkSampleLocationsInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "sampleLocationsPerPixel = " .+ showsPrec d (getField @"sampleLocationsPerPixel" x) .+ showString ", " .+ showString "sampleLocationGridSize = " .+ showsPrec d (getField @"sampleLocationGridSize" x) .+ showString ", " .+ showString "sampleLocationsCount = " .+ showsPrec d (getField @"sampleLocationsCount" x) .+ showString ", " .+ showString "pSampleLocations = " .+ showsPrec d (getField @"pSampleLocations" x) .+ showChar '}'
@@ -0,0 +1,1888 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Sampler+ (VkSamplerCreateInfo(..), VkSamplerReductionModeCreateInfoEXT(..),+ VkSamplerYcbcrConversionCreateInfo(..),+ VkSamplerYcbcrConversionCreateInfoKHR,+ VkSamplerYcbcrConversionImageFormatProperties(..),+ VkSamplerYcbcrConversionImageFormatPropertiesKHR,+ VkSamplerYcbcrConversionInfo(..), VkSamplerYcbcrConversionInfoKHR)+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Bitmasks (VkSamplerCreateFlags)+import Graphics.Vulkan.Types.Enum.BorderColor (VkBorderColor)+import Graphics.Vulkan.Types.Enum.ChromaLocation (VkChromaLocation)+import Graphics.Vulkan.Types.Enum.CompareOp (VkCompareOp)+import Graphics.Vulkan.Types.Enum.Filter (VkFilter)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.Sampler (VkSamplerAddressMode,+ VkSamplerMipmapMode,+ VkSamplerReductionModeEXT,+ VkSamplerYcbcrModelConversion,+ VkSamplerYcbcrRange)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkSamplerYcbcrConversion)+import Graphics.Vulkan.Types.Struct.ComponentMapping (VkComponentMapping)+import Graphics.Vulkan.Types.Struct.Image (VkImageFormatProperties2,+ VkImageViewCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSamplerCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSamplerCreateFlags flags;+-- > VkFilter magFilter;+-- > VkFilter minFilter;+-- > VkSamplerMipmapMode mipmapMode;+-- > VkSamplerAddressMode addressModeU;+-- > VkSamplerAddressMode addressModeV;+-- > VkSamplerAddressMode addressModeW;+-- > float mipLodBias;+-- > VkBool32 anisotropyEnable;+-- > float maxAnisotropy;+-- > VkBool32 compareEnable;+-- > VkCompareOp compareOp;+-- > float minLod;+-- > float maxLod;+-- > VkBorderColor borderColor;+-- > VkBool32 unnormalizedCoordinates;+-- > } VkSamplerCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerCreateInfo VkSamplerCreateInfo registry at www.khronos.org>+data VkSamplerCreateInfo = VkSamplerCreateInfo## Addr## ByteArray##++instance Eq VkSamplerCreateInfo where+ (VkSamplerCreateInfo## a _) == x@(VkSamplerCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSamplerCreateInfo where+ (VkSamplerCreateInfo## a _) `compare` x@(VkSamplerCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSamplerCreateInfo where+ sizeOf ~_ = #{size VkSamplerCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSamplerCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSamplerCreateInfo where+ unsafeAddr (VkSamplerCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSamplerCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSamplerCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSamplerCreateInfo where+ type StructFields VkSamplerCreateInfo =+ '["sType", "pNext", "flags", "magFilter", "minFilter", -- ' closing tick for hsc2hs+ "mipmapMode", "addressModeU", "addressModeV", "addressModeW",+ "mipLodBias", "anisotropyEnable", "maxAnisotropy", "compareEnable",+ "compareOp", "minLod", "maxLod", "borderColor",+ "unnormalizedCoordinates"]+ type CUnionType VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSamplerCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkSamplerCreateInfo+ where+ type FieldType "sType" VkSamplerCreateInfo = VkStructureType+ type FieldOptional "sType" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, sType}+ type FieldIsArray "sType" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkSamplerCreateInfo+ where+ type FieldType "pNext" VkSamplerCreateInfo = Ptr Void+ type FieldOptional "pNext" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, pNext}+ type FieldIsArray "pNext" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkSamplerCreateInfo+ where+ type FieldType "flags" VkSamplerCreateInfo = VkSamplerCreateFlags+ type FieldOptional "flags" VkSamplerCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, flags}+ type FieldIsArray "flags" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "magFilter" VkSamplerCreateInfo where+ type FieldType "magFilter" VkSamplerCreateInfo = VkFilter+ type FieldOptional "magFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "magFilter" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, magFilter}+ type FieldIsArray "magFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, magFilter}++instance {-# OVERLAPPING #-}+ CanReadField "magFilter" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, magFilter})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, magFilter}++instance {-# OVERLAPPING #-}+ CanWriteField "magFilter" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, magFilter}++instance {-# OVERLAPPING #-}+ HasField "minFilter" VkSamplerCreateInfo where+ type FieldType "minFilter" VkSamplerCreateInfo = VkFilter+ type FieldOptional "minFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minFilter" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, minFilter}+ type FieldIsArray "minFilter" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, minFilter}++instance {-# OVERLAPPING #-}+ CanReadField "minFilter" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, minFilter})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, minFilter}++instance {-# OVERLAPPING #-}+ CanWriteField "minFilter" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, minFilter}++instance {-# OVERLAPPING #-}+ HasField "mipmapMode" VkSamplerCreateInfo where+ type FieldType "mipmapMode" VkSamplerCreateInfo =+ VkSamplerMipmapMode+ type FieldOptional "mipmapMode" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mipmapMode" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, mipmapMode}+ type FieldIsArray "mipmapMode" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, mipmapMode}++instance {-# OVERLAPPING #-}+ CanReadField "mipmapMode" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, mipmapMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, mipmapMode}++instance {-# OVERLAPPING #-}+ CanWriteField "mipmapMode" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, mipmapMode}++instance {-# OVERLAPPING #-}+ HasField "addressModeU" VkSamplerCreateInfo where+ type FieldType "addressModeU" VkSamplerCreateInfo =+ VkSamplerAddressMode+ type FieldOptional "addressModeU" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "addressModeU" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, addressModeU}+ type FieldIsArray "addressModeU" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, addressModeU}++instance {-# OVERLAPPING #-}+ CanReadField "addressModeU" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, addressModeU})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, addressModeU}++instance {-# OVERLAPPING #-}+ CanWriteField "addressModeU" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, addressModeU}++instance {-# OVERLAPPING #-}+ HasField "addressModeV" VkSamplerCreateInfo where+ type FieldType "addressModeV" VkSamplerCreateInfo =+ VkSamplerAddressMode+ type FieldOptional "addressModeV" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "addressModeV" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, addressModeV}+ type FieldIsArray "addressModeV" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, addressModeV}++instance {-# OVERLAPPING #-}+ CanReadField "addressModeV" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, addressModeV})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, addressModeV}++instance {-# OVERLAPPING #-}+ CanWriteField "addressModeV" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, addressModeV}++instance {-# OVERLAPPING #-}+ HasField "addressModeW" VkSamplerCreateInfo where+ type FieldType "addressModeW" VkSamplerCreateInfo =+ VkSamplerAddressMode+ type FieldOptional "addressModeW" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "addressModeW" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, addressModeW}+ type FieldIsArray "addressModeW" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, addressModeW}++instance {-# OVERLAPPING #-}+ CanReadField "addressModeW" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, addressModeW})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, addressModeW}++instance {-# OVERLAPPING #-}+ CanWriteField "addressModeW" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, addressModeW}++instance {-# OVERLAPPING #-}+ HasField "mipLodBias" VkSamplerCreateInfo where+ type FieldType "mipLodBias" VkSamplerCreateInfo =+ #{type float}+ type FieldOptional "mipLodBias" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "mipLodBias" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, mipLodBias}+ type FieldIsArray "mipLodBias" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, mipLodBias}++instance {-# OVERLAPPING #-}+ CanReadField "mipLodBias" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, mipLodBias})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, mipLodBias}++instance {-# OVERLAPPING #-}+ CanWriteField "mipLodBias" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, mipLodBias}++instance {-# OVERLAPPING #-}+ HasField "anisotropyEnable" VkSamplerCreateInfo where+ type FieldType "anisotropyEnable" VkSamplerCreateInfo = VkBool32+ type FieldOptional "anisotropyEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "anisotropyEnable" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, anisotropyEnable}+ type FieldIsArray "anisotropyEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, anisotropyEnable}++instance {-# OVERLAPPING #-}+ CanReadField "anisotropyEnable" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, anisotropyEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, anisotropyEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "anisotropyEnable" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, anisotropyEnable}++instance {-# OVERLAPPING #-}+ HasField "maxAnisotropy" VkSamplerCreateInfo where+ type FieldType "maxAnisotropy" VkSamplerCreateInfo =+ #{type float}+ type FieldOptional "maxAnisotropy" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxAnisotropy" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, maxAnisotropy}+ type FieldIsArray "maxAnisotropy" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, maxAnisotropy}++instance {-# OVERLAPPING #-}+ CanReadField "maxAnisotropy" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, maxAnisotropy})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, maxAnisotropy}++instance {-# OVERLAPPING #-}+ CanWriteField "maxAnisotropy" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, maxAnisotropy}++instance {-# OVERLAPPING #-}+ HasField "compareEnable" VkSamplerCreateInfo where+ type FieldType "compareEnable" VkSamplerCreateInfo = VkBool32+ type FieldOptional "compareEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compareEnable" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, compareEnable}+ type FieldIsArray "compareEnable" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, compareEnable}++instance {-# OVERLAPPING #-}+ CanReadField "compareEnable" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, compareEnable})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, compareEnable}++instance {-# OVERLAPPING #-}+ CanWriteField "compareEnable" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, compareEnable}++instance {-# OVERLAPPING #-}+ HasField "compareOp" VkSamplerCreateInfo where+ type FieldType "compareOp" VkSamplerCreateInfo = VkCompareOp+ type FieldOptional "compareOp" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compareOp" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, compareOp}+ type FieldIsArray "compareOp" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, compareOp}++instance {-# OVERLAPPING #-}+ CanReadField "compareOp" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, compareOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, compareOp}++instance {-# OVERLAPPING #-}+ CanWriteField "compareOp" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, compareOp}++instance {-# OVERLAPPING #-} HasField "minLod" VkSamplerCreateInfo+ where+ type FieldType "minLod" VkSamplerCreateInfo =+ #{type float}+ type FieldOptional "minLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minLod" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, minLod}+ type FieldIsArray "minLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, minLod}++instance {-# OVERLAPPING #-}+ CanReadField "minLod" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, minLod})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, minLod}++instance {-# OVERLAPPING #-}+ CanWriteField "minLod" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, minLod}++instance {-# OVERLAPPING #-} HasField "maxLod" VkSamplerCreateInfo+ where+ type FieldType "maxLod" VkSamplerCreateInfo =+ #{type float}+ type FieldOptional "maxLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxLod" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, maxLod}+ type FieldIsArray "maxLod" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSamplerCreateInfo, maxLod}++instance {-# OVERLAPPING #-}+ CanReadField "maxLod" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, maxLod})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, maxLod}++instance {-# OVERLAPPING #-}+ CanWriteField "maxLod" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, maxLod}++instance {-# OVERLAPPING #-}+ HasField "borderColor" VkSamplerCreateInfo where+ type FieldType "borderColor" VkSamplerCreateInfo = VkBorderColor+ type FieldOptional "borderColor" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "borderColor" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, borderColor}+ type FieldIsArray "borderColor" VkSamplerCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, borderColor}++instance {-# OVERLAPPING #-}+ CanReadField "borderColor" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, borderColor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, borderColor}++instance {-# OVERLAPPING #-}+ CanWriteField "borderColor" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, borderColor}++instance {-# OVERLAPPING #-}+ HasField "unnormalizedCoordinates" VkSamplerCreateInfo where+ type FieldType "unnormalizedCoordinates" VkSamplerCreateInfo =+ VkBool32+ type FieldOptional "unnormalizedCoordinates" VkSamplerCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "unnormalizedCoordinates" VkSamplerCreateInfo =+ #{offset VkSamplerCreateInfo, unnormalizedCoordinates}+ type FieldIsArray "unnormalizedCoordinates" VkSamplerCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerCreateInfo, unnormalizedCoordinates}++instance {-# OVERLAPPING #-}+ CanReadField "unnormalizedCoordinates" VkSamplerCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerCreateInfo, unnormalizedCoordinates})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerCreateInfo, unnormalizedCoordinates}++instance {-# OVERLAPPING #-}+ CanWriteField "unnormalizedCoordinates" VkSamplerCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerCreateInfo, unnormalizedCoordinates}++instance Show VkSamplerCreateInfo where+ showsPrec d x+ = showString "VkSamplerCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "magFilter = " .+ showsPrec d (getField @"magFilter" x) .+ showString ", " .+ showString "minFilter = " .+ showsPrec d (getField @"minFilter" x) .+ showString ", " .+ showString "mipmapMode = " .+ showsPrec d (getField @"mipmapMode" x) .+ showString ", " .+ showString "addressModeU = " .+ showsPrec d (getField @"addressModeU" x) .+ showString ", " .+ showString "addressModeV = " .+ showsPrec d (getField @"addressModeV" x) .+ showString ", " .+ showString "addressModeW = " .+ showsPrec d+ (getField @"addressModeW" x)+ .+ showString ", " .+ showString "mipLodBias = " .+ showsPrec d+ (getField @"mipLodBias" x)+ .+ showString ", " .+ showString+ "anisotropyEnable = "+ .+ showsPrec d+ (getField+ @"anisotropyEnable"+ x)+ .+ showString ", " .+ showString+ "maxAnisotropy = "+ .+ showsPrec d+ (getField+ @"maxAnisotropy"+ x)+ .+ showString ", "+ .+ showString+ "compareEnable = "+ .+ showsPrec d+ (getField+ @"compareEnable"+ x)+ .+ showString+ ", "+ .+ showString+ "compareOp = "+ .+ showsPrec+ d+ (getField+ @"compareOp"+ x)+ .+ showString+ ", "+ .+ showString+ "minLod = "+ .+ showsPrec+ d+ (getField+ @"minLod"+ x)+ .+ showString+ ", "+ .+ showString+ "maxLod = "+ .+ showsPrec+ d+ (getField+ @"maxLod"+ x)+ .+ showString+ ", "+ .+ showString+ "borderColor = "+ .+ showsPrec+ d+ (getField+ @"borderColor"+ x)+ .+ showString+ ", "+ .+ showString+ "unnormalizedCoordinates = "+ .+ showsPrec+ d+ (getField+ @"unnormalizedCoordinates"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkSamplerReductionModeCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSamplerReductionModeEXT reductionMode;+-- > } VkSamplerReductionModeCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org>+data VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkSamplerReductionModeCreateInfoEXT where+ (VkSamplerReductionModeCreateInfoEXT## a _) ==+ x@(VkSamplerReductionModeCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSamplerReductionModeCreateInfoEXT where+ (VkSamplerReductionModeCreateInfoEXT## a _) `compare`+ x@(VkSamplerReductionModeCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSamplerReductionModeCreateInfoEXT where+ sizeOf ~_ = #{size VkSamplerReductionModeCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSamplerReductionModeCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSamplerReductionModeCreateInfoEXT+ where+ unsafeAddr (VkSamplerReductionModeCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSamplerReductionModeCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSamplerReductionModeCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSamplerReductionModeCreateInfoEXT where+ type StructFields VkSamplerReductionModeCreateInfoEXT =+ '["sType", "pNext", "reductionMode"] -- ' closing tick for hsc2hs+ type CUnionType VkSamplerReductionModeCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSamplerReductionModeCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSamplerReductionModeCreateInfoEXT =+ '[VkSamplerCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSamplerReductionModeCreateInfoEXT where+ type FieldType "sType" VkSamplerReductionModeCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkSamplerReductionModeCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSamplerReductionModeCreateInfoEXT =+ #{offset VkSamplerReductionModeCreateInfoEXT, sType}+ type FieldIsArray "sType" VkSamplerReductionModeCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerReductionModeCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSamplerReductionModeCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerReductionModeCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSamplerReductionModeCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSamplerReductionModeCreateInfoEXT where+ type FieldType "pNext" VkSamplerReductionModeCreateInfoEXT =+ Ptr Void+ type FieldOptional "pNext" VkSamplerReductionModeCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSamplerReductionModeCreateInfoEXT =+ #{offset VkSamplerReductionModeCreateInfoEXT, pNext}+ type FieldIsArray "pNext" VkSamplerReductionModeCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerReductionModeCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSamplerReductionModeCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerReductionModeCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSamplerReductionModeCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "reductionMode" VkSamplerReductionModeCreateInfoEXT where+ type FieldType "reductionMode" VkSamplerReductionModeCreateInfoEXT+ = VkSamplerReductionModeEXT+ type FieldOptional "reductionMode"+ VkSamplerReductionModeCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "reductionMode"+ VkSamplerReductionModeCreateInfoEXT+ =+ #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}+ type FieldIsArray "reductionMode"+ VkSamplerReductionModeCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}++instance {-# OVERLAPPING #-}+ CanReadField "reductionMode" VkSamplerReductionModeCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}++instance {-# OVERLAPPING #-}+ CanWriteField "reductionMode" VkSamplerReductionModeCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerReductionModeCreateInfoEXT, reductionMode}++instance Show VkSamplerReductionModeCreateInfoEXT where+ showsPrec d x+ = showString "VkSamplerReductionModeCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "reductionMode = " .+ showsPrec d (getField @"reductionMode" x) . showChar '}'++-- | > typedef struct VkSamplerYcbcrConversionCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkFormat format;+-- > VkSamplerYcbcrModelConversion ycbcrModel;+-- > VkSamplerYcbcrRange ycbcrRange;+-- > VkComponentMapping components;+-- > VkChromaLocation xChromaOffset;+-- > VkChromaLocation yChromaOffset;+-- > VkFilter chromaFilter;+-- > VkBool32 forceExplicitReconstruction;+-- > } VkSamplerYcbcrConversionCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo registry at www.khronos.org>+data VkSamplerYcbcrConversionCreateInfo = VkSamplerYcbcrConversionCreateInfo## Addr##+ ByteArray##++instance Eq VkSamplerYcbcrConversionCreateInfo where+ (VkSamplerYcbcrConversionCreateInfo## a _) ==+ x@(VkSamplerYcbcrConversionCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSamplerYcbcrConversionCreateInfo where+ (VkSamplerYcbcrConversionCreateInfo## a _) `compare`+ x@(VkSamplerYcbcrConversionCreateInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSamplerYcbcrConversionCreateInfo where+ sizeOf ~_ = #{size VkSamplerYcbcrConversionCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSamplerYcbcrConversionCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSamplerYcbcrConversionCreateInfo where+ unsafeAddr (VkSamplerYcbcrConversionCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSamplerYcbcrConversionCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSamplerYcbcrConversionCreateInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSamplerYcbcrConversionCreateInfo where+ type StructFields VkSamplerYcbcrConversionCreateInfo =+ '["sType", "pNext", "format", "ycbcrModel", "ycbcrRange", -- ' closing tick for hsc2hs+ "components", "xChromaOffset", "yChromaOffset", "chromaFilter",+ "forceExplicitReconstruction"]+ type CUnionType VkSamplerYcbcrConversionCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSamplerYcbcrConversionCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSamplerYcbcrConversionCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "sType" VkSamplerYcbcrConversionCreateInfo =+ VkStructureType+ type FieldOptional "sType" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSamplerYcbcrConversionCreateInfo =+ #{offset VkSamplerYcbcrConversionCreateInfo, sType}+ type FieldIsArray "sType" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSamplerYcbcrConversionCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSamplerYcbcrConversionCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "pNext" VkSamplerYcbcrConversionCreateInfo =+ Ptr Void+ type FieldOptional "pNext" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSamplerYcbcrConversionCreateInfo =+ #{offset VkSamplerYcbcrConversionCreateInfo, pNext}+ type FieldIsArray "pNext" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSamplerYcbcrConversionCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSamplerYcbcrConversionCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "format" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "format" VkSamplerYcbcrConversionCreateInfo =+ VkFormat+ type FieldOptional "format" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkSamplerYcbcrConversionCreateInfo =+ #{offset VkSamplerYcbcrConversionCreateInfo, format}+ type FieldIsArray "format" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkSamplerYcbcrConversionCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkSamplerYcbcrConversionCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, format}++instance {-# OVERLAPPING #-}+ HasField "ycbcrModel" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "ycbcrModel" VkSamplerYcbcrConversionCreateInfo =+ VkSamplerYcbcrModelConversion+ type FieldOptional "ycbcrModel" VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "ycbcrModel" VkSamplerYcbcrConversionCreateInfo =+ #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}+ type FieldIsArray "ycbcrModel" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}++instance {-# OVERLAPPING #-}+ CanReadField "ycbcrModel" VkSamplerYcbcrConversionCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}++instance {-# OVERLAPPING #-}+ CanWriteField "ycbcrModel" VkSamplerYcbcrConversionCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrModel}++instance {-# OVERLAPPING #-}+ HasField "ycbcrRange" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "ycbcrRange" VkSamplerYcbcrConversionCreateInfo =+ VkSamplerYcbcrRange+ type FieldOptional "ycbcrRange" VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "ycbcrRange" VkSamplerYcbcrConversionCreateInfo =+ #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}+ type FieldIsArray "ycbcrRange" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}++instance {-# OVERLAPPING #-}+ CanReadField "ycbcrRange" VkSamplerYcbcrConversionCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}++instance {-# OVERLAPPING #-}+ CanWriteField "ycbcrRange" VkSamplerYcbcrConversionCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, ycbcrRange}++instance {-# OVERLAPPING #-}+ HasField "components" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "components" VkSamplerYcbcrConversionCreateInfo =+ VkComponentMapping+ type FieldOptional "components" VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "components" VkSamplerYcbcrConversionCreateInfo =+ #{offset VkSamplerYcbcrConversionCreateInfo, components}+ type FieldIsArray "components" VkSamplerYcbcrConversionCreateInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, components}++instance {-# OVERLAPPING #-}+ CanReadField "components" VkSamplerYcbcrConversionCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, components})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, components}++instance {-# OVERLAPPING #-}+ CanWriteField "components" VkSamplerYcbcrConversionCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, components}++instance {-# OVERLAPPING #-}+ HasField "xChromaOffset" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "xChromaOffset" VkSamplerYcbcrConversionCreateInfo =+ VkChromaLocation+ type FieldOptional "xChromaOffset"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "xChromaOffset" VkSamplerYcbcrConversionCreateInfo+ =+ #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}+ type FieldIsArray "xChromaOffset"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}++instance {-# OVERLAPPING #-}+ CanReadField "xChromaOffset" VkSamplerYcbcrConversionCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "xChromaOffset" VkSamplerYcbcrConversionCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, xChromaOffset}++instance {-# OVERLAPPING #-}+ HasField "yChromaOffset" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "yChromaOffset" VkSamplerYcbcrConversionCreateInfo =+ VkChromaLocation+ type FieldOptional "yChromaOffset"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "yChromaOffset" VkSamplerYcbcrConversionCreateInfo+ =+ #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}+ type FieldIsArray "yChromaOffset"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}++instance {-# OVERLAPPING #-}+ CanReadField "yChromaOffset" VkSamplerYcbcrConversionCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "yChromaOffset" VkSamplerYcbcrConversionCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, yChromaOffset}++instance {-# OVERLAPPING #-}+ HasField "chromaFilter" VkSamplerYcbcrConversionCreateInfo where+ type FieldType "chromaFilter" VkSamplerYcbcrConversionCreateInfo =+ VkFilter+ type FieldOptional "chromaFilter"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "chromaFilter" VkSamplerYcbcrConversionCreateInfo+ =+ #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}+ type FieldIsArray "chromaFilter" VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}++instance {-# OVERLAPPING #-}+ CanReadField "chromaFilter" VkSamplerYcbcrConversionCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}++instance {-# OVERLAPPING #-}+ CanWriteField "chromaFilter" VkSamplerYcbcrConversionCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, chromaFilter}++instance {-# OVERLAPPING #-}+ HasField "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ where+ type FieldType "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ = VkBool32+ type FieldOptional "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ =+ #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}+ type FieldIsArray "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}++instance {-# OVERLAPPING #-}+ CanReadField "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}++instance {-# OVERLAPPING #-}+ CanWriteField "forceExplicitReconstruction"+ VkSamplerYcbcrConversionCreateInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionCreateInfo, forceExplicitReconstruction}++instance Show VkSamplerYcbcrConversionCreateInfo where+ showsPrec d x+ = showString "VkSamplerYcbcrConversionCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "ycbcrModel = " .+ showsPrec d (getField @"ycbcrModel" x) .+ showString ", " .+ showString "ycbcrRange = " .+ showsPrec d (getField @"ycbcrRange" x) .+ showString ", " .+ showString "components = " .+ showsPrec d (getField @"components" x) .+ showString ", " .+ showString "xChromaOffset = " .+ showsPrec d (getField @"xChromaOffset" x) .+ showString ", " .+ showString "yChromaOffset = " .+ showsPrec d (getField @"yChromaOffset" x)+ .+ showString ", " .+ showString "chromaFilter = " .+ showsPrec d+ (getField @"chromaFilter" x)+ .+ showString ", " .+ showString+ "forceExplicitReconstruction = "+ .+ showsPrec d+ (getField+ @"forceExplicitReconstruction"+ x)+ . showChar '}'++-- | Alias for `VkSamplerYcbcrConversionCreateInfo`+type VkSamplerYcbcrConversionCreateInfoKHR =+ VkSamplerYcbcrConversionCreateInfo++-- | > typedef struct VkSamplerYcbcrConversionImageFormatProperties {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t combinedImageSamplerDescriptorCount;+-- > } VkSamplerYcbcrConversionImageFormatProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties registry at www.khronos.org>+data VkSamplerYcbcrConversionImageFormatProperties = VkSamplerYcbcrConversionImageFormatProperties## Addr##+ ByteArray##++instance Eq VkSamplerYcbcrConversionImageFormatProperties where+ (VkSamplerYcbcrConversionImageFormatProperties## a _) ==+ x@(VkSamplerYcbcrConversionImageFormatProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSamplerYcbcrConversionImageFormatProperties where+ (VkSamplerYcbcrConversionImageFormatProperties## a _) `compare`+ x@(VkSamplerYcbcrConversionImageFormatProperties## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSamplerYcbcrConversionImageFormatProperties+ where+ sizeOf ~_+ = #{size VkSamplerYcbcrConversionImageFormatProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSamplerYcbcrConversionImageFormatProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkSamplerYcbcrConversionImageFormatProperties+ where+ unsafeAddr (VkSamplerYcbcrConversionImageFormatProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray+ (VkSamplerYcbcrConversionImageFormatProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSamplerYcbcrConversionImageFormatProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal+ VkSamplerYcbcrConversionImageFormatProperties+ where+ type StructFields VkSamplerYcbcrConversionImageFormatProperties =+ '["sType", "pNext", "combinedImageSamplerDescriptorCount"] -- ' closing tick for hsc2hs+ type CUnionType VkSamplerYcbcrConversionImageFormatProperties =+ 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSamplerYcbcrConversionImageFormatProperties =+ 'True -- ' closing tick for hsc2hs+ type StructExtends VkSamplerYcbcrConversionImageFormatProperties =+ '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSamplerYcbcrConversionImageFormatProperties+ where+ type FieldType "sType"+ VkSamplerYcbcrConversionImageFormatProperties+ = VkStructureType+ type FieldOptional "sType"+ VkSamplerYcbcrConversionImageFormatProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType"+ VkSamplerYcbcrConversionImageFormatProperties+ =+ #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}+ type FieldIsArray "sType"+ VkSamplerYcbcrConversionImageFormatProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSamplerYcbcrConversionImageFormatProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionImageFormatProperties, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSamplerYcbcrConversionImageFormatProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSamplerYcbcrConversionImageFormatProperties+ where+ type FieldType "pNext"+ VkSamplerYcbcrConversionImageFormatProperties+ = Ptr Void+ type FieldOptional "pNext"+ VkSamplerYcbcrConversionImageFormatProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext"+ VkSamplerYcbcrConversionImageFormatProperties+ =+ #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}+ type FieldIsArray "pNext"+ VkSamplerYcbcrConversionImageFormatProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSamplerYcbcrConversionImageFormatProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSamplerYcbcrConversionImageFormatProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, pNext}++instance {-# OVERLAPPING #-}+ HasField "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ where+ type FieldType "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ = Word32+ type FieldOptional "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ =+ #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}+ type FieldIsArray "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}++instance {-# OVERLAPPING #-}+ CanReadField "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}++instance {-# OVERLAPPING #-}+ CanWriteField "combinedImageSamplerDescriptorCount"+ VkSamplerYcbcrConversionImageFormatProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionImageFormatProperties, combinedImageSamplerDescriptorCount}++instance Show VkSamplerYcbcrConversionImageFormatProperties where+ showsPrec d x+ = showString "VkSamplerYcbcrConversionImageFormatProperties {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "combinedImageSamplerDescriptorCount = " .+ showsPrec d (getField @"combinedImageSamplerDescriptorCount" x) .+ showChar '}'++-- | Alias for `VkSamplerYcbcrConversionImageFormatProperties`+type VkSamplerYcbcrConversionImageFormatPropertiesKHR =+ VkSamplerYcbcrConversionImageFormatProperties++-- | > typedef struct VkSamplerYcbcrConversionInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSamplerYcbcrConversion conversion;+-- > } VkSamplerYcbcrConversionInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo registry at www.khronos.org>+data VkSamplerYcbcrConversionInfo = VkSamplerYcbcrConversionInfo## Addr##+ ByteArray##++instance Eq VkSamplerYcbcrConversionInfo where+ (VkSamplerYcbcrConversionInfo## a _) ==+ x@(VkSamplerYcbcrConversionInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSamplerYcbcrConversionInfo where+ (VkSamplerYcbcrConversionInfo## a _) `compare`+ x@(VkSamplerYcbcrConversionInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSamplerYcbcrConversionInfo where+ sizeOf ~_ = #{size VkSamplerYcbcrConversionInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSamplerYcbcrConversionInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSamplerYcbcrConversionInfo where+ unsafeAddr (VkSamplerYcbcrConversionInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSamplerYcbcrConversionInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSamplerYcbcrConversionInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSamplerYcbcrConversionInfo where+ type StructFields VkSamplerYcbcrConversionInfo =+ '["sType", "pNext", "conversion"] -- ' closing tick for hsc2hs+ type CUnionType VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSamplerYcbcrConversionInfo =+ '[VkSamplerCreateInfo, VkImageViewCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSamplerYcbcrConversionInfo where+ type FieldType "sType" VkSamplerYcbcrConversionInfo =+ VkStructureType+ type FieldOptional "sType" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSamplerYcbcrConversionInfo =+ #{offset VkSamplerYcbcrConversionInfo, sType}+ type FieldIsArray "sType" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSamplerYcbcrConversionInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSamplerYcbcrConversionInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSamplerYcbcrConversionInfo where+ type FieldType "pNext" VkSamplerYcbcrConversionInfo = Ptr Void+ type FieldOptional "pNext" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSamplerYcbcrConversionInfo =+ #{offset VkSamplerYcbcrConversionInfo, pNext}+ type FieldIsArray "pNext" VkSamplerYcbcrConversionInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSamplerYcbcrConversionInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSamplerYcbcrConversionInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "conversion" VkSamplerYcbcrConversionInfo where+ type FieldType "conversion" VkSamplerYcbcrConversionInfo =+ VkSamplerYcbcrConversion+ type FieldOptional "conversion" VkSamplerYcbcrConversionInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "conversion" VkSamplerYcbcrConversionInfo =+ #{offset VkSamplerYcbcrConversionInfo, conversion}+ type FieldIsArray "conversion" VkSamplerYcbcrConversionInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSamplerYcbcrConversionInfo, conversion}++instance {-# OVERLAPPING #-}+ CanReadField "conversion" VkSamplerYcbcrConversionInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSamplerYcbcrConversionInfo, conversion})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSamplerYcbcrConversionInfo, conversion}++instance {-# OVERLAPPING #-}+ CanWriteField "conversion" VkSamplerYcbcrConversionInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSamplerYcbcrConversionInfo, conversion}++instance Show VkSamplerYcbcrConversionInfo where+ showsPrec d x+ = showString "VkSamplerYcbcrConversionInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "conversion = " .+ showsPrec d (getField @"conversion" x) . showChar '}'++-- | Alias for `VkSamplerYcbcrConversionInfo`+type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo
@@ -0,0 +1,381 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Semaphore+ (VkSemaphoreCreateInfo(..), VkSemaphoreGetFdInfoKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkSemaphoreCreateFlags)+import Graphics.Vulkan.Types.Enum.External (VkExternalSemaphoreHandleTypeFlagBits)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkSemaphore)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSemaphoreCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSemaphoreCreateFlags flags;+-- > } VkSemaphoreCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreCreateInfo VkSemaphoreCreateInfo registry at www.khronos.org>+data VkSemaphoreCreateInfo = VkSemaphoreCreateInfo## Addr##+ ByteArray##++instance Eq VkSemaphoreCreateInfo where+ (VkSemaphoreCreateInfo## a _) == x@(VkSemaphoreCreateInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSemaphoreCreateInfo where+ (VkSemaphoreCreateInfo## a _) `compare`+ x@(VkSemaphoreCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSemaphoreCreateInfo where+ sizeOf ~_ = #{size VkSemaphoreCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSemaphoreCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSemaphoreCreateInfo where+ unsafeAddr (VkSemaphoreCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSemaphoreCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSemaphoreCreateInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSemaphoreCreateInfo where+ type StructFields VkSemaphoreCreateInfo =+ '["sType", "pNext", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSemaphoreCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkSemaphoreCreateInfo+ where+ type FieldType "sType" VkSemaphoreCreateInfo = VkStructureType+ type FieldOptional "sType" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSemaphoreCreateInfo =+ #{offset VkSemaphoreCreateInfo, sType}+ type FieldIsArray "sType" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSemaphoreCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSemaphoreCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreCreateInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkSemaphoreCreateInfo+ where+ type FieldType "pNext" VkSemaphoreCreateInfo = Ptr Void+ type FieldOptional "pNext" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSemaphoreCreateInfo =+ #{offset VkSemaphoreCreateInfo, pNext}+ type FieldIsArray "pNext" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSemaphoreCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSemaphoreCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreCreateInfo, pNext}++instance {-# OVERLAPPING #-} HasField "flags" VkSemaphoreCreateInfo+ where+ type FieldType "flags" VkSemaphoreCreateInfo =+ VkSemaphoreCreateFlags+ type FieldOptional "flags" VkSemaphoreCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSemaphoreCreateInfo =+ #{offset VkSemaphoreCreateInfo, flags}+ type FieldIsArray "flags" VkSemaphoreCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSemaphoreCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSemaphoreCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSemaphoreCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreCreateInfo, flags}++instance Show VkSemaphoreCreateInfo where+ showsPrec d x+ = showString "VkSemaphoreCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | > typedef struct VkSemaphoreGetFdInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSemaphore semaphore;+-- > VkExternalSemaphoreHandleTypeFlagBits handleType;+-- > } VkSemaphoreGetFdInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSemaphoreGetFdInfoKHR VkSemaphoreGetFdInfoKHR registry at www.khronos.org>+data VkSemaphoreGetFdInfoKHR = VkSemaphoreGetFdInfoKHR## Addr##+ ByteArray##++instance Eq VkSemaphoreGetFdInfoKHR where+ (VkSemaphoreGetFdInfoKHR## a _) == x@(VkSemaphoreGetFdInfoKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSemaphoreGetFdInfoKHR where+ (VkSemaphoreGetFdInfoKHR## a _) `compare`+ x@(VkSemaphoreGetFdInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSemaphoreGetFdInfoKHR where+ sizeOf ~_ = #{size VkSemaphoreGetFdInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSemaphoreGetFdInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSemaphoreGetFdInfoKHR where+ unsafeAddr (VkSemaphoreGetFdInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSemaphoreGetFdInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSemaphoreGetFdInfoKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSemaphoreGetFdInfoKHR where+ type StructFields VkSemaphoreGetFdInfoKHR =+ '["sType", "pNext", "semaphore", "handleType"] -- ' closing tick for hsc2hs+ type CUnionType VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSemaphoreGetFdInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSemaphoreGetFdInfoKHR where+ type FieldType "sType" VkSemaphoreGetFdInfoKHR = VkStructureType+ type FieldOptional "sType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSemaphoreGetFdInfoKHR =+ #{offset VkSemaphoreGetFdInfoKHR, sType}+ type FieldIsArray "sType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSemaphoreGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSemaphoreGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSemaphoreGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSemaphoreGetFdInfoKHR where+ type FieldType "pNext" VkSemaphoreGetFdInfoKHR = Ptr Void+ type FieldOptional "pNext" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSemaphoreGetFdInfoKHR =+ #{offset VkSemaphoreGetFdInfoKHR, pNext}+ type FieldIsArray "pNext" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSemaphoreGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSemaphoreGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSemaphoreGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "semaphore" VkSemaphoreGetFdInfoKHR where+ type FieldType "semaphore" VkSemaphoreGetFdInfoKHR = VkSemaphore+ type FieldOptional "semaphore" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "semaphore" VkSemaphoreGetFdInfoKHR =+ #{offset VkSemaphoreGetFdInfoKHR, semaphore}+ type FieldIsArray "semaphore" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSemaphoreGetFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanReadField "semaphore" VkSemaphoreGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, semaphore})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ CanWriteField "semaphore" VkSemaphoreGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, semaphore}++instance {-# OVERLAPPING #-}+ HasField "handleType" VkSemaphoreGetFdInfoKHR where+ type FieldType "handleType" VkSemaphoreGetFdInfoKHR =+ VkExternalSemaphoreHandleTypeFlagBits+ type FieldOptional "handleType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "handleType" VkSemaphoreGetFdInfoKHR =+ #{offset VkSemaphoreGetFdInfoKHR, handleType}+ type FieldIsArray "handleType" VkSemaphoreGetFdInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSemaphoreGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanReadField "handleType" VkSemaphoreGetFdInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSemaphoreGetFdInfoKHR, handleType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSemaphoreGetFdInfoKHR, handleType}++instance {-# OVERLAPPING #-}+ CanWriteField "handleType" VkSemaphoreGetFdInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSemaphoreGetFdInfoKHR, handleType}++instance Show VkSemaphoreGetFdInfoKHR where+ showsPrec d x+ = showString "VkSemaphoreGetFdInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "semaphore = " .+ showsPrec d (getField @"semaphore" x) .+ showString ", " .+ showString "handleType = " .+ showsPrec d (getField @"handleType" x) . showChar '}'
@@ -0,0 +1,1134 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE UndecidableInstances #-}+module Graphics.Vulkan.Types.Struct.Shader+ (VkShaderModuleCreateInfo(..),+ VkShaderModuleValidationCacheCreateInfoEXT(..),+ VkShaderResourceUsageAMD(..), VkShaderStatisticsInfoAMD(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ Proxy##,+ byteArrayContents##,+ plusAddr##, proxy##)+import GHC.TypeLits (KnownNat, natVal') -- ' closing tick for hsc2hs+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkShaderModuleCreateFlags)+import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkValidationCacheEXT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkShaderModuleCreateInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkShaderModuleCreateFlags flags;+-- > size_t codeSize;+-- > const uint32_t* pCode;+-- > } VkShaderModuleCreateInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleCreateInfo VkShaderModuleCreateInfo registry at www.khronos.org>+data VkShaderModuleCreateInfo = VkShaderModuleCreateInfo## Addr##+ ByteArray##++instance Eq VkShaderModuleCreateInfo where+ (VkShaderModuleCreateInfo## a _) ==+ x@(VkShaderModuleCreateInfo## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkShaderModuleCreateInfo where+ (VkShaderModuleCreateInfo## a _) `compare`+ x@(VkShaderModuleCreateInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkShaderModuleCreateInfo where+ sizeOf ~_ = #{size VkShaderModuleCreateInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkShaderModuleCreateInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkShaderModuleCreateInfo where+ unsafeAddr (VkShaderModuleCreateInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkShaderModuleCreateInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkShaderModuleCreateInfo## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkShaderModuleCreateInfo where+ type StructFields VkShaderModuleCreateInfo =+ '["sType", "pNext", "flags", "codeSize", "pCode"] -- ' closing tick for hsc2hs+ type CUnionType VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkShaderModuleCreateInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkShaderModuleCreateInfo where+ type FieldType "sType" VkShaderModuleCreateInfo = VkStructureType+ type FieldOptional "sType" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkShaderModuleCreateInfo =+ #{offset VkShaderModuleCreateInfo, sType}+ type FieldIsArray "sType" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkShaderModuleCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkShaderModuleCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleCreateInfo, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkShaderModuleCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleCreateInfo, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkShaderModuleCreateInfo where+ type FieldType "pNext" VkShaderModuleCreateInfo = Ptr Void+ type FieldOptional "pNext" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkShaderModuleCreateInfo =+ #{offset VkShaderModuleCreateInfo, pNext}+ type FieldIsArray "pNext" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkShaderModuleCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkShaderModuleCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkShaderModuleCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleCreateInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkShaderModuleCreateInfo where+ type FieldType "flags" VkShaderModuleCreateInfo =+ VkShaderModuleCreateFlags+ type FieldOptional "flags" VkShaderModuleCreateInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkShaderModuleCreateInfo =+ #{offset VkShaderModuleCreateInfo, flags}+ type FieldIsArray "flags" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkShaderModuleCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkShaderModuleCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleCreateInfo, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkShaderModuleCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleCreateInfo, flags}++instance {-# OVERLAPPING #-}+ HasField "codeSize" VkShaderModuleCreateInfo where+ type FieldType "codeSize" VkShaderModuleCreateInfo = CSize+ type FieldOptional "codeSize" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "codeSize" VkShaderModuleCreateInfo =+ #{offset VkShaderModuleCreateInfo, codeSize}+ type FieldIsArray "codeSize" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderModuleCreateInfo, codeSize}++instance {-# OVERLAPPING #-}+ CanReadField "codeSize" VkShaderModuleCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, codeSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleCreateInfo, codeSize}++instance {-# OVERLAPPING #-}+ CanWriteField "codeSize" VkShaderModuleCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleCreateInfo, codeSize}++instance {-# OVERLAPPING #-}+ HasField "pCode" VkShaderModuleCreateInfo where+ type FieldType "pCode" VkShaderModuleCreateInfo = Ptr Word32+ type FieldOptional "pCode" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pCode" VkShaderModuleCreateInfo =+ #{offset VkShaderModuleCreateInfo, pCode}+ type FieldIsArray "pCode" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkShaderModuleCreateInfo, pCode}++instance {-# OVERLAPPING #-}+ CanReadField "pCode" VkShaderModuleCreateInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleCreateInfo, pCode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleCreateInfo, pCode}++instance {-# OVERLAPPING #-}+ CanWriteField "pCode" VkShaderModuleCreateInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleCreateInfo, pCode}++instance Show VkShaderModuleCreateInfo where+ showsPrec d x+ = showString "VkShaderModuleCreateInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "codeSize = " .+ showsPrec d (getField @"codeSize" x) .+ showString ", " .+ showString "pCode = " .+ showsPrec d (getField @"pCode" x) . showChar '}'++-- | > typedef struct VkShaderModuleValidationCacheCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkValidationCacheEXT validationCache;+-- > } VkShaderModuleValidationCacheCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT registry at www.khronos.org>+data VkShaderModuleValidationCacheCreateInfoEXT = VkShaderModuleValidationCacheCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkShaderModuleValidationCacheCreateInfoEXT where+ (VkShaderModuleValidationCacheCreateInfoEXT## a _) ==+ x@(VkShaderModuleValidationCacheCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkShaderModuleValidationCacheCreateInfoEXT where+ (VkShaderModuleValidationCacheCreateInfoEXT## a _) `compare`+ x@(VkShaderModuleValidationCacheCreateInfoEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkShaderModuleValidationCacheCreateInfoEXT where+ sizeOf ~_+ = #{size VkShaderModuleValidationCacheCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkShaderModuleValidationCacheCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkShaderModuleValidationCacheCreateInfoEXT+ where+ unsafeAddr (VkShaderModuleValidationCacheCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkShaderModuleValidationCacheCreateInfoEXT## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkShaderModuleValidationCacheCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkShaderModuleValidationCacheCreateInfoEXT+ where+ type StructFields VkShaderModuleValidationCacheCreateInfoEXT =+ '["sType", "pNext", "validationCache"] -- ' closing tick for hsc2hs+ type CUnionType VkShaderModuleValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkShaderModuleValidationCacheCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkShaderModuleValidationCacheCreateInfoEXT =+ '[VkShaderModuleCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkShaderModuleValidationCacheCreateInfoEXT where+ type FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType"+ VkShaderModuleValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkShaderModuleValidationCacheCreateInfoEXT+ =+ #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}+ type FieldIsArray "sType"+ VkShaderModuleValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkShaderModuleValidationCacheCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkShaderModuleValidationCacheCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkShaderModuleValidationCacheCreateInfoEXT where+ type FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT =+ Ptr Void+ type FieldOptional "pNext"+ VkShaderModuleValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkShaderModuleValidationCacheCreateInfoEXT+ =+ #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}+ type FieldIsArray "pNext"+ VkShaderModuleValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkShaderModuleValidationCacheCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkShaderModuleValidationCacheCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ where+ type FieldType "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ = VkValidationCacheEXT+ type FieldOptional "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ =+ #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}+ type FieldIsArray "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}++instance {-# OVERLAPPING #-}+ CanReadField "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}++instance {-# OVERLAPPING #-}+ CanWriteField "validationCache"+ VkShaderModuleValidationCacheCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderModuleValidationCacheCreateInfoEXT, validationCache}++instance Show VkShaderModuleValidationCacheCreateInfoEXT where+ showsPrec d x+ = showString "VkShaderModuleValidationCacheCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "validationCache = " .+ showsPrec d (getField @"validationCache" x) . showChar '}'++-- | > typedef struct VkShaderResourceUsageAMD {+-- > uint32_t numUsedVgprs;+-- > uint32_t numUsedSgprs;+-- > uint32_t ldsSizePerLocalWorkGroup;+-- > size_t ldsUsageSizeInBytes;+-- > size_t scratchMemUsageInBytes;+-- > } VkShaderResourceUsageAMD;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderResourceUsageAMD VkShaderResourceUsageAMD registry at www.khronos.org>+data VkShaderResourceUsageAMD = VkShaderResourceUsageAMD## Addr##+ ByteArray##++instance Eq VkShaderResourceUsageAMD where+ (VkShaderResourceUsageAMD## a _) ==+ x@(VkShaderResourceUsageAMD## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkShaderResourceUsageAMD where+ (VkShaderResourceUsageAMD## a _) `compare`+ x@(VkShaderResourceUsageAMD## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkShaderResourceUsageAMD where+ sizeOf ~_ = #{size VkShaderResourceUsageAMD}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkShaderResourceUsageAMD}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkShaderResourceUsageAMD where+ unsafeAddr (VkShaderResourceUsageAMD## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkShaderResourceUsageAMD## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkShaderResourceUsageAMD## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkShaderResourceUsageAMD where+ type StructFields VkShaderResourceUsageAMD =+ '["numUsedVgprs", "numUsedSgprs", "ldsSizePerLocalWorkGroup", -- ' closing tick for hsc2hs+ "ldsUsageSizeInBytes", "scratchMemUsageInBytes"]+ type CUnionType VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkShaderResourceUsageAMD = 'True -- ' closing tick for hsc2hs+ type StructExtends VkShaderResourceUsageAMD = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "numUsedVgprs" VkShaderResourceUsageAMD where+ type FieldType "numUsedVgprs" VkShaderResourceUsageAMD = Word32+ type FieldOptional "numUsedVgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs+ type FieldOffset "numUsedVgprs" VkShaderResourceUsageAMD =+ #{offset VkShaderResourceUsageAMD, numUsedVgprs}+ type FieldIsArray "numUsedVgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderResourceUsageAMD, numUsedVgprs}++instance {-# OVERLAPPING #-}+ CanReadField "numUsedVgprs" VkShaderResourceUsageAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, numUsedVgprs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderResourceUsageAMD, numUsedVgprs}++instance {-# OVERLAPPING #-}+ CanWriteField "numUsedVgprs" VkShaderResourceUsageAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderResourceUsageAMD, numUsedVgprs}++instance {-# OVERLAPPING #-}+ HasField "numUsedSgprs" VkShaderResourceUsageAMD where+ type FieldType "numUsedSgprs" VkShaderResourceUsageAMD = Word32+ type FieldOptional "numUsedSgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs+ type FieldOffset "numUsedSgprs" VkShaderResourceUsageAMD =+ #{offset VkShaderResourceUsageAMD, numUsedSgprs}+ type FieldIsArray "numUsedSgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderResourceUsageAMD, numUsedSgprs}++instance {-# OVERLAPPING #-}+ CanReadField "numUsedSgprs" VkShaderResourceUsageAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, numUsedSgprs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderResourceUsageAMD, numUsedSgprs}++instance {-# OVERLAPPING #-}+ CanWriteField "numUsedSgprs" VkShaderResourceUsageAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderResourceUsageAMD, numUsedSgprs}++instance {-# OVERLAPPING #-}+ HasField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD where+ type FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD+ = Word32+ type FieldOptional "ldsSizePerLocalWorkGroup"+ VkShaderResourceUsageAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "ldsSizePerLocalWorkGroup"+ VkShaderResourceUsageAMD+ =+ #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}+ type FieldIsArray "ldsSizePerLocalWorkGroup"+ VkShaderResourceUsageAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}++instance {-# OVERLAPPING #-}+ CanReadField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}++instance {-# OVERLAPPING #-}+ CanWriteField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderResourceUsageAMD, ldsSizePerLocalWorkGroup}++instance {-# OVERLAPPING #-}+ HasField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where+ type FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =+ CSize+ type FieldOptional "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =+ #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}+ type FieldIsArray "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}++instance {-# OVERLAPPING #-}+ CanReadField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}++instance {-# OVERLAPPING #-}+ CanWriteField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderResourceUsageAMD, ldsUsageSizeInBytes}++instance {-# OVERLAPPING #-}+ HasField "scratchMemUsageInBytes" VkShaderResourceUsageAMD where+ type FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD =+ CSize+ type FieldOptional "scratchMemUsageInBytes"+ VkShaderResourceUsageAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "scratchMemUsageInBytes" VkShaderResourceUsageAMD+ =+ #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}+ type FieldIsArray "scratchMemUsageInBytes" VkShaderResourceUsageAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}++instance {-# OVERLAPPING #-}+ CanReadField "scratchMemUsageInBytes" VkShaderResourceUsageAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}++instance {-# OVERLAPPING #-}+ CanWriteField "scratchMemUsageInBytes" VkShaderResourceUsageAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderResourceUsageAMD, scratchMemUsageInBytes}++instance Show VkShaderResourceUsageAMD where+ showsPrec d x+ = showString "VkShaderResourceUsageAMD {" .+ showString "numUsedVgprs = " .+ showsPrec d (getField @"numUsedVgprs" x) .+ showString ", " .+ showString "numUsedSgprs = " .+ showsPrec d (getField @"numUsedSgprs" x) .+ showString ", " .+ showString "ldsSizePerLocalWorkGroup = " .+ showsPrec d (getField @"ldsSizePerLocalWorkGroup" x) .+ showString ", " .+ showString "ldsUsageSizeInBytes = " .+ showsPrec d (getField @"ldsUsageSizeInBytes" x) .+ showString ", " .+ showString "scratchMemUsageInBytes = " .+ showsPrec d (getField @"scratchMemUsageInBytes" x) .+ showChar '}'++-- | > typedef struct VkShaderStatisticsInfoAMD {+-- > VkShaderStageFlags shaderStageMask;+-- > VkShaderResourceUsageAMD resourceUsage;+-- > uint32_t numPhysicalVgprs;+-- > uint32_t numPhysicalSgprs;+-- > uint32_t numAvailableVgprs;+-- > uint32_t numAvailableSgprs;+-- > uint32_t computeWorkGroupSize[3];+-- > } VkShaderStatisticsInfoAMD;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD registry at www.khronos.org>+data VkShaderStatisticsInfoAMD = VkShaderStatisticsInfoAMD## Addr##+ ByteArray##++instance Eq VkShaderStatisticsInfoAMD where+ (VkShaderStatisticsInfoAMD## a _) ==+ x@(VkShaderStatisticsInfoAMD## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkShaderStatisticsInfoAMD where+ (VkShaderStatisticsInfoAMD## a _) `compare`+ x@(VkShaderStatisticsInfoAMD## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkShaderStatisticsInfoAMD where+ sizeOf ~_ = #{size VkShaderStatisticsInfoAMD}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkShaderStatisticsInfoAMD}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkShaderStatisticsInfoAMD where+ unsafeAddr (VkShaderStatisticsInfoAMD## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkShaderStatisticsInfoAMD## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkShaderStatisticsInfoAMD## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkShaderStatisticsInfoAMD where+ type StructFields VkShaderStatisticsInfoAMD =+ '["shaderStageMask", "resourceUsage", "numPhysicalVgprs", -- ' closing tick for hsc2hs+ "numPhysicalSgprs", "numAvailableVgprs", "numAvailableSgprs",+ "computeWorkGroupSize"]+ type CUnionType VkShaderStatisticsInfoAMD = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkShaderStatisticsInfoAMD = 'True -- ' closing tick for hsc2hs+ type StructExtends VkShaderStatisticsInfoAMD = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "shaderStageMask" VkShaderStatisticsInfoAMD where+ type FieldType "shaderStageMask" VkShaderStatisticsInfoAMD =+ VkShaderStageFlags+ type FieldOptional "shaderStageMask" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "shaderStageMask" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, shaderStageMask}+ type FieldIsArray "shaderStageMask" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, shaderStageMask}++instance {-# OVERLAPPING #-}+ CanReadField "shaderStageMask" VkShaderStatisticsInfoAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, shaderStageMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderStatisticsInfoAMD, shaderStageMask}++instance {-# OVERLAPPING #-}+ CanWriteField "shaderStageMask" VkShaderStatisticsInfoAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, shaderStageMask}++instance {-# OVERLAPPING #-}+ HasField "resourceUsage" VkShaderStatisticsInfoAMD where+ type FieldType "resourceUsage" VkShaderStatisticsInfoAMD =+ VkShaderResourceUsageAMD+ type FieldOptional "resourceUsage" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "resourceUsage" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, resourceUsage}+ type FieldIsArray "resourceUsage" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, resourceUsage}++instance {-# OVERLAPPING #-}+ CanReadField "resourceUsage" VkShaderStatisticsInfoAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, resourceUsage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderStatisticsInfoAMD, resourceUsage}++instance {-# OVERLAPPING #-}+ CanWriteField "resourceUsage" VkShaderStatisticsInfoAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, resourceUsage}++instance {-# OVERLAPPING #-}+ HasField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where+ type FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD =+ Word32+ type FieldOptional "numPhysicalVgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "numPhysicalVgprs" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}+ type FieldIsArray "numPhysicalVgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}++instance {-# OVERLAPPING #-}+ CanReadField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}++instance {-# OVERLAPPING #-}+ CanWriteField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalVgprs}++instance {-# OVERLAPPING #-}+ HasField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where+ type FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD =+ Word32+ type FieldOptional "numPhysicalSgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "numPhysicalSgprs" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}+ type FieldIsArray "numPhysicalSgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}++instance {-# OVERLAPPING #-}+ CanReadField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}++instance {-# OVERLAPPING #-}+ CanWriteField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numPhysicalSgprs}++instance {-# OVERLAPPING #-}+ HasField "numAvailableVgprs" VkShaderStatisticsInfoAMD where+ type FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD =+ Word32+ type FieldOptional "numAvailableVgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "numAvailableVgprs" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}+ type FieldIsArray "numAvailableVgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}++instance {-# OVERLAPPING #-}+ CanReadField "numAvailableVgprs" VkShaderStatisticsInfoAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}++instance {-# OVERLAPPING #-}+ CanWriteField "numAvailableVgprs" VkShaderStatisticsInfoAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableVgprs}++instance {-# OVERLAPPING #-}+ HasField "numAvailableSgprs" VkShaderStatisticsInfoAMD where+ type FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD =+ Word32+ type FieldOptional "numAvailableSgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "numAvailableSgprs" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}+ type FieldIsArray "numAvailableSgprs" VkShaderStatisticsInfoAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}++instance {-# OVERLAPPING #-}+ CanReadField "numAvailableSgprs" VkShaderStatisticsInfoAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}++instance {-# OVERLAPPING #-}+ CanWriteField "numAvailableSgprs" VkShaderStatisticsInfoAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkShaderStatisticsInfoAMD, numAvailableSgprs}++instance {-# OVERLAPPING #-}+ HasField "computeWorkGroupSize" VkShaderStatisticsInfoAMD where+ type FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD =+ Word32+ type FieldOptional "computeWorkGroupSize" VkShaderStatisticsInfoAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "computeWorkGroupSize" VkShaderStatisticsInfoAMD =+ #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}+ type FieldIsArray "computeWorkGroupSize" VkShaderStatisticsInfoAMD+ = 'True -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "computeWorkGroupSize" idx+ VkShaderStatisticsInfoAMD) =>+ CanReadFieldArray "computeWorkGroupSize" idx+ VkShaderStatisticsInfoAMD+ where+ {-# SPECIALISE instance+ CanReadFieldArray "computeWorkGroupSize" 0+ VkShaderStatisticsInfoAMD+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "computeWorkGroupSize" 1+ VkShaderStatisticsInfoAMD+ #-}++ {-# SPECIALISE instance+ CanReadFieldArray "computeWorkGroupSize" 2+ VkShaderStatisticsInfoAMD+ #-}+ type FieldArrayLength "computeWorkGroupSize"+ VkShaderStatisticsInfoAMD+ = 3++ {-# INLINE fieldArrayLength #-}+ fieldArrayLength = 3++ {-# INLINE getFieldArray #-}+ getFieldArray = f+ where {-# NOINLINE f #-}+ f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)+ off+ = #{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx)) -- ' closing tick for hsc2hs++ {-# INLINE readFieldArray #-}+ readFieldArray p+ = peekByteOff p+ (#{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ (KnownNat idx,+ IndexInBounds "computeWorkGroupSize" idx+ VkShaderStatisticsInfoAMD) =>+ CanWriteFieldArray "computeWorkGroupSize" idx+ VkShaderStatisticsInfoAMD+ where+ {-# SPECIALISE instance+ CanWriteFieldArray "computeWorkGroupSize" 0+ VkShaderStatisticsInfoAMD+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "computeWorkGroupSize" 1+ VkShaderStatisticsInfoAMD+ #-}++ {-# SPECIALISE instance+ CanWriteFieldArray "computeWorkGroupSize" 2+ VkShaderStatisticsInfoAMD+ #-}++ {-# INLINE writeFieldArray #-}+ writeFieldArray p+ = pokeByteOff p+ (#{offset VkShaderStatisticsInfoAMD, computeWorkGroupSize}+ ++ sizeOf (undefined :: Word32) *+ fromInteger (natVal' (proxy## :: Proxy## idx))) -- ' closing tick for hsc2hs++instance Show VkShaderStatisticsInfoAMD where+ showsPrec d x+ = showString "VkShaderStatisticsInfoAMD {" .+ showString "shaderStageMask = " .+ showsPrec d (getField @"shaderStageMask" x) .+ showString ", " .+ showString "resourceUsage = " .+ showsPrec d (getField @"resourceUsage" x) .+ showString ", " .+ showString "numPhysicalVgprs = " .+ showsPrec d (getField @"numPhysicalVgprs" x) .+ showString ", " .+ showString "numPhysicalSgprs = " .+ showsPrec d (getField @"numPhysicalSgprs" x) .+ showString ", " .+ showString "numAvailableVgprs = " .+ showsPrec d (getField @"numAvailableVgprs" x) .+ showString ", " .+ showString "numAvailableSgprs = " .+ showsPrec d (getField @"numAvailableSgprs" x) .+ showString ", " .+ (showString "computeWorkGroupSize = [" .+ showsPrec d+ (let s = sizeOf+ (undefined ::+ FieldType+ "computeWorkGroupSize"+ VkShaderStatisticsInfoAMD)+ o = fieldOffset @"computeWorkGroupSize"+ @VkShaderStatisticsInfoAMD+ f i+ = peekByteOff (unsafePtr x) i ::+ IO+ (FieldType+ "computeWorkGroupSize"+ VkShaderStatisticsInfoAMD)+ in+ unsafeDupablePerformIO . mapM f $+ map (\ i -> o + i * s) [0 .. 3 - 1])+ . showChar ']')+ . showChar '}'
@@ -0,0 +1,213 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR+ (VkSharedPresentSurfaceCapabilitiesKHR(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Image (VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Surface (VkSurfaceCapabilities2KHR)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSharedPresentSurfaceCapabilitiesKHR {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkImageUsageFlags sharedPresentSupportedUsageFlags;+-- > } VkSharedPresentSurfaceCapabilitiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSharedPresentSurfaceCapabilitiesKHR VkSharedPresentSurfaceCapabilitiesKHR registry at www.khronos.org>+data VkSharedPresentSurfaceCapabilitiesKHR = VkSharedPresentSurfaceCapabilitiesKHR## Addr##+ ByteArray##++instance Eq VkSharedPresentSurfaceCapabilitiesKHR where+ (VkSharedPresentSurfaceCapabilitiesKHR## a _) ==+ x@(VkSharedPresentSurfaceCapabilitiesKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSharedPresentSurfaceCapabilitiesKHR where+ (VkSharedPresentSurfaceCapabilitiesKHR## a _) `compare`+ x@(VkSharedPresentSurfaceCapabilitiesKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSharedPresentSurfaceCapabilitiesKHR where+ sizeOf ~_+ = #{size VkSharedPresentSurfaceCapabilitiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSharedPresentSurfaceCapabilitiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSharedPresentSurfaceCapabilitiesKHR+ where+ unsafeAddr (VkSharedPresentSurfaceCapabilitiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSharedPresentSurfaceCapabilitiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSharedPresentSurfaceCapabilitiesKHR##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSharedPresentSurfaceCapabilitiesKHR where+ type StructFields VkSharedPresentSurfaceCapabilitiesKHR =+ '["sType", "pNext", "sharedPresentSupportedUsageFlags"] -- ' closing tick for hsc2hs+ type CUnionType VkSharedPresentSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSharedPresentSurfaceCapabilitiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSharedPresentSurfaceCapabilitiesKHR =+ '[VkSurfaceCapabilities2KHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSharedPresentSurfaceCapabilitiesKHR where+ type FieldType "sType" VkSharedPresentSurfaceCapabilitiesKHR =+ VkStructureType+ type FieldOptional "sType" VkSharedPresentSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSharedPresentSurfaceCapabilitiesKHR =+ #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}+ type FieldIsArray "sType" VkSharedPresentSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSharedPresentSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSharedPresentSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSharedPresentSurfaceCapabilitiesKHR where+ type FieldType "pNext" VkSharedPresentSurfaceCapabilitiesKHR =+ Ptr Void+ type FieldOptional "pNext" VkSharedPresentSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSharedPresentSurfaceCapabilitiesKHR =+ #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}+ type FieldIsArray "pNext" VkSharedPresentSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSharedPresentSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSharedPresentSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ where+ type FieldType "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ = VkImageUsageFlags+ type FieldOptional "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ =+ #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}+ type FieldIsArray "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "sharedPresentSupportedUsageFlags"+ VkSharedPresentSurfaceCapabilitiesKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSharedPresentSurfaceCapabilitiesKHR, sharedPresentSupportedUsageFlags}++instance Show VkSharedPresentSurfaceCapabilitiesKHR where+ showsPrec d x+ = showString "VkSharedPresentSurfaceCapabilitiesKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "sharedPresentSupportedUsageFlags = " .+ showsPrec d (getField @"sharedPresentSupportedUsageFlags" x) .+ showChar '}'
@@ -0,0 +1,1875 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Sparse+ (VkSparseBufferMemoryBindInfo(..),+ VkSparseImageFormatProperties(..),+ VkSparseImageFormatProperties2(..),+ VkSparseImageFormatProperties2KHR, VkSparseImageMemoryBind(..),+ VkSparseImageMemoryBindInfo(..),+ VkSparseImageMemoryRequirements(..),+ VkSparseImageMemoryRequirements2(..),+ VkSparseImageMemoryRequirements2KHR,+ VkSparseImageOpaqueMemoryBindInfo(..), VkSparseMemoryBind(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlags)+import Graphics.Vulkan.Types.Enum.Sparse (VkSparseImageFormatFlags,+ VkSparseMemoryBindFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkBuffer,+ VkDeviceMemory,+ VkImage)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent3D)+import Graphics.Vulkan.Types.Struct.Image (VkImageSubresource)+import Graphics.Vulkan.Types.Struct.Offset (VkOffset3D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSparseBufferMemoryBindInfo {+-- > VkBuffer buffer;+-- > uint32_t bindCount;+-- > const VkSparseMemoryBind* pBinds;+-- > } VkSparseBufferMemoryBindInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo registry at www.khronos.org>+data VkSparseBufferMemoryBindInfo = VkSparseBufferMemoryBindInfo## Addr##+ ByteArray##++instance Eq VkSparseBufferMemoryBindInfo where+ (VkSparseBufferMemoryBindInfo## a _) ==+ x@(VkSparseBufferMemoryBindInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseBufferMemoryBindInfo where+ (VkSparseBufferMemoryBindInfo## a _) `compare`+ x@(VkSparseBufferMemoryBindInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseBufferMemoryBindInfo where+ sizeOf ~_ = #{size VkSparseBufferMemoryBindInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSparseBufferMemoryBindInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseBufferMemoryBindInfo where+ unsafeAddr (VkSparseBufferMemoryBindInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseBufferMemoryBindInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseBufferMemoryBindInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseBufferMemoryBindInfo where+ type StructFields VkSparseBufferMemoryBindInfo =+ '["buffer", "bindCount", "pBinds"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSparseBufferMemoryBindInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "buffer" VkSparseBufferMemoryBindInfo where+ type FieldType "buffer" VkSparseBufferMemoryBindInfo = VkBuffer+ type FieldOptional "buffer" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "buffer" VkSparseBufferMemoryBindInfo =+ #{offset VkSparseBufferMemoryBindInfo, buffer}+ type FieldIsArray "buffer" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseBufferMemoryBindInfo, buffer}++instance {-# OVERLAPPING #-}+ CanReadField "buffer" VkSparseBufferMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseBufferMemoryBindInfo, buffer})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseBufferMemoryBindInfo, buffer}++instance {-# OVERLAPPING #-}+ CanWriteField "buffer" VkSparseBufferMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseBufferMemoryBindInfo, buffer}++instance {-# OVERLAPPING #-}+ HasField "bindCount" VkSparseBufferMemoryBindInfo where+ type FieldType "bindCount" VkSparseBufferMemoryBindInfo = Word32+ type FieldOptional "bindCount" VkSparseBufferMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "bindCount" VkSparseBufferMemoryBindInfo =+ #{offset VkSparseBufferMemoryBindInfo, bindCount}+ type FieldIsArray "bindCount" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseBufferMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ CanReadField "bindCount" VkSparseBufferMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseBufferMemoryBindInfo, bindCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseBufferMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ CanWriteField "bindCount" VkSparseBufferMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseBufferMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ HasField "pBinds" VkSparseBufferMemoryBindInfo where+ type FieldType "pBinds" VkSparseBufferMemoryBindInfo =+ Ptr VkSparseMemoryBind+ type FieldOptional "pBinds" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pBinds" VkSparseBufferMemoryBindInfo =+ #{offset VkSparseBufferMemoryBindInfo, pBinds}+ type FieldIsArray "pBinds" VkSparseBufferMemoryBindInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseBufferMemoryBindInfo, pBinds}++instance {-# OVERLAPPING #-}+ CanReadField "pBinds" VkSparseBufferMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseBufferMemoryBindInfo, pBinds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseBufferMemoryBindInfo, pBinds}++instance {-# OVERLAPPING #-}+ CanWriteField "pBinds" VkSparseBufferMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseBufferMemoryBindInfo, pBinds}++instance Show VkSparseBufferMemoryBindInfo where+ showsPrec d x+ = showString "VkSparseBufferMemoryBindInfo {" .+ showString "buffer = " .+ showsPrec d (getField @"buffer" x) .+ showString ", " .+ showString "bindCount = " .+ showsPrec d (getField @"bindCount" x) .+ showString ", " .+ showString "pBinds = " .+ showsPrec d (getField @"pBinds" x) . showChar '}'++-- | > typedef struct VkSparseImageFormatProperties {+-- > VkImageAspectFlags aspectMask;+-- > VkExtent3D imageGranularity;+-- > VkSparseImageFormatFlags flags;+-- > } VkSparseImageFormatProperties;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageFormatProperties VkSparseImageFormatProperties registry at www.khronos.org>+data VkSparseImageFormatProperties = VkSparseImageFormatProperties## Addr##+ ByteArray##++instance Eq VkSparseImageFormatProperties where+ (VkSparseImageFormatProperties## a _) ==+ x@(VkSparseImageFormatProperties## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageFormatProperties where+ (VkSparseImageFormatProperties## a _) `compare`+ x@(VkSparseImageFormatProperties## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageFormatProperties where+ sizeOf ~_ = #{size VkSparseImageFormatProperties}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSparseImageFormatProperties}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageFormatProperties where+ unsafeAddr (VkSparseImageFormatProperties## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageFormatProperties## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageFormatProperties##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageFormatProperties where+ type StructFields VkSparseImageFormatProperties =+ '["aspectMask", "imageGranularity", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseImageFormatProperties = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageFormatProperties = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageFormatProperties = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "aspectMask" VkSparseImageFormatProperties where+ type FieldType "aspectMask" VkSparseImageFormatProperties =+ VkImageAspectFlags+ type FieldOptional "aspectMask" VkSparseImageFormatProperties =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "aspectMask" VkSparseImageFormatProperties =+ #{offset VkSparseImageFormatProperties, aspectMask}+ type FieldIsArray "aspectMask" VkSparseImageFormatProperties =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageFormatProperties, aspectMask}++instance {-# OVERLAPPING #-}+ CanReadField "aspectMask" VkSparseImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties, aspectMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageFormatProperties, aspectMask}++instance {-# OVERLAPPING #-}+ CanWriteField "aspectMask" VkSparseImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageFormatProperties, aspectMask}++instance {-# OVERLAPPING #-}+ HasField "imageGranularity" VkSparseImageFormatProperties where+ type FieldType "imageGranularity" VkSparseImageFormatProperties =+ VkExtent3D+ type FieldOptional "imageGranularity" VkSparseImageFormatProperties+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageGranularity" VkSparseImageFormatProperties =+ #{offset VkSparseImageFormatProperties, imageGranularity}+ type FieldIsArray "imageGranularity" VkSparseImageFormatProperties+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageFormatProperties, imageGranularity}++instance {-# OVERLAPPING #-}+ CanReadField "imageGranularity" VkSparseImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties, imageGranularity})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageFormatProperties, imageGranularity}++instance {-# OVERLAPPING #-}+ CanWriteField "imageGranularity" VkSparseImageFormatProperties+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageFormatProperties, imageGranularity}++instance {-# OVERLAPPING #-}+ HasField "flags" VkSparseImageFormatProperties where+ type FieldType "flags" VkSparseImageFormatProperties =+ VkSparseImageFormatFlags+ type FieldOptional "flags" VkSparseImageFormatProperties = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSparseImageFormatProperties =+ #{offset VkSparseImageFormatProperties, flags}+ type FieldIsArray "flags" VkSparseImageFormatProperties = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageFormatProperties, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSparseImageFormatProperties where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageFormatProperties, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSparseImageFormatProperties where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageFormatProperties, flags}++instance Show VkSparseImageFormatProperties where+ showsPrec d x+ = showString "VkSparseImageFormatProperties {" .+ showString "aspectMask = " .+ showsPrec d (getField @"aspectMask" x) .+ showString ", " .+ showString "imageGranularity = " .+ showsPrec d (getField @"imageGranularity" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | > typedef struct VkSparseImageFormatProperties2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkSparseImageFormatProperties properties;+-- > } VkSparseImageFormatProperties2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageFormatProperties2 VkSparseImageFormatProperties2 registry at www.khronos.org>+data VkSparseImageFormatProperties2 = VkSparseImageFormatProperties2## Addr##+ ByteArray##++instance Eq VkSparseImageFormatProperties2 where+ (VkSparseImageFormatProperties2## a _) ==+ x@(VkSparseImageFormatProperties2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageFormatProperties2 where+ (VkSparseImageFormatProperties2## a _) `compare`+ x@(VkSparseImageFormatProperties2## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageFormatProperties2 where+ sizeOf ~_ = #{size VkSparseImageFormatProperties2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSparseImageFormatProperties2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageFormatProperties2 where+ unsafeAddr (VkSparseImageFormatProperties2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageFormatProperties2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageFormatProperties2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageFormatProperties2 where+ type StructFields VkSparseImageFormatProperties2 =+ '["sType", "pNext", "properties"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageFormatProperties2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageFormatProperties2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSparseImageFormatProperties2 where+ type FieldType "sType" VkSparseImageFormatProperties2 =+ VkStructureType+ type FieldOptional "sType" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSparseImageFormatProperties2 =+ #{offset VkSparseImageFormatProperties2, sType}+ type FieldIsArray "sType" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSparseImageFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSparseImageFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageFormatProperties2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSparseImageFormatProperties2 where+ type FieldType "pNext" VkSparseImageFormatProperties2 = Ptr Void+ type FieldOptional "pNext" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSparseImageFormatProperties2 =+ #{offset VkSparseImageFormatProperties2, pNext}+ type FieldIsArray "pNext" VkSparseImageFormatProperties2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSparseImageFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSparseImageFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageFormatProperties2, pNext}++instance {-# OVERLAPPING #-}+ HasField "properties" VkSparseImageFormatProperties2 where+ type FieldType "properties" VkSparseImageFormatProperties2 =+ VkSparseImageFormatProperties+ type FieldOptional "properties" VkSparseImageFormatProperties2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "properties" VkSparseImageFormatProperties2 =+ #{offset VkSparseImageFormatProperties2, properties}+ type FieldIsArray "properties" VkSparseImageFormatProperties2 =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageFormatProperties2, properties}++instance {-# OVERLAPPING #-}+ CanReadField "properties" VkSparseImageFormatProperties2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageFormatProperties2, properties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageFormatProperties2, properties}++instance {-# OVERLAPPING #-}+ CanWriteField "properties" VkSparseImageFormatProperties2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageFormatProperties2, properties}++instance Show VkSparseImageFormatProperties2 where+ showsPrec d x+ = showString "VkSparseImageFormatProperties2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "properties = " .+ showsPrec d (getField @"properties" x) . showChar '}'++-- | Alias for `VkSparseImageFormatProperties2`+type VkSparseImageFormatProperties2KHR =+ VkSparseImageFormatProperties2++-- | > typedef struct VkSparseImageMemoryBind {+-- > VkImageSubresource subresource;+-- > VkOffset3D offset;+-- > VkExtent3D extent;+-- > VkDeviceMemory memory;+-- > VkDeviceSize memoryOffset;+-- > VkSparseMemoryBindFlagsflags;+-- > } VkSparseImageMemoryBind;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryBind VkSparseImageMemoryBind registry at www.khronos.org>+data VkSparseImageMemoryBind = VkSparseImageMemoryBind## Addr##+ ByteArray##++instance Eq VkSparseImageMemoryBind where+ (VkSparseImageMemoryBind## a _) == x@(VkSparseImageMemoryBind## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageMemoryBind where+ (VkSparseImageMemoryBind## a _) `compare`+ x@(VkSparseImageMemoryBind## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageMemoryBind where+ sizeOf ~_ = #{size VkSparseImageMemoryBind}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSparseImageMemoryBind}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageMemoryBind where+ unsafeAddr (VkSparseImageMemoryBind## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageMemoryBind## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageMemoryBind## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageMemoryBind where+ type StructFields VkSparseImageMemoryBind =+ '["subresource", "offset", "extent", "memory", "memoryOffset", -- ' closing tick for hsc2hs+ "flags"]+ type CUnionType VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageMemoryBind = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "subresource" VkSparseImageMemoryBind where+ type FieldType "subresource" VkSparseImageMemoryBind =+ VkImageSubresource+ type FieldOptional "subresource" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "subresource" VkSparseImageMemoryBind =+ #{offset VkSparseImageMemoryBind, subresource}+ type FieldIsArray "subresource" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryBind, subresource}++instance {-# OVERLAPPING #-}+ CanReadField "subresource" VkSparseImageMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, subresource})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBind, subresource}++instance {-# OVERLAPPING #-}+ CanWriteField "subresource" VkSparseImageMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBind, subresource}++instance {-# OVERLAPPING #-}+ HasField "offset" VkSparseImageMemoryBind where+ type FieldType "offset" VkSparseImageMemoryBind = VkOffset3D+ type FieldOptional "offset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkSparseImageMemoryBind =+ #{offset VkSparseImageMemoryBind, offset}+ type FieldIsArray "offset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseImageMemoryBind, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkSparseImageMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBind, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkSparseImageMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBind, offset}++instance {-# OVERLAPPING #-}+ HasField "extent" VkSparseImageMemoryBind where+ type FieldType "extent" VkSparseImageMemoryBind = VkExtent3D+ type FieldOptional "extent" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "extent" VkSparseImageMemoryBind =+ #{offset VkSparseImageMemoryBind, extent}+ type FieldIsArray "extent" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseImageMemoryBind, extent}++instance {-# OVERLAPPING #-}+ CanReadField "extent" VkSparseImageMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, extent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBind, extent}++instance {-# OVERLAPPING #-}+ CanWriteField "extent" VkSparseImageMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBind, extent}++instance {-# OVERLAPPING #-}+ HasField "memory" VkSparseImageMemoryBind where+ type FieldType "memory" VkSparseImageMemoryBind = VkDeviceMemory+ type FieldOptional "memory" VkSparseImageMemoryBind = 'True -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkSparseImageMemoryBind =+ #{offset VkSparseImageMemoryBind, memory}+ type FieldIsArray "memory" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseImageMemoryBind, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkSparseImageMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBind, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkSparseImageMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBind, memory}++instance {-# OVERLAPPING #-}+ HasField "memoryOffset" VkSparseImageMemoryBind where+ type FieldType "memoryOffset" VkSparseImageMemoryBind =+ VkDeviceSize+ type FieldOptional "memoryOffset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryOffset" VkSparseImageMemoryBind =+ #{offset VkSparseImageMemoryBind, memoryOffset}+ type FieldIsArray "memoryOffset" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryBind, memoryOffset}++instance {-# OVERLAPPING #-}+ CanReadField "memoryOffset" VkSparseImageMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, memoryOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBind, memoryOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryOffset" VkSparseImageMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBind, memoryOffset}++instance {-# OVERLAPPING #-}+ HasField "flags" VkSparseImageMemoryBind where+ type FieldType "flags" VkSparseImageMemoryBind =+ VkSparseMemoryBindFlags+ type FieldOptional "flags" VkSparseImageMemoryBind = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSparseImageMemoryBind =+ #{offset VkSparseImageMemoryBind, flags}+ type FieldIsArray "flags" VkSparseImageMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseImageMemoryBind, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSparseImageMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBind, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBind, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSparseImageMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBind, flags}++instance Show VkSparseImageMemoryBind where+ showsPrec d x+ = showString "VkSparseImageMemoryBind {" .+ showString "subresource = " .+ showsPrec d (getField @"subresource" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "extent = " .+ showsPrec d (getField @"extent" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "memoryOffset = " .+ showsPrec d (getField @"memoryOffset" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'++-- | > typedef struct VkSparseImageMemoryBindInfo {+-- > VkImage image;+-- > uint32_t bindCount;+-- > const VkSparseImageMemoryBind* pBinds;+-- > } VkSparseImageMemoryBindInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo registry at www.khronos.org>+data VkSparseImageMemoryBindInfo = VkSparseImageMemoryBindInfo## Addr##+ ByteArray##++instance Eq VkSparseImageMemoryBindInfo where+ (VkSparseImageMemoryBindInfo## a _) ==+ x@(VkSparseImageMemoryBindInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageMemoryBindInfo where+ (VkSparseImageMemoryBindInfo## a _) `compare`+ x@(VkSparseImageMemoryBindInfo## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageMemoryBindInfo where+ sizeOf ~_ = #{size VkSparseImageMemoryBindInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSparseImageMemoryBindInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageMemoryBindInfo where+ unsafeAddr (VkSparseImageMemoryBindInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageMemoryBindInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageMemoryBindInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageMemoryBindInfo where+ type StructFields VkSparseImageMemoryBindInfo =+ '["image", "bindCount", "pBinds"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageMemoryBindInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "image" VkSparseImageMemoryBindInfo where+ type FieldType "image" VkSparseImageMemoryBindInfo = VkImage+ type FieldOptional "image" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkSparseImageMemoryBindInfo =+ #{offset VkSparseImageMemoryBindInfo, image}+ type FieldIsArray "image" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryBindInfo, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkSparseImageMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBindInfo, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBindInfo, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkSparseImageMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBindInfo, image}++instance {-# OVERLAPPING #-}+ HasField "bindCount" VkSparseImageMemoryBindInfo where+ type FieldType "bindCount" VkSparseImageMemoryBindInfo = Word32+ type FieldOptional "bindCount" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "bindCount" VkSparseImageMemoryBindInfo =+ #{offset VkSparseImageMemoryBindInfo, bindCount}+ type FieldIsArray "bindCount" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ CanReadField "bindCount" VkSparseImageMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBindInfo, bindCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ CanWriteField "bindCount" VkSparseImageMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ HasField "pBinds" VkSparseImageMemoryBindInfo where+ type FieldType "pBinds" VkSparseImageMemoryBindInfo =+ Ptr VkSparseImageMemoryBind+ type FieldOptional "pBinds" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pBinds" VkSparseImageMemoryBindInfo =+ #{offset VkSparseImageMemoryBindInfo, pBinds}+ type FieldIsArray "pBinds" VkSparseImageMemoryBindInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryBindInfo, pBinds}++instance {-# OVERLAPPING #-}+ CanReadField "pBinds" VkSparseImageMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryBindInfo, pBinds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryBindInfo, pBinds}++instance {-# OVERLAPPING #-}+ CanWriteField "pBinds" VkSparseImageMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryBindInfo, pBinds}++instance Show VkSparseImageMemoryBindInfo where+ showsPrec d x+ = showString "VkSparseImageMemoryBindInfo {" .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "bindCount = " .+ showsPrec d (getField @"bindCount" x) .+ showString ", " .+ showString "pBinds = " .+ showsPrec d (getField @"pBinds" x) . showChar '}'++-- | > typedef struct VkSparseImageMemoryRequirements {+-- > VkSparseImageFormatProperties formatProperties;+-- > uint32_t imageMipTailFirstLod;+-- > VkDeviceSize imageMipTailSize;+-- > VkDeviceSize imageMipTailOffset;+-- > VkDeviceSize imageMipTailStride;+-- > } VkSparseImageMemoryRequirements;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements registry at www.khronos.org>+data VkSparseImageMemoryRequirements = VkSparseImageMemoryRequirements## Addr##+ ByteArray##++instance Eq VkSparseImageMemoryRequirements where+ (VkSparseImageMemoryRequirements## a _) ==+ x@(VkSparseImageMemoryRequirements## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageMemoryRequirements where+ (VkSparseImageMemoryRequirements## a _) `compare`+ x@(VkSparseImageMemoryRequirements## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageMemoryRequirements where+ sizeOf ~_ = #{size VkSparseImageMemoryRequirements}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSparseImageMemoryRequirements}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageMemoryRequirements where+ unsafeAddr (VkSparseImageMemoryRequirements## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageMemoryRequirements## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageMemoryRequirements##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageMemoryRequirements where+ type StructFields VkSparseImageMemoryRequirements =+ '["formatProperties", "imageMipTailFirstLod", "imageMipTailSize", -- ' closing tick for hsc2hs+ "imageMipTailOffset", "imageMipTailStride"]+ type CUnionType VkSparseImageMemoryRequirements = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageMemoryRequirements = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageMemoryRequirements = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "formatProperties" VkSparseImageMemoryRequirements where+ type FieldType "formatProperties" VkSparseImageMemoryRequirements =+ VkSparseImageFormatProperties+ type FieldOptional "formatProperties"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "formatProperties" VkSparseImageMemoryRequirements+ =+ #{offset VkSparseImageMemoryRequirements, formatProperties}+ type FieldIsArray "formatProperties"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements, formatProperties}++instance {-# OVERLAPPING #-}+ CanReadField "formatProperties" VkSparseImageMemoryRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, formatProperties})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements, formatProperties}++instance {-# OVERLAPPING #-}+ CanWriteField "formatProperties" VkSparseImageMemoryRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements, formatProperties}++instance {-# OVERLAPPING #-}+ HasField "imageMipTailFirstLod" VkSparseImageMemoryRequirements+ where+ type FieldType "imageMipTailFirstLod"+ VkSparseImageMemoryRequirements+ = Word32+ type FieldOptional "imageMipTailFirstLod"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageMipTailFirstLod"+ VkSparseImageMemoryRequirements+ =+ #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}+ type FieldIsArray "imageMipTailFirstLod"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}++instance {-# OVERLAPPING #-}+ CanReadField "imageMipTailFirstLod" VkSparseImageMemoryRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}++instance {-# OVERLAPPING #-}+ CanWriteField "imageMipTailFirstLod"+ VkSparseImageMemoryRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailFirstLod}++instance {-# OVERLAPPING #-}+ HasField "imageMipTailSize" VkSparseImageMemoryRequirements where+ type FieldType "imageMipTailSize" VkSparseImageMemoryRequirements =+ VkDeviceSize+ type FieldOptional "imageMipTailSize"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageMipTailSize" VkSparseImageMemoryRequirements+ =+ #{offset VkSparseImageMemoryRequirements, imageMipTailSize}+ type FieldIsArray "imageMipTailSize"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements, imageMipTailSize}++instance {-# OVERLAPPING #-}+ CanReadField "imageMipTailSize" VkSparseImageMemoryRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailSize}++instance {-# OVERLAPPING #-}+ CanWriteField "imageMipTailSize" VkSparseImageMemoryRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailSize}++instance {-# OVERLAPPING #-}+ HasField "imageMipTailOffset" VkSparseImageMemoryRequirements where+ type FieldType "imageMipTailOffset" VkSparseImageMemoryRequirements+ = VkDeviceSize+ type FieldOptional "imageMipTailOffset"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageMipTailOffset"+ VkSparseImageMemoryRequirements+ =+ #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}+ type FieldIsArray "imageMipTailOffset"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}++instance {-# OVERLAPPING #-}+ CanReadField "imageMipTailOffset" VkSparseImageMemoryRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "imageMipTailOffset" VkSparseImageMemoryRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailOffset}++instance {-# OVERLAPPING #-}+ HasField "imageMipTailStride" VkSparseImageMemoryRequirements where+ type FieldType "imageMipTailStride" VkSparseImageMemoryRequirements+ = VkDeviceSize+ type FieldOptional "imageMipTailStride"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageMipTailStride"+ VkSparseImageMemoryRequirements+ =+ #{offset VkSparseImageMemoryRequirements, imageMipTailStride}+ type FieldIsArray "imageMipTailStride"+ VkSparseImageMemoryRequirements+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements, imageMipTailStride}++instance {-# OVERLAPPING #-}+ CanReadField "imageMipTailStride" VkSparseImageMemoryRequirements+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements, imageMipTailStride})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailStride}++instance {-# OVERLAPPING #-}+ CanWriteField "imageMipTailStride" VkSparseImageMemoryRequirements+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements, imageMipTailStride}++instance Show VkSparseImageMemoryRequirements where+ showsPrec d x+ = showString "VkSparseImageMemoryRequirements {" .+ showString "formatProperties = " .+ showsPrec d (getField @"formatProperties" x) .+ showString ", " .+ showString "imageMipTailFirstLod = " .+ showsPrec d (getField @"imageMipTailFirstLod" x) .+ showString ", " .+ showString "imageMipTailSize = " .+ showsPrec d (getField @"imageMipTailSize" x) .+ showString ", " .+ showString "imageMipTailOffset = " .+ showsPrec d (getField @"imageMipTailOffset" x) .+ showString ", " .+ showString "imageMipTailStride = " .+ showsPrec d (getField @"imageMipTailStride" x) .+ showChar '}'++-- | > typedef struct VkSparseImageMemoryRequirements2 {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkSparseImageMemoryRequirements memoryRequirements;+-- > } VkSparseImageMemoryRequirements2;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2 registry at www.khronos.org>+data VkSparseImageMemoryRequirements2 = VkSparseImageMemoryRequirements2## Addr##+ ByteArray##++instance Eq VkSparseImageMemoryRequirements2 where+ (VkSparseImageMemoryRequirements2## a _) ==+ x@(VkSparseImageMemoryRequirements2## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageMemoryRequirements2 where+ (VkSparseImageMemoryRequirements2## a _) `compare`+ x@(VkSparseImageMemoryRequirements2## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageMemoryRequirements2 where+ sizeOf ~_ = #{size VkSparseImageMemoryRequirements2}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSparseImageMemoryRequirements2}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageMemoryRequirements2 where+ unsafeAddr (VkSparseImageMemoryRequirements2## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageMemoryRequirements2## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageMemoryRequirements2##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageMemoryRequirements2 where+ type StructFields VkSparseImageMemoryRequirements2 =+ '["sType", "pNext", "memoryRequirements"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseImageMemoryRequirements2 = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageMemoryRequirements2 = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageMemoryRequirements2 = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSparseImageMemoryRequirements2 where+ type FieldType "sType" VkSparseImageMemoryRequirements2 =+ VkStructureType+ type FieldOptional "sType" VkSparseImageMemoryRequirements2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSparseImageMemoryRequirements2 =+ #{offset VkSparseImageMemoryRequirements2, sType}+ type FieldIsArray "sType" VkSparseImageMemoryRequirements2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements2, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSparseImageMemoryRequirements2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements2, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements2, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSparseImageMemoryRequirements2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements2, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSparseImageMemoryRequirements2 where+ type FieldType "pNext" VkSparseImageMemoryRequirements2 = Ptr Void+ type FieldOptional "pNext" VkSparseImageMemoryRequirements2 =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSparseImageMemoryRequirements2 =+ #{offset VkSparseImageMemoryRequirements2, pNext}+ type FieldIsArray "pNext" VkSparseImageMemoryRequirements2 = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements2, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSparseImageMemoryRequirements2 where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements2, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements2, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSparseImageMemoryRequirements2 where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements2, pNext}++instance {-# OVERLAPPING #-}+ HasField "memoryRequirements" VkSparseImageMemoryRequirements2+ where+ type FieldType "memoryRequirements"+ VkSparseImageMemoryRequirements2+ = VkSparseImageMemoryRequirements+ type FieldOptional "memoryRequirements"+ VkSparseImageMemoryRequirements2+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryRequirements"+ VkSparseImageMemoryRequirements2+ =+ #{offset VkSparseImageMemoryRequirements2, memoryRequirements}+ type FieldIsArray "memoryRequirements"+ VkSparseImageMemoryRequirements2+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageMemoryRequirements2, memoryRequirements}++instance {-# OVERLAPPING #-}+ CanReadField "memoryRequirements" VkSparseImageMemoryRequirements2+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageMemoryRequirements2, memoryRequirements})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageMemoryRequirements2, memoryRequirements}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryRequirements" VkSparseImageMemoryRequirements2+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageMemoryRequirements2, memoryRequirements}++instance Show VkSparseImageMemoryRequirements2 where+ showsPrec d x+ = showString "VkSparseImageMemoryRequirements2 {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "memoryRequirements = " .+ showsPrec d (getField @"memoryRequirements" x) . showChar '}'++-- | Alias for `VkSparseImageMemoryRequirements2`+type VkSparseImageMemoryRequirements2KHR =+ VkSparseImageMemoryRequirements2++-- | > typedef struct VkSparseImageOpaqueMemoryBindInfo {+-- > VkImage image;+-- > uint32_t bindCount;+-- > const VkSparseMemoryBind* pBinds;+-- > } VkSparseImageOpaqueMemoryBindInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo registry at www.khronos.org>+data VkSparseImageOpaqueMemoryBindInfo = VkSparseImageOpaqueMemoryBindInfo## Addr##+ ByteArray##++instance Eq VkSparseImageOpaqueMemoryBindInfo where+ (VkSparseImageOpaqueMemoryBindInfo## a _) ==+ x@(VkSparseImageOpaqueMemoryBindInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseImageOpaqueMemoryBindInfo where+ (VkSparseImageOpaqueMemoryBindInfo## a _) `compare`+ x@(VkSparseImageOpaqueMemoryBindInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseImageOpaqueMemoryBindInfo where+ sizeOf ~_ = #{size VkSparseImageOpaqueMemoryBindInfo}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSparseImageOpaqueMemoryBindInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseImageOpaqueMemoryBindInfo where+ unsafeAddr (VkSparseImageOpaqueMemoryBindInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseImageOpaqueMemoryBindInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseImageOpaqueMemoryBindInfo##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseImageOpaqueMemoryBindInfo where+ type StructFields VkSparseImageOpaqueMemoryBindInfo =+ '["image", "bindCount", "pBinds"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseImageOpaqueMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseImageOpaqueMemoryBindInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSparseImageOpaqueMemoryBindInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "image" VkSparseImageOpaqueMemoryBindInfo where+ type FieldType "image" VkSparseImageOpaqueMemoryBindInfo = VkImage+ type FieldOptional "image" VkSparseImageOpaqueMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "image" VkSparseImageOpaqueMemoryBindInfo =+ #{offset VkSparseImageOpaqueMemoryBindInfo, image}+ type FieldIsArray "image" VkSparseImageOpaqueMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageOpaqueMemoryBindInfo, image}++instance {-# OVERLAPPING #-}+ CanReadField "image" VkSparseImageOpaqueMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageOpaqueMemoryBindInfo, image})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, image}++instance {-# OVERLAPPING #-}+ CanWriteField "image" VkSparseImageOpaqueMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, image}++instance {-# OVERLAPPING #-}+ HasField "bindCount" VkSparseImageOpaqueMemoryBindInfo where+ type FieldType "bindCount" VkSparseImageOpaqueMemoryBindInfo =+ Word32+ type FieldOptional "bindCount" VkSparseImageOpaqueMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "bindCount" VkSparseImageOpaqueMemoryBindInfo =+ #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}+ type FieldIsArray "bindCount" VkSparseImageOpaqueMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ CanReadField "bindCount" VkSparseImageOpaqueMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ CanWriteField "bindCount" VkSparseImageOpaqueMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, bindCount}++instance {-# OVERLAPPING #-}+ HasField "pBinds" VkSparseImageOpaqueMemoryBindInfo where+ type FieldType "pBinds" VkSparseImageOpaqueMemoryBindInfo =+ Ptr VkSparseMemoryBind+ type FieldOptional "pBinds" VkSparseImageOpaqueMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pBinds" VkSparseImageOpaqueMemoryBindInfo =+ #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}+ type FieldIsArray "pBinds" VkSparseImageOpaqueMemoryBindInfo =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}++instance {-# OVERLAPPING #-}+ CanReadField "pBinds" VkSparseImageOpaqueMemoryBindInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}++instance {-# OVERLAPPING #-}+ CanWriteField "pBinds" VkSparseImageOpaqueMemoryBindInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseImageOpaqueMemoryBindInfo, pBinds}++instance Show VkSparseImageOpaqueMemoryBindInfo where+ showsPrec d x+ = showString "VkSparseImageOpaqueMemoryBindInfo {" .+ showString "image = " .+ showsPrec d (getField @"image" x) .+ showString ", " .+ showString "bindCount = " .+ showsPrec d (getField @"bindCount" x) .+ showString ", " .+ showString "pBinds = " .+ showsPrec d (getField @"pBinds" x) . showChar '}'++-- | > typedef struct VkSparseMemoryBind {+-- > VkDeviceSize resourceOffset;+-- > VkDeviceSize size;+-- > VkDeviceMemory memory;+-- > VkDeviceSize memoryOffset;+-- > VkSparseMemoryBindFlagsflags;+-- > } VkSparseMemoryBind;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSparseMemoryBind VkSparseMemoryBind registry at www.khronos.org>+data VkSparseMemoryBind = VkSparseMemoryBind## Addr## ByteArray##++instance Eq VkSparseMemoryBind where+ (VkSparseMemoryBind## a _) == x@(VkSparseMemoryBind## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSparseMemoryBind where+ (VkSparseMemoryBind## a _) `compare` x@(VkSparseMemoryBind## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSparseMemoryBind where+ sizeOf ~_ = #{size VkSparseMemoryBind}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSparseMemoryBind}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSparseMemoryBind where+ unsafeAddr (VkSparseMemoryBind## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSparseMemoryBind## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSparseMemoryBind## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSparseMemoryBind where+ type StructFields VkSparseMemoryBind =+ '["resourceOffset", "size", "memory", "memoryOffset", "flags"] -- ' closing tick for hsc2hs+ type CUnionType VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSparseMemoryBind = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "resourceOffset" VkSparseMemoryBind where+ type FieldType "resourceOffset" VkSparseMemoryBind = VkDeviceSize+ type FieldOptional "resourceOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "resourceOffset" VkSparseMemoryBind =+ #{offset VkSparseMemoryBind, resourceOffset}+ type FieldIsArray "resourceOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseMemoryBind, resourceOffset}++instance {-# OVERLAPPING #-}+ CanReadField "resourceOffset" VkSparseMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, resourceOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseMemoryBind, resourceOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "resourceOffset" VkSparseMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseMemoryBind, resourceOffset}++instance {-# OVERLAPPING #-} HasField "size" VkSparseMemoryBind+ where+ type FieldType "size" VkSparseMemoryBind = VkDeviceSize+ type FieldOptional "size" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkSparseMemoryBind =+ #{offset VkSparseMemoryBind, size}+ type FieldIsArray "size" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseMemoryBind, size}++instance {-# OVERLAPPING #-} CanReadField "size" VkSparseMemoryBind+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseMemoryBind, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkSparseMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseMemoryBind, size}++instance {-# OVERLAPPING #-} HasField "memory" VkSparseMemoryBind+ where+ type FieldType "memory" VkSparseMemoryBind = VkDeviceMemory+ type FieldOptional "memory" VkSparseMemoryBind = 'True -- ' closing tick for hsc2hs+ type FieldOffset "memory" VkSparseMemoryBind =+ #{offset VkSparseMemoryBind, memory}+ type FieldIsArray "memory" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseMemoryBind, memory}++instance {-# OVERLAPPING #-}+ CanReadField "memory" VkSparseMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, memory})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseMemoryBind, memory}++instance {-# OVERLAPPING #-}+ CanWriteField "memory" VkSparseMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseMemoryBind, memory}++instance {-# OVERLAPPING #-}+ HasField "memoryOffset" VkSparseMemoryBind where+ type FieldType "memoryOffset" VkSparseMemoryBind = VkDeviceSize+ type FieldOptional "memoryOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs+ type FieldOffset "memoryOffset" VkSparseMemoryBind =+ #{offset VkSparseMemoryBind, memoryOffset}+ type FieldIsArray "memoryOffset" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSparseMemoryBind, memoryOffset}++instance {-# OVERLAPPING #-}+ CanReadField "memoryOffset" VkSparseMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, memoryOffset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseMemoryBind, memoryOffset}++instance {-# OVERLAPPING #-}+ CanWriteField "memoryOffset" VkSparseMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseMemoryBind, memoryOffset}++instance {-# OVERLAPPING #-} HasField "flags" VkSparseMemoryBind+ where+ type FieldType "flags" VkSparseMemoryBind = VkSparseMemoryBindFlags+ type FieldOptional "flags" VkSparseMemoryBind = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSparseMemoryBind =+ #{offset VkSparseMemoryBind, flags}+ type FieldIsArray "flags" VkSparseMemoryBind = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSparseMemoryBind, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSparseMemoryBind where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSparseMemoryBind, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSparseMemoryBind, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSparseMemoryBind where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSparseMemoryBind, flags}++instance Show VkSparseMemoryBind where+ showsPrec d x+ = showString "VkSparseMemoryBind {" .+ showString "resourceOffset = " .+ showsPrec d (getField @"resourceOffset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) .+ showString ", " .+ showString "memory = " .+ showsPrec d (getField @"memory" x) .+ showString ", " .+ showString "memoryOffset = " .+ showsPrec d (getField @"memoryOffset" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) . showChar '}'
@@ -0,0 +1,378 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Specialization+ (VkSpecializationInfo(..), VkSpecializationMapEntry(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSpecializationInfo {+-- > uint32_t mapEntryCount;+-- > const VkSpecializationMapEntry* pMapEntries;+-- > size_t dataSize;+-- > const void* pData;+-- > } VkSpecializationInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSpecializationInfo VkSpecializationInfo registry at www.khronos.org>+data VkSpecializationInfo = VkSpecializationInfo## Addr## ByteArray##++instance Eq VkSpecializationInfo where+ (VkSpecializationInfo## a _) == x@(VkSpecializationInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSpecializationInfo where+ (VkSpecializationInfo## a _) `compare` x@(VkSpecializationInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSpecializationInfo where+ sizeOf ~_ = #{size VkSpecializationInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSpecializationInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSpecializationInfo where+ unsafeAddr (VkSpecializationInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSpecializationInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSpecializationInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSpecializationInfo where+ type StructFields VkSpecializationInfo =+ '["mapEntryCount", "pMapEntries", "dataSize", "pData"] -- ' closing tick for hsc2hs+ type CUnionType VkSpecializationInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSpecializationInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSpecializationInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "mapEntryCount" VkSpecializationInfo where+ type FieldType "mapEntryCount" VkSpecializationInfo = Word32+ type FieldOptional "mapEntryCount" VkSpecializationInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "mapEntryCount" VkSpecializationInfo =+ #{offset VkSpecializationInfo, mapEntryCount}+ type FieldIsArray "mapEntryCount" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSpecializationInfo, mapEntryCount}++instance {-# OVERLAPPING #-}+ CanReadField "mapEntryCount" VkSpecializationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, mapEntryCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationInfo, mapEntryCount}++instance {-# OVERLAPPING #-}+ CanWriteField "mapEntryCount" VkSpecializationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationInfo, mapEntryCount}++instance {-# OVERLAPPING #-}+ HasField "pMapEntries" VkSpecializationInfo where+ type FieldType "pMapEntries" VkSpecializationInfo =+ Ptr VkSpecializationMapEntry+ type FieldOptional "pMapEntries" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pMapEntries" VkSpecializationInfo =+ #{offset VkSpecializationInfo, pMapEntries}+ type FieldIsArray "pMapEntries" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSpecializationInfo, pMapEntries}++instance {-# OVERLAPPING #-}+ CanReadField "pMapEntries" VkSpecializationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, pMapEntries})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationInfo, pMapEntries}++instance {-# OVERLAPPING #-}+ CanWriteField "pMapEntries" VkSpecializationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationInfo, pMapEntries}++instance {-# OVERLAPPING #-}+ HasField "dataSize" VkSpecializationInfo where+ type FieldType "dataSize" VkSpecializationInfo = CSize+ type FieldOptional "dataSize" VkSpecializationInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dataSize" VkSpecializationInfo =+ #{offset VkSpecializationInfo, dataSize}+ type FieldIsArray "dataSize" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSpecializationInfo, dataSize}++instance {-# OVERLAPPING #-}+ CanReadField "dataSize" VkSpecializationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, dataSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationInfo, dataSize}++instance {-# OVERLAPPING #-}+ CanWriteField "dataSize" VkSpecializationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationInfo, dataSize}++instance {-# OVERLAPPING #-} HasField "pData" VkSpecializationInfo+ where+ type FieldType "pData" VkSpecializationInfo = Ptr Void+ type FieldOptional "pData" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pData" VkSpecializationInfo =+ #{offset VkSpecializationInfo, pData}+ type FieldIsArray "pData" VkSpecializationInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSpecializationInfo, pData}++instance {-# OVERLAPPING #-}+ CanReadField "pData" VkSpecializationInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationInfo, pData})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationInfo, pData}++instance {-# OVERLAPPING #-}+ CanWriteField "pData" VkSpecializationInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationInfo, pData}++instance Show VkSpecializationInfo where+ showsPrec d x+ = showString "VkSpecializationInfo {" .+ showString "mapEntryCount = " .+ showsPrec d (getField @"mapEntryCount" x) .+ showString ", " .+ showString "pMapEntries = " .+ showsPrec d (getField @"pMapEntries" x) .+ showString ", " .+ showString "dataSize = " .+ showsPrec d (getField @"dataSize" x) .+ showString ", " .+ showString "pData = " .+ showsPrec d (getField @"pData" x) . showChar '}'++-- | > typedef struct VkSpecializationMapEntry {+-- > uint32_t constantID;+-- > uint32_t offset;+-- > size_t size;+-- > } VkSpecializationMapEntry;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSpecializationMapEntry VkSpecializationMapEntry registry at www.khronos.org>+data VkSpecializationMapEntry = VkSpecializationMapEntry## Addr##+ ByteArray##++instance Eq VkSpecializationMapEntry where+ (VkSpecializationMapEntry## a _) ==+ x@(VkSpecializationMapEntry## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSpecializationMapEntry where+ (VkSpecializationMapEntry## a _) `compare`+ x@(VkSpecializationMapEntry## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSpecializationMapEntry where+ sizeOf ~_ = #{size VkSpecializationMapEntry}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSpecializationMapEntry}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSpecializationMapEntry where+ unsafeAddr (VkSpecializationMapEntry## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSpecializationMapEntry## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSpecializationMapEntry## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSpecializationMapEntry where+ type StructFields VkSpecializationMapEntry =+ '["constantID", "offset", "size"] -- ' closing tick for hsc2hs+ type CUnionType VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSpecializationMapEntry = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "constantID" VkSpecializationMapEntry where+ type FieldType "constantID" VkSpecializationMapEntry = Word32+ type FieldOptional "constantID" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs+ type FieldOffset "constantID" VkSpecializationMapEntry =+ #{offset VkSpecializationMapEntry, constantID}+ type FieldIsArray "constantID" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSpecializationMapEntry, constantID}++instance {-# OVERLAPPING #-}+ CanReadField "constantID" VkSpecializationMapEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationMapEntry, constantID})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationMapEntry, constantID}++instance {-# OVERLAPPING #-}+ CanWriteField "constantID" VkSpecializationMapEntry where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationMapEntry, constantID}++instance {-# OVERLAPPING #-}+ HasField "offset" VkSpecializationMapEntry where+ type FieldType "offset" VkSpecializationMapEntry = Word32+ type FieldOptional "offset" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkSpecializationMapEntry =+ #{offset VkSpecializationMapEntry, offset}+ type FieldIsArray "offset" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSpecializationMapEntry, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkSpecializationMapEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationMapEntry, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationMapEntry, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkSpecializationMapEntry where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationMapEntry, offset}++instance {-# OVERLAPPING #-}+ HasField "size" VkSpecializationMapEntry where+ type FieldType "size" VkSpecializationMapEntry = CSize+ type FieldOptional "size" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkSpecializationMapEntry =+ #{offset VkSpecializationMapEntry, size}+ type FieldIsArray "size" VkSpecializationMapEntry = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSpecializationMapEntry, size}++instance {-# OVERLAPPING #-}+ CanReadField "size" VkSpecializationMapEntry where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSpecializationMapEntry, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSpecializationMapEntry, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkSpecializationMapEntry where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSpecializationMapEntry, size}++instance Show VkSpecializationMapEntry where+ showsPrec d x+ = showString "VkSpecializationMapEntry {" .+ showString "constantID = " .+ showsPrec d (getField @"constantID" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) . showChar '}'
@@ -0,0 +1,321 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.StencilOpState+ (VkStencilOpState(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.CompareOp (VkCompareOp)+import Graphics.Vulkan.Types.Enum.Stencil (VkStencilOp)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkStencilOpState {+-- > VkStencilOp failOp;+-- > VkStencilOp passOp;+-- > VkStencilOp depthFailOp;+-- > VkCompareOp compareOp;+-- > uint32_t compareMask;+-- > uint32_t writeMask;+-- > uint32_t reference;+-- > } VkStencilOpState;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkStencilOpState VkStencilOpState registry at www.khronos.org>+data VkStencilOpState = VkStencilOpState## Addr## ByteArray##++instance Eq VkStencilOpState where+ (VkStencilOpState## a _) == x@(VkStencilOpState## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkStencilOpState where+ (VkStencilOpState## a _) `compare` x@(VkStencilOpState## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkStencilOpState where+ sizeOf ~_ = #{size VkStencilOpState}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkStencilOpState}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkStencilOpState where+ unsafeAddr (VkStencilOpState## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkStencilOpState## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkStencilOpState## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkStencilOpState where+ type StructFields VkStencilOpState =+ '["failOp", "passOp", "depthFailOp", "compareOp", "compareMask", -- ' closing tick for hsc2hs+ "writeMask", "reference"]+ type CUnionType VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type StructExtends VkStencilOpState = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "failOp" VkStencilOpState+ where+ type FieldType "failOp" VkStencilOpState = VkStencilOp+ type FieldOptional "failOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "failOp" VkStencilOpState =+ #{offset VkStencilOpState, failOp}+ type FieldIsArray "failOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, failOp}++instance {-# OVERLAPPING #-} CanReadField "failOp" VkStencilOpState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, failOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, failOp}++instance {-# OVERLAPPING #-}+ CanWriteField "failOp" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, failOp}++instance {-# OVERLAPPING #-} HasField "passOp" VkStencilOpState+ where+ type FieldType "passOp" VkStencilOpState = VkStencilOp+ type FieldOptional "passOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "passOp" VkStencilOpState =+ #{offset VkStencilOpState, passOp}+ type FieldIsArray "passOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, passOp}++instance {-# OVERLAPPING #-} CanReadField "passOp" VkStencilOpState+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, passOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, passOp}++instance {-# OVERLAPPING #-}+ CanWriteField "passOp" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, passOp}++instance {-# OVERLAPPING #-}+ HasField "depthFailOp" VkStencilOpState where+ type FieldType "depthFailOp" VkStencilOpState = VkStencilOp+ type FieldOptional "depthFailOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthFailOp" VkStencilOpState =+ #{offset VkStencilOpState, depthFailOp}+ type FieldIsArray "depthFailOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, depthFailOp}++instance {-# OVERLAPPING #-}+ CanReadField "depthFailOp" VkStencilOpState where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, depthFailOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, depthFailOp}++instance {-# OVERLAPPING #-}+ CanWriteField "depthFailOp" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, depthFailOp}++instance {-# OVERLAPPING #-} HasField "compareOp" VkStencilOpState+ where+ type FieldType "compareOp" VkStencilOpState = VkCompareOp+ type FieldOptional "compareOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compareOp" VkStencilOpState =+ #{offset VkStencilOpState, compareOp}+ type FieldIsArray "compareOp" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, compareOp}++instance {-# OVERLAPPING #-}+ CanReadField "compareOp" VkStencilOpState where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, compareOp})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, compareOp}++instance {-# OVERLAPPING #-}+ CanWriteField "compareOp" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, compareOp}++instance {-# OVERLAPPING #-}+ HasField "compareMask" VkStencilOpState where+ type FieldType "compareMask" VkStencilOpState = Word32+ type FieldOptional "compareMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "compareMask" VkStencilOpState =+ #{offset VkStencilOpState, compareMask}+ type FieldIsArray "compareMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, compareMask}++instance {-# OVERLAPPING #-}+ CanReadField "compareMask" VkStencilOpState where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, compareMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, compareMask}++instance {-# OVERLAPPING #-}+ CanWriteField "compareMask" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, compareMask}++instance {-# OVERLAPPING #-} HasField "writeMask" VkStencilOpState+ where+ type FieldType "writeMask" VkStencilOpState = Word32+ type FieldOptional "writeMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "writeMask" VkStencilOpState =+ #{offset VkStencilOpState, writeMask}+ type FieldIsArray "writeMask" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, writeMask}++instance {-# OVERLAPPING #-}+ CanReadField "writeMask" VkStencilOpState where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, writeMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, writeMask}++instance {-# OVERLAPPING #-}+ CanWriteField "writeMask" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, writeMask}++instance {-# OVERLAPPING #-} HasField "reference" VkStencilOpState+ where+ type FieldType "reference" VkStencilOpState = Word32+ type FieldOptional "reference" VkStencilOpState = 'False -- ' closing tick for hsc2hs+ type FieldOffset "reference" VkStencilOpState =+ #{offset VkStencilOpState, reference}+ type FieldIsArray "reference" VkStencilOpState = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkStencilOpState, reference}++instance {-# OVERLAPPING #-}+ CanReadField "reference" VkStencilOpState where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkStencilOpState, reference})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkStencilOpState, reference}++instance {-# OVERLAPPING #-}+ CanWriteField "reference" VkStencilOpState where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkStencilOpState, reference}++instance Show VkStencilOpState where+ showsPrec d x+ = showString "VkStencilOpState {" .+ showString "failOp = " .+ showsPrec d (getField @"failOp" x) .+ showString ", " .+ showString "passOp = " .+ showsPrec d (getField @"passOp" x) .+ showString ", " .+ showString "depthFailOp = " .+ showsPrec d (getField @"depthFailOp" x) .+ showString ", " .+ showString "compareOp = " .+ showsPrec d (getField @"compareOp" x) .+ showString ", " .+ showString "compareMask = " .+ showsPrec d (getField @"compareMask" x) .+ showString ", " .+ showString "writeMask = " .+ showsPrec d (getField @"writeMask" x) .+ showString ", " .+ showString "reference = " .+ showsPrec d (getField @"reference" x) .+ showChar '}'
@@ -0,0 +1,399 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.SubmitInfo (VkSubmitInfo(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineStageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Handles (VkCommandBuffer,+ VkSemaphore)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSubmitInfo {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t waitSemaphoreCount;+-- > const VkSemaphore* pWaitSemaphores;+-- > const VkPipelineStageFlags* pWaitDstStageMask;+-- > uint32_t commandBufferCount;+-- > const VkCommandBuffer* pCommandBuffers;+-- > uint32_t signalSemaphoreCount;+-- > const VkSemaphore* pSignalSemaphores;+-- > } VkSubmitInfo;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubmitInfo VkSubmitInfo registry at www.khronos.org>+data VkSubmitInfo = VkSubmitInfo## Addr## ByteArray##++instance Eq VkSubmitInfo where+ (VkSubmitInfo## a _) == x@(VkSubmitInfo## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSubmitInfo where+ (VkSubmitInfo## a _) `compare` x@(VkSubmitInfo## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSubmitInfo where+ sizeOf ~_ = #{size VkSubmitInfo}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSubmitInfo}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSubmitInfo where+ unsafeAddr (VkSubmitInfo## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSubmitInfo## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSubmitInfo## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSubmitInfo where+ type StructFields VkSubmitInfo =+ '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs+ "pWaitDstStageMask", "commandBufferCount", "pCommandBuffers",+ "signalSemaphoreCount", "pSignalSemaphores"]+ type CUnionType VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSubmitInfo = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkSubmitInfo where+ type FieldType "sType" VkSubmitInfo = VkStructureType+ type FieldOptional "sType" VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSubmitInfo =+ #{offset VkSubmitInfo, sType}+ type FieldIsArray "sType" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubmitInfo, sType}++instance {-# OVERLAPPING #-} CanReadField "sType" VkSubmitInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, sType}++instance {-# OVERLAPPING #-} CanWriteField "sType" VkSubmitInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkSubmitInfo where+ type FieldType "pNext" VkSubmitInfo = Ptr Void+ type FieldOptional "pNext" VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSubmitInfo =+ #{offset VkSubmitInfo, pNext}+ type FieldIsArray "pNext" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubmitInfo, pNext}++instance {-# OVERLAPPING #-} CanReadField "pNext" VkSubmitInfo+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, pNext}++instance {-# OVERLAPPING #-} CanWriteField "pNext" VkSubmitInfo+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, pNext}++instance {-# OVERLAPPING #-}+ HasField "waitSemaphoreCount" VkSubmitInfo where+ type FieldType "waitSemaphoreCount" VkSubmitInfo = Word32+ type FieldOptional "waitSemaphoreCount" VkSubmitInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "waitSemaphoreCount" VkSubmitInfo =+ #{offset VkSubmitInfo, waitSemaphoreCount}+ type FieldIsArray "waitSemaphoreCount" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "waitSemaphoreCount" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, waitSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "waitSemaphoreCount" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, waitSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pWaitSemaphores" VkSubmitInfo where+ type FieldType "pWaitSemaphores" VkSubmitInfo = Ptr VkSemaphore+ type FieldOptional "pWaitSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pWaitSemaphores" VkSubmitInfo =+ #{offset VkSubmitInfo, pWaitSemaphores}+ type FieldIsArray "pWaitSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubmitInfo, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ CanReadField "pWaitSemaphores" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pWaitSemaphores})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ CanWriteField "pWaitSemaphores" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, pWaitSemaphores}++instance {-# OVERLAPPING #-}+ HasField "pWaitDstStageMask" VkSubmitInfo where+ type FieldType "pWaitDstStageMask" VkSubmitInfo =+ Ptr VkPipelineStageFlags+ type FieldOptional "pWaitDstStageMask" VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pWaitDstStageMask" VkSubmitInfo =+ #{offset VkSubmitInfo, pWaitDstStageMask}+ type FieldIsArray "pWaitDstStageMask" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubmitInfo, pWaitDstStageMask}++instance {-# OVERLAPPING #-}+ CanReadField "pWaitDstStageMask" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pWaitDstStageMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, pWaitDstStageMask}++instance {-# OVERLAPPING #-}+ CanWriteField "pWaitDstStageMask" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, pWaitDstStageMask}++instance {-# OVERLAPPING #-}+ HasField "commandBufferCount" VkSubmitInfo where+ type FieldType "commandBufferCount" VkSubmitInfo = Word32+ type FieldOptional "commandBufferCount" VkSubmitInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "commandBufferCount" VkSubmitInfo =+ #{offset VkSubmitInfo, commandBufferCount}+ type FieldIsArray "commandBufferCount" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ CanReadField "commandBufferCount" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, commandBufferCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ CanWriteField "commandBufferCount" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, commandBufferCount}++instance {-# OVERLAPPING #-}+ HasField "pCommandBuffers" VkSubmitInfo where+ type FieldType "pCommandBuffers" VkSubmitInfo = Ptr VkCommandBuffer+ type FieldOptional "pCommandBuffers" VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pCommandBuffers" VkSubmitInfo =+ #{offset VkSubmitInfo, pCommandBuffers}+ type FieldIsArray "pCommandBuffers" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubmitInfo, pCommandBuffers}++instance {-# OVERLAPPING #-}+ CanReadField "pCommandBuffers" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pCommandBuffers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, pCommandBuffers}++instance {-# OVERLAPPING #-}+ CanWriteField "pCommandBuffers" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, pCommandBuffers}++instance {-# OVERLAPPING #-}+ HasField "signalSemaphoreCount" VkSubmitInfo where+ type FieldType "signalSemaphoreCount" VkSubmitInfo = Word32+ type FieldOptional "signalSemaphoreCount" VkSubmitInfo = 'True -- ' closing tick for hsc2hs+ type FieldOffset "signalSemaphoreCount" VkSubmitInfo =+ #{offset VkSubmitInfo, signalSemaphoreCount}+ type FieldIsArray "signalSemaphoreCount" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanReadField "signalSemaphoreCount" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, signalSemaphoreCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ CanWriteField "signalSemaphoreCount" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, signalSemaphoreCount}++instance {-# OVERLAPPING #-}+ HasField "pSignalSemaphores" VkSubmitInfo where+ type FieldType "pSignalSemaphores" VkSubmitInfo = Ptr VkSemaphore+ type FieldOptional "pSignalSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pSignalSemaphores" VkSubmitInfo =+ #{offset VkSubmitInfo, pSignalSemaphores}+ type FieldIsArray "pSignalSemaphores" VkSubmitInfo = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubmitInfo, pSignalSemaphores}++instance {-# OVERLAPPING #-}+ CanReadField "pSignalSemaphores" VkSubmitInfo where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubmitInfo, pSignalSemaphores})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubmitInfo, pSignalSemaphores}++instance {-# OVERLAPPING #-}+ CanWriteField "pSignalSemaphores" VkSubmitInfo where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubmitInfo, pSignalSemaphores}++instance Show VkSubmitInfo where+ showsPrec d x+ = showString "VkSubmitInfo {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "waitSemaphoreCount = " .+ showsPrec d (getField @"waitSemaphoreCount" x) .+ showString ", " .+ showString "pWaitSemaphores = " .+ showsPrec d (getField @"pWaitSemaphores" x) .+ showString ", " .+ showString "pWaitDstStageMask = " .+ showsPrec d (getField @"pWaitDstStageMask" x) .+ showString ", " .+ showString "commandBufferCount = " .+ showsPrec d (getField @"commandBufferCount" x) .+ showString ", " .+ showString "pCommandBuffers = " .+ showsPrec d (getField @"pCommandBuffers" x) .+ showString ", " .+ showString "signalSemaphoreCount = " .+ showsPrec d+ (getField @"signalSemaphoreCount" x)+ .+ showString ", " .+ showString "pSignalSemaphores = " .+ showsPrec d+ (getField @"pSignalSemaphores" x)+ . showChar '}'
@@ -0,0 +1,929 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Subpass+ (VkSubpassDependency(..), VkSubpassDescription(..),+ VkSubpassSampleLocationsEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.AccessFlags (VkAccessFlags)+import Graphics.Vulkan.Types.Enum.DependencyFlags (VkDependencyFlags)+import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineBindPoint,+ VkPipelineStageFlags)+import Graphics.Vulkan.Types.Enum.Subpass (VkSubpassDescriptionFlags)+import Graphics.Vulkan.Types.Struct.Attachment (VkAttachmentReference)+import Graphics.Vulkan.Types.Struct.SampleLocation (VkSampleLocationsInfoEXT)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSubpassDependency {+-- > uint32_t srcSubpass;+-- > uint32_t dstSubpass;+-- > VkPipelineStageFlags srcStageMask;+-- > VkPipelineStageFlags dstStageMask;+-- > VkAccessFlags srcAccessMask;+-- > VkAccessFlags dstAccessMask;+-- > VkDependencyFlags dependencyFlags;+-- > } VkSubpassDependency;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassDependency VkSubpassDependency registry at www.khronos.org>+data VkSubpassDependency = VkSubpassDependency## Addr## ByteArray##++instance Eq VkSubpassDependency where+ (VkSubpassDependency## a _) == x@(VkSubpassDependency## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSubpassDependency where+ (VkSubpassDependency## a _) `compare` x@(VkSubpassDependency## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSubpassDependency where+ sizeOf ~_ = #{size VkSubpassDependency}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSubpassDependency}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSubpassDependency where+ unsafeAddr (VkSubpassDependency## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSubpassDependency## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSubpassDependency## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSubpassDependency where+ type StructFields VkSubpassDependency =+ '["srcSubpass", "dstSubpass", "srcStageMask", "dstStageMask", -- ' closing tick for hsc2hs+ "srcAccessMask", "dstAccessMask", "dependencyFlags"]+ type CUnionType VkSubpassDependency = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSubpassDependency = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSubpassDependency = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "srcSubpass" VkSubpassDependency where+ type FieldType "srcSubpass" VkSubpassDependency = Word32+ type FieldOptional "srcSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcSubpass" VkSubpassDependency =+ #{offset VkSubpassDependency, srcSubpass}+ type FieldIsArray "srcSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubpassDependency, srcSubpass}++instance {-# OVERLAPPING #-}+ CanReadField "srcSubpass" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, srcSubpass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, srcSubpass}++instance {-# OVERLAPPING #-}+ CanWriteField "srcSubpass" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, srcSubpass}++instance {-# OVERLAPPING #-}+ HasField "dstSubpass" VkSubpassDependency where+ type FieldType "dstSubpass" VkSubpassDependency = Word32+ type FieldOptional "dstSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstSubpass" VkSubpassDependency =+ #{offset VkSubpassDependency, dstSubpass}+ type FieldIsArray "dstSubpass" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubpassDependency, dstSubpass}++instance {-# OVERLAPPING #-}+ CanReadField "dstSubpass" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dstSubpass})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, dstSubpass}++instance {-# OVERLAPPING #-}+ CanWriteField "dstSubpass" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, dstSubpass}++instance {-# OVERLAPPING #-}+ HasField "srcStageMask" VkSubpassDependency where+ type FieldType "srcStageMask" VkSubpassDependency =+ VkPipelineStageFlags+ type FieldOptional "srcStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs+ type FieldOffset "srcStageMask" VkSubpassDependency =+ #{offset VkSubpassDependency, srcStageMask}+ type FieldIsArray "srcStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDependency, srcStageMask}++instance {-# OVERLAPPING #-}+ CanReadField "srcStageMask" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, srcStageMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, srcStageMask}++instance {-# OVERLAPPING #-}+ CanWriteField "srcStageMask" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, srcStageMask}++instance {-# OVERLAPPING #-}+ HasField "dstStageMask" VkSubpassDependency where+ type FieldType "dstStageMask" VkSubpassDependency =+ VkPipelineStageFlags+ type FieldOptional "dstStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs+ type FieldOffset "dstStageMask" VkSubpassDependency =+ #{offset VkSubpassDependency, dstStageMask}+ type FieldIsArray "dstStageMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDependency, dstStageMask}++instance {-# OVERLAPPING #-}+ CanReadField "dstStageMask" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dstStageMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, dstStageMask}++instance {-# OVERLAPPING #-}+ CanWriteField "dstStageMask" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, dstStageMask}++instance {-# OVERLAPPING #-}+ HasField "srcAccessMask" VkSubpassDependency where+ type FieldType "srcAccessMask" VkSubpassDependency = VkAccessFlags+ type FieldOptional "srcAccessMask" VkSubpassDependency = 'True -- ' closing tick for hsc2hs+ type FieldOffset "srcAccessMask" VkSubpassDependency =+ #{offset VkSubpassDependency, srcAccessMask}+ type FieldIsArray "srcAccessMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDependency, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "srcAccessMask" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, srcAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, srcAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "srcAccessMask" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, srcAccessMask}++instance {-# OVERLAPPING #-}+ HasField "dstAccessMask" VkSubpassDependency where+ type FieldType "dstAccessMask" VkSubpassDependency = VkAccessFlags+ type FieldOptional "dstAccessMask" VkSubpassDependency = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dstAccessMask" VkSubpassDependency =+ #{offset VkSubpassDependency, dstAccessMask}+ type FieldIsArray "dstAccessMask" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDependency, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanReadField "dstAccessMask" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dstAccessMask})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, dstAccessMask}++instance {-# OVERLAPPING #-}+ CanWriteField "dstAccessMask" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, dstAccessMask}++instance {-# OVERLAPPING #-}+ HasField "dependencyFlags" VkSubpassDependency where+ type FieldType "dependencyFlags" VkSubpassDependency =+ VkDependencyFlags+ type FieldOptional "dependencyFlags" VkSubpassDependency = 'True -- ' closing tick for hsc2hs+ type FieldOffset "dependencyFlags" VkSubpassDependency =+ #{offset VkSubpassDependency, dependencyFlags}+ type FieldIsArray "dependencyFlags" VkSubpassDependency = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDependency, dependencyFlags}++instance {-# OVERLAPPING #-}+ CanReadField "dependencyFlags" VkSubpassDependency where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDependency, dependencyFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDependency, dependencyFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "dependencyFlags" VkSubpassDependency where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDependency, dependencyFlags}++instance Show VkSubpassDependency where+ showsPrec d x+ = showString "VkSubpassDependency {" .+ showString "srcSubpass = " .+ showsPrec d (getField @"srcSubpass" x) .+ showString ", " .+ showString "dstSubpass = " .+ showsPrec d (getField @"dstSubpass" x) .+ showString ", " .+ showString "srcStageMask = " .+ showsPrec d (getField @"srcStageMask" x) .+ showString ", " .+ showString "dstStageMask = " .+ showsPrec d (getField @"dstStageMask" x) .+ showString ", " .+ showString "srcAccessMask = " .+ showsPrec d (getField @"srcAccessMask" x) .+ showString ", " .+ showString "dstAccessMask = " .+ showsPrec d (getField @"dstAccessMask" x) .+ showString ", " .+ showString "dependencyFlags = " .+ showsPrec d (getField @"dependencyFlags" x) .+ showChar '}'++-- | > typedef struct VkSubpassDescription {+-- > VkSubpassDescriptionFlags flags;+-- > VkPipelineBindPoint pipelineBindPoint;+-- > uint32_t inputAttachmentCount;+-- > const VkAttachmentReference* pInputAttachments;+-- > uint32_t colorAttachmentCount;+-- > const VkAttachmentReference* pColorAttachments;+-- > const VkAttachmentReference* pResolveAttachments;+-- > const VkAttachmentReference* pDepthStencilAttachment;+-- > uint32_t preserveAttachmentCount;+-- > const uint32_t* pPreserveAttachments;+-- > } VkSubpassDescription;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassDescription VkSubpassDescription registry at www.khronos.org>+data VkSubpassDescription = VkSubpassDescription## Addr## ByteArray##++instance Eq VkSubpassDescription where+ (VkSubpassDescription## a _) == x@(VkSubpassDescription## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSubpassDescription where+ (VkSubpassDescription## a _) `compare` x@(VkSubpassDescription## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSubpassDescription where+ sizeOf ~_ = #{size VkSubpassDescription}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSubpassDescription}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSubpassDescription where+ unsafeAddr (VkSubpassDescription## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSubpassDescription## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSubpassDescription## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSubpassDescription where+ type StructFields VkSubpassDescription =+ '["flags", "pipelineBindPoint", "inputAttachmentCount", -- ' closing tick for hsc2hs+ "pInputAttachments", "colorAttachmentCount", "pColorAttachments",+ "pResolveAttachments", "pDepthStencilAttachment",+ "preserveAttachmentCount", "pPreserveAttachments"]+ type CUnionType VkSubpassDescription = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSubpassDescription = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSubpassDescription = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "flags" VkSubpassDescription+ where+ type FieldType "flags" VkSubpassDescription =+ VkSubpassDescriptionFlags+ type FieldOptional "flags" VkSubpassDescription = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSubpassDescription =+ #{offset VkSubpassDescription, flags}+ type FieldIsArray "flags" VkSubpassDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubpassDescription, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, flags}++instance {-# OVERLAPPING #-}+ HasField "pipelineBindPoint" VkSubpassDescription where+ type FieldType "pipelineBindPoint" VkSubpassDescription =+ VkPipelineBindPoint+ type FieldOptional "pipelineBindPoint" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pipelineBindPoint" VkSubpassDescription =+ #{offset VkSubpassDescription, pipelineBindPoint}+ type FieldIsArray "pipelineBindPoint" VkSubpassDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ CanReadField "pipelineBindPoint" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pipelineBindPoint})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ CanWriteField "pipelineBindPoint" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, pipelineBindPoint}++instance {-# OVERLAPPING #-}+ HasField "inputAttachmentCount" VkSubpassDescription where+ type FieldType "inputAttachmentCount" VkSubpassDescription = Word32+ type FieldOptional "inputAttachmentCount" VkSubpassDescription =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "inputAttachmentCount" VkSubpassDescription =+ #{offset VkSubpassDescription, inputAttachmentCount}+ type FieldIsArray "inputAttachmentCount" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, inputAttachmentCount}++instance {-# OVERLAPPING #-}+ CanReadField "inputAttachmentCount" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, inputAttachmentCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, inputAttachmentCount}++instance {-# OVERLAPPING #-}+ CanWriteField "inputAttachmentCount" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, inputAttachmentCount}++instance {-# OVERLAPPING #-}+ HasField "pInputAttachments" VkSubpassDescription where+ type FieldType "pInputAttachments" VkSubpassDescription =+ Ptr VkAttachmentReference+ type FieldOptional "pInputAttachments" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pInputAttachments" VkSubpassDescription =+ #{offset VkSubpassDescription, pInputAttachments}+ type FieldIsArray "pInputAttachments" VkSubpassDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, pInputAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pInputAttachments" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pInputAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, pInputAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pInputAttachments" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, pInputAttachments}++instance {-# OVERLAPPING #-}+ HasField "colorAttachmentCount" VkSubpassDescription where+ type FieldType "colorAttachmentCount" VkSubpassDescription = Word32+ type FieldOptional "colorAttachmentCount" VkSubpassDescription =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "colorAttachmentCount" VkSubpassDescription =+ #{offset VkSubpassDescription, colorAttachmentCount}+ type FieldIsArray "colorAttachmentCount" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, colorAttachmentCount}++instance {-# OVERLAPPING #-}+ CanReadField "colorAttachmentCount" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, colorAttachmentCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, colorAttachmentCount}++instance {-# OVERLAPPING #-}+ CanWriteField "colorAttachmentCount" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, colorAttachmentCount}++instance {-# OVERLAPPING #-}+ HasField "pColorAttachments" VkSubpassDescription where+ type FieldType "pColorAttachments" VkSubpassDescription =+ Ptr VkAttachmentReference+ type FieldOptional "pColorAttachments" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pColorAttachments" VkSubpassDescription =+ #{offset VkSubpassDescription, pColorAttachments}+ type FieldIsArray "pColorAttachments" VkSubpassDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, pColorAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pColorAttachments" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pColorAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, pColorAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pColorAttachments" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, pColorAttachments}++instance {-# OVERLAPPING #-}+ HasField "pResolveAttachments" VkSubpassDescription where+ type FieldType "pResolveAttachments" VkSubpassDescription =+ Ptr VkAttachmentReference+ type FieldOptional "pResolveAttachments" VkSubpassDescription =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pResolveAttachments" VkSubpassDescription =+ #{offset VkSubpassDescription, pResolveAttachments}+ type FieldIsArray "pResolveAttachments" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, pResolveAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pResolveAttachments" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pResolveAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, pResolveAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pResolveAttachments" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, pResolveAttachments}++instance {-# OVERLAPPING #-}+ HasField "pDepthStencilAttachment" VkSubpassDescription where+ type FieldType "pDepthStencilAttachment" VkSubpassDescription =+ Ptr VkAttachmentReference+ type FieldOptional "pDepthStencilAttachment" VkSubpassDescription =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "pDepthStencilAttachment" VkSubpassDescription =+ #{offset VkSubpassDescription, pDepthStencilAttachment}+ type FieldIsArray "pDepthStencilAttachment" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, pDepthStencilAttachment}++instance {-# OVERLAPPING #-}+ CanReadField "pDepthStencilAttachment" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pDepthStencilAttachment})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, pDepthStencilAttachment}++instance {-# OVERLAPPING #-}+ CanWriteField "pDepthStencilAttachment" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, pDepthStencilAttachment}++instance {-# OVERLAPPING #-}+ HasField "preserveAttachmentCount" VkSubpassDescription where+ type FieldType "preserveAttachmentCount" VkSubpassDescription =+ Word32+ type FieldOptional "preserveAttachmentCount" VkSubpassDescription =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "preserveAttachmentCount" VkSubpassDescription =+ #{offset VkSubpassDescription, preserveAttachmentCount}+ type FieldIsArray "preserveAttachmentCount" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, preserveAttachmentCount}++instance {-# OVERLAPPING #-}+ CanReadField "preserveAttachmentCount" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, preserveAttachmentCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, preserveAttachmentCount}++instance {-# OVERLAPPING #-}+ CanWriteField "preserveAttachmentCount" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, preserveAttachmentCount}++instance {-# OVERLAPPING #-}+ HasField "pPreserveAttachments" VkSubpassDescription where+ type FieldType "pPreserveAttachments" VkSubpassDescription =+ Ptr Word32+ type FieldOptional "pPreserveAttachments" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pPreserveAttachments" VkSubpassDescription =+ #{offset VkSubpassDescription, pPreserveAttachments}+ type FieldIsArray "pPreserveAttachments" VkSubpassDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassDescription, pPreserveAttachments}++instance {-# OVERLAPPING #-}+ CanReadField "pPreserveAttachments" VkSubpassDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassDescription, pPreserveAttachments})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassDescription, pPreserveAttachments}++instance {-# OVERLAPPING #-}+ CanWriteField "pPreserveAttachments" VkSubpassDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassDescription, pPreserveAttachments}++instance Show VkSubpassDescription where+ showsPrec d x+ = showString "VkSubpassDescription {" .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "pipelineBindPoint = " .+ showsPrec d (getField @"pipelineBindPoint" x) .+ showString ", " .+ showString "inputAttachmentCount = " .+ showsPrec d (getField @"inputAttachmentCount" x) .+ showString ", " .+ showString "pInputAttachments = " .+ showsPrec d (getField @"pInputAttachments" x) .+ showString ", " .+ showString "colorAttachmentCount = " .+ showsPrec d (getField @"colorAttachmentCount" x) .+ showString ", " .+ showString "pColorAttachments = " .+ showsPrec d (getField @"pColorAttachments" x) .+ showString ", " .+ showString "pResolveAttachments = " .+ showsPrec d (getField @"pResolveAttachments" x)+ .+ showString ", " .+ showString "pDepthStencilAttachment = " .+ showsPrec d+ (getField @"pDepthStencilAttachment" x)+ .+ showString ", " .+ showString+ "preserveAttachmentCount = "+ .+ showsPrec d+ (getField+ @"preserveAttachmentCount"+ x)+ .+ showString ", " .+ showString+ "pPreserveAttachments = "+ .+ showsPrec d+ (getField+ @"pPreserveAttachments"+ x)+ . showChar '}'++-- | > typedef struct VkSubpassSampleLocationsEXT {+-- > uint32_t subpassIndex;+-- > VkSampleLocationsInfoEXT sampleLocationsInfo;+-- > } VkSubpassSampleLocationsEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT registry at www.khronos.org>+data VkSubpassSampleLocationsEXT = VkSubpassSampleLocationsEXT## Addr##+ ByteArray##++instance Eq VkSubpassSampleLocationsEXT where+ (VkSubpassSampleLocationsEXT## a _) ==+ x@(VkSubpassSampleLocationsEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSubpassSampleLocationsEXT where+ (VkSubpassSampleLocationsEXT## a _) `compare`+ x@(VkSubpassSampleLocationsEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSubpassSampleLocationsEXT where+ sizeOf ~_ = #{size VkSubpassSampleLocationsEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSubpassSampleLocationsEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSubpassSampleLocationsEXT where+ unsafeAddr (VkSubpassSampleLocationsEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSubpassSampleLocationsEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSubpassSampleLocationsEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSubpassSampleLocationsEXT where+ type StructFields VkSubpassSampleLocationsEXT =+ '["subpassIndex", "sampleLocationsInfo"] -- ' closing tick for hsc2hs+ type CUnionType VkSubpassSampleLocationsEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSubpassSampleLocationsEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSubpassSampleLocationsEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "subpassIndex" VkSubpassSampleLocationsEXT where+ type FieldType "subpassIndex" VkSubpassSampleLocationsEXT = Word32+ type FieldOptional "subpassIndex" VkSubpassSampleLocationsEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "subpassIndex" VkSubpassSampleLocationsEXT =+ #{offset VkSubpassSampleLocationsEXT, subpassIndex}+ type FieldIsArray "subpassIndex" VkSubpassSampleLocationsEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassSampleLocationsEXT, subpassIndex}++instance {-# OVERLAPPING #-}+ CanReadField "subpassIndex" VkSubpassSampleLocationsEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassSampleLocationsEXT, subpassIndex})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassSampleLocationsEXT, subpassIndex}++instance {-# OVERLAPPING #-}+ CanWriteField "subpassIndex" VkSubpassSampleLocationsEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassSampleLocationsEXT, subpassIndex}++instance {-# OVERLAPPING #-}+ HasField "sampleLocationsInfo" VkSubpassSampleLocationsEXT where+ type FieldType "sampleLocationsInfo" VkSubpassSampleLocationsEXT =+ VkSampleLocationsInfoEXT+ type FieldOptional "sampleLocationsInfo"+ VkSubpassSampleLocationsEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sampleLocationsInfo" VkSubpassSampleLocationsEXT+ =+ #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}+ type FieldIsArray "sampleLocationsInfo" VkSubpassSampleLocationsEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}++instance {-# OVERLAPPING #-}+ CanReadField "sampleLocationsInfo" VkSubpassSampleLocationsEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}++instance {-# OVERLAPPING #-}+ CanWriteField "sampleLocationsInfo" VkSubpassSampleLocationsEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubpassSampleLocationsEXT, sampleLocationsInfo}++instance Show VkSubpassSampleLocationsEXT where+ showsPrec d x+ = showString "VkSubpassSampleLocationsEXT {" .+ showString "subpassIndex = " .+ showsPrec d (getField @"subpassIndex" x) .+ showString ", " .+ showString "sampleLocationsInfo = " .+ showsPrec d (getField @"sampleLocationsInfo" x) . showChar '}'
@@ -0,0 +1,248 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.SubresourceLayout+ (VkSubresourceLayout(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkDeviceSize)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSubresourceLayout {+-- > VkDeviceSize offset;+-- > VkDeviceSize size;+-- > VkDeviceSize rowPitch;+-- > VkDeviceSize arrayPitch;+-- > VkDeviceSize depthPitch;+-- > } VkSubresourceLayout;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubresourceLayout VkSubresourceLayout registry at www.khronos.org>+data VkSubresourceLayout = VkSubresourceLayout## Addr## ByteArray##++instance Eq VkSubresourceLayout where+ (VkSubresourceLayout## a _) == x@(VkSubresourceLayout## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSubresourceLayout where+ (VkSubresourceLayout## a _) `compare` x@(VkSubresourceLayout## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSubresourceLayout where+ sizeOf ~_ = #{size VkSubresourceLayout}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSubresourceLayout}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSubresourceLayout where+ unsafeAddr (VkSubresourceLayout## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSubresourceLayout## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSubresourceLayout## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSubresourceLayout where+ type StructFields VkSubresourceLayout =+ '["offset", "size", "rowPitch", "arrayPitch", "depthPitch"] -- ' closing tick for hsc2hs+ type CUnionType VkSubresourceLayout = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSubresourceLayout = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSubresourceLayout = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "offset" VkSubresourceLayout+ where+ type FieldType "offset" VkSubresourceLayout = VkDeviceSize+ type FieldOptional "offset" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkSubresourceLayout =+ #{offset VkSubresourceLayout, offset}+ type FieldIsArray "offset" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubresourceLayout, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkSubresourceLayout where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubresourceLayout, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkSubresourceLayout where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubresourceLayout, offset}++instance {-# OVERLAPPING #-} HasField "size" VkSubresourceLayout+ where+ type FieldType "size" VkSubresourceLayout = VkDeviceSize+ type FieldOptional "size" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs+ type FieldOffset "size" VkSubresourceLayout =+ #{offset VkSubresourceLayout, size}+ type FieldIsArray "size" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubresourceLayout, size}++instance {-# OVERLAPPING #-}+ CanReadField "size" VkSubresourceLayout where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, size})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubresourceLayout, size}++instance {-# OVERLAPPING #-}+ CanWriteField "size" VkSubresourceLayout where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubresourceLayout, size}++instance {-# OVERLAPPING #-}+ HasField "rowPitch" VkSubresourceLayout where+ type FieldType "rowPitch" VkSubresourceLayout = VkDeviceSize+ type FieldOptional "rowPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs+ type FieldOffset "rowPitch" VkSubresourceLayout =+ #{offset VkSubresourceLayout, rowPitch}+ type FieldIsArray "rowPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubresourceLayout, rowPitch}++instance {-# OVERLAPPING #-}+ CanReadField "rowPitch" VkSubresourceLayout where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, rowPitch})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubresourceLayout, rowPitch}++instance {-# OVERLAPPING #-}+ CanWriteField "rowPitch" VkSubresourceLayout where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubresourceLayout, rowPitch}++instance {-# OVERLAPPING #-}+ HasField "arrayPitch" VkSubresourceLayout where+ type FieldType "arrayPitch" VkSubresourceLayout = VkDeviceSize+ type FieldOptional "arrayPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs+ type FieldOffset "arrayPitch" VkSubresourceLayout =+ #{offset VkSubresourceLayout, arrayPitch}+ type FieldIsArray "arrayPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubresourceLayout, arrayPitch}++instance {-# OVERLAPPING #-}+ CanReadField "arrayPitch" VkSubresourceLayout where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, arrayPitch})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubresourceLayout, arrayPitch}++instance {-# OVERLAPPING #-}+ CanWriteField "arrayPitch" VkSubresourceLayout where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubresourceLayout, arrayPitch}++instance {-# OVERLAPPING #-}+ HasField "depthPitch" VkSubresourceLayout where+ type FieldType "depthPitch" VkSubresourceLayout = VkDeviceSize+ type FieldOptional "depthPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs+ type FieldOffset "depthPitch" VkSubresourceLayout =+ #{offset VkSubresourceLayout, depthPitch}+ type FieldIsArray "depthPitch" VkSubresourceLayout = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSubresourceLayout, depthPitch}++instance {-# OVERLAPPING #-}+ CanReadField "depthPitch" VkSubresourceLayout where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSubresourceLayout, depthPitch})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSubresourceLayout, depthPitch}++instance {-# OVERLAPPING #-}+ CanWriteField "depthPitch" VkSubresourceLayout where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSubresourceLayout, depthPitch}++instance Show VkSubresourceLayout where+ showsPrec d x+ = showString "VkSubresourceLayout {" .+ showString "offset = " .+ showsPrec d (getField @"offset" x) .+ showString ", " .+ showString "size = " .+ showsPrec d (getField @"size" x) .+ showString ", " .+ showString "rowPitch = " .+ showsPrec d (getField @"rowPitch" x) .+ showString ", " .+ showString "arrayPitch = " .+ showsPrec d (getField @"arrayPitch" x) .+ showString ", " .+ showString "depthPitch = " .+ showsPrec d (getField @"depthPitch" x) . showChar '}'
@@ -0,0 +1,1548 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Surface+ (VkSurfaceCapabilities2EXT(..), VkSurfaceCapabilities2KHR(..),+ VkSurfaceCapabilitiesKHR(..), VkSurfaceFormat2KHR(..),+ VkSurfaceFormatKHR(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Color (VkColorSpaceKHR)+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR (VkCompositeAlphaFlagsKHR)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.Image (VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.Surface (VkSurfaceCounterFlagsEXT,+ VkSurfaceTransformFlagBitsKHR,+ VkSurfaceTransformFlagsKHR)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSurfaceCapabilities2EXT {+-- > VkStructureType sType;+-- > void* pNext;+-- > uint32_t minImageCount;+-- > uint32_t maxImageCount;+-- > VkExtent2D currentExtent;+-- > VkExtent2D minImageExtent;+-- > VkExtent2D maxImageExtent;+-- > uint32_t maxImageArrayLayers;+-- > VkSurfaceTransformFlagsKHR supportedTransforms;+-- > VkSurfaceTransformFlagBitsKHR currentTransform;+-- > VkCompositeAlphaFlagsKHR supportedCompositeAlpha;+-- > VkImageUsageFlags supportedUsageFlags;+-- > VkSurfaceCounterFlagsEXT supportedSurfaceCounters;+-- > } VkSurfaceCapabilities2EXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT registry at www.khronos.org>+data VkSurfaceCapabilities2EXT = VkSurfaceCapabilities2EXT## Addr##+ ByteArray##++instance Eq VkSurfaceCapabilities2EXT where+ (VkSurfaceCapabilities2EXT## a _) ==+ x@(VkSurfaceCapabilities2EXT## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSurfaceCapabilities2EXT where+ (VkSurfaceCapabilities2EXT## a _) `compare`+ x@(VkSurfaceCapabilities2EXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSurfaceCapabilities2EXT where+ sizeOf ~_ = #{size VkSurfaceCapabilities2EXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSurfaceCapabilities2EXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSurfaceCapabilities2EXT where+ unsafeAddr (VkSurfaceCapabilities2EXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSurfaceCapabilities2EXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSurfaceCapabilities2EXT## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSurfaceCapabilities2EXT where+ type StructFields VkSurfaceCapabilities2EXT =+ '["sType", "pNext", "minImageCount", "maxImageCount", -- ' closing tick for hsc2hs+ "currentExtent", "minImageExtent", "maxImageExtent",+ "maxImageArrayLayers", "supportedTransforms", "currentTransform",+ "supportedCompositeAlpha", "supportedUsageFlags",+ "supportedSurfaceCounters"]+ type CUnionType VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSurfaceCapabilities2EXT = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSurfaceCapabilities2EXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSurfaceCapabilities2EXT where+ type FieldType "sType" VkSurfaceCapabilities2EXT = VkStructureType+ type FieldOptional "sType" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, sType}+ type FieldIsArray "sType" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSurfaceCapabilities2EXT where+ type FieldType "pNext" VkSurfaceCapabilities2EXT = Ptr Void+ type FieldOptional "pNext" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, pNext}+ type FieldIsArray "pNext" VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "minImageCount" VkSurfaceCapabilities2EXT where+ type FieldType "minImageCount" VkSurfaceCapabilities2EXT = Word32+ type FieldOptional "minImageCount" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImageCount" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, minImageCount}+ type FieldIsArray "minImageCount" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, minImageCount}++instance {-# OVERLAPPING #-}+ CanReadField "minImageCount" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, minImageCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, minImageCount}++instance {-# OVERLAPPING #-}+ CanWriteField "minImageCount" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, minImageCount}++instance {-# OVERLAPPING #-}+ HasField "maxImageCount" VkSurfaceCapabilities2EXT where+ type FieldType "maxImageCount" VkSurfaceCapabilities2EXT = Word32+ type FieldOptional "maxImageCount" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageCount" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, maxImageCount}+ type FieldIsArray "maxImageCount" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, maxImageCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageCount" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, maxImageCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageCount" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageCount}++instance {-# OVERLAPPING #-}+ HasField "currentExtent" VkSurfaceCapabilities2EXT where+ type FieldType "currentExtent" VkSurfaceCapabilities2EXT =+ VkExtent2D+ type FieldOptional "currentExtent" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "currentExtent" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, currentExtent}+ type FieldIsArray "currentExtent" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, currentExtent}++instance {-# OVERLAPPING #-}+ CanReadField "currentExtent" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, currentExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, currentExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "currentExtent" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, currentExtent}++instance {-# OVERLAPPING #-}+ HasField "minImageExtent" VkSurfaceCapabilities2EXT where+ type FieldType "minImageExtent" VkSurfaceCapabilities2EXT =+ VkExtent2D+ type FieldOptional "minImageExtent" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImageExtent" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, minImageExtent}+ type FieldIsArray "minImageExtent" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, minImageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "minImageExtent" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, minImageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, minImageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "minImageExtent" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, minImageExtent}++instance {-# OVERLAPPING #-}+ HasField "maxImageExtent" VkSurfaceCapabilities2EXT where+ type FieldType "maxImageExtent" VkSurfaceCapabilities2EXT =+ VkExtent2D+ type FieldOptional "maxImageExtent" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageExtent" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, maxImageExtent}+ type FieldIsArray "maxImageExtent" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, maxImageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageExtent" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, maxImageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageExtent" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageExtent}++instance {-# OVERLAPPING #-}+ HasField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where+ type FieldType "maxImageArrayLayers" VkSurfaceCapabilities2EXT =+ Word32+ type FieldOptional "maxImageArrayLayers" VkSurfaceCapabilities2EXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageArrayLayers" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}+ type FieldIsArray "maxImageArrayLayers" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ HasField "supportedTransforms" VkSurfaceCapabilities2EXT where+ type FieldType "supportedTransforms" VkSurfaceCapabilities2EXT =+ VkSurfaceTransformFlagsKHR+ type FieldOptional "supportedTransforms" VkSurfaceCapabilities2EXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedTransforms" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, supportedTransforms}+ type FieldIsArray "supportedTransforms" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, supportedTransforms}++instance {-# OVERLAPPING #-}+ CanReadField "supportedTransforms" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedTransforms})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedTransforms}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedTransforms" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedTransforms}++instance {-# OVERLAPPING #-}+ HasField "currentTransform" VkSurfaceCapabilities2EXT where+ type FieldType "currentTransform" VkSurfaceCapabilities2EXT =+ VkSurfaceTransformFlagBitsKHR+ type FieldOptional "currentTransform" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "currentTransform" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, currentTransform}+ type FieldIsArray "currentTransform" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, currentTransform}++instance {-# OVERLAPPING #-}+ CanReadField "currentTransform" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, currentTransform})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, currentTransform}++instance {-# OVERLAPPING #-}+ CanWriteField "currentTransform" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, currentTransform}++instance {-# OVERLAPPING #-}+ HasField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT where+ type FieldType "supportedCompositeAlpha" VkSurfaceCapabilities2EXT+ = VkCompositeAlphaFlagsKHR+ type FieldOptional "supportedCompositeAlpha"+ VkSurfaceCapabilities2EXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedCompositeAlpha"+ VkSurfaceCapabilities2EXT+ =+ #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}+ type FieldIsArray "supportedCompositeAlpha"+ VkSurfaceCapabilities2EXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}++instance {-# OVERLAPPING #-}+ CanReadField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedCompositeAlpha}++instance {-# OVERLAPPING #-}+ HasField "supportedUsageFlags" VkSurfaceCapabilities2EXT where+ type FieldType "supportedUsageFlags" VkSurfaceCapabilities2EXT =+ VkImageUsageFlags+ type FieldOptional "supportedUsageFlags" VkSurfaceCapabilities2EXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedUsageFlags" VkSurfaceCapabilities2EXT =+ #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}+ type FieldIsArray "supportedUsageFlags" VkSurfaceCapabilities2EXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "supportedUsageFlags" VkSurfaceCapabilities2EXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedUsageFlags" VkSurfaceCapabilities2EXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedUsageFlags}++instance {-# OVERLAPPING #-}+ HasField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT where+ type FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT+ = VkSurfaceCounterFlagsEXT+ type FieldOptional "supportedSurfaceCounters"+ VkSurfaceCapabilities2EXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedSurfaceCounters"+ VkSurfaceCapabilities2EXT+ =+ #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}+ type FieldIsArray "supportedSurfaceCounters"+ VkSurfaceCapabilities2EXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}++instance {-# OVERLAPPING #-}+ CanReadField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2EXT, supportedSurfaceCounters}++instance Show VkSurfaceCapabilities2EXT where+ showsPrec d x+ = showString "VkSurfaceCapabilities2EXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "minImageCount = " .+ showsPrec d (getField @"minImageCount" x) .+ showString ", " .+ showString "maxImageCount = " .+ showsPrec d (getField @"maxImageCount" x) .+ showString ", " .+ showString "currentExtent = " .+ showsPrec d (getField @"currentExtent" x) .+ showString ", " .+ showString "minImageExtent = " .+ showsPrec d (getField @"minImageExtent" x) .+ showString ", " .+ showString "maxImageExtent = " .+ showsPrec d (getField @"maxImageExtent" x) .+ showString ", " .+ showString "maxImageArrayLayers = " .+ showsPrec d+ (getField @"maxImageArrayLayers" x)+ .+ showString ", " .+ showString "supportedTransforms = " .+ showsPrec d+ (getField @"supportedTransforms"+ x)+ .+ showString ", " .+ showString "currentTransform = "+ .+ showsPrec d+ (getField+ @"currentTransform"+ x)+ .+ showString ", " .+ showString+ "supportedCompositeAlpha = "+ .+ showsPrec d+ (getField+ @"supportedCompositeAlpha"+ x)+ .+ showString ", " .+ showString+ "supportedUsageFlags = "+ .+ showsPrec d+ (getField+ @"supportedUsageFlags"+ x)+ .+ showString ", "+ .+ showString+ "supportedSurfaceCounters = "+ .+ showsPrec d+ (getField+ @"supportedSurfaceCounters"+ x)+ .+ showChar+ '}'++-- | > typedef struct VkSurfaceCapabilities2KHR {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkSurfaceCapabilitiesKHR surfaceCapabilities;+-- > } VkSurfaceCapabilities2KHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR registry at www.khronos.org>+data VkSurfaceCapabilities2KHR = VkSurfaceCapabilities2KHR## Addr##+ ByteArray##++instance Eq VkSurfaceCapabilities2KHR where+ (VkSurfaceCapabilities2KHR## a _) ==+ x@(VkSurfaceCapabilities2KHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSurfaceCapabilities2KHR where+ (VkSurfaceCapabilities2KHR## a _) `compare`+ x@(VkSurfaceCapabilities2KHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSurfaceCapabilities2KHR where+ sizeOf ~_ = #{size VkSurfaceCapabilities2KHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSurfaceCapabilities2KHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSurfaceCapabilities2KHR where+ unsafeAddr (VkSurfaceCapabilities2KHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSurfaceCapabilities2KHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSurfaceCapabilities2KHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSurfaceCapabilities2KHR where+ type StructFields VkSurfaceCapabilities2KHR =+ '["sType", "pNext", "surfaceCapabilities"] -- ' closing tick for hsc2hs+ type CUnionType VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSurfaceCapabilities2KHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSurfaceCapabilities2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSurfaceCapabilities2KHR where+ type FieldType "sType" VkSurfaceCapabilities2KHR = VkStructureType+ type FieldOptional "sType" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSurfaceCapabilities2KHR =+ #{offset VkSurfaceCapabilities2KHR, sType}+ type FieldIsArray "sType" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2KHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSurfaceCapabilities2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2KHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2KHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSurfaceCapabilities2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2KHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSurfaceCapabilities2KHR where+ type FieldType "pNext" VkSurfaceCapabilities2KHR = Ptr Void+ type FieldOptional "pNext" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSurfaceCapabilities2KHR =+ #{offset VkSurfaceCapabilities2KHR, pNext}+ type FieldIsArray "pNext" VkSurfaceCapabilities2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2KHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSurfaceCapabilities2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2KHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2KHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSurfaceCapabilities2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2KHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "surfaceCapabilities" VkSurfaceCapabilities2KHR where+ type FieldType "surfaceCapabilities" VkSurfaceCapabilities2KHR =+ VkSurfaceCapabilitiesKHR+ type FieldOptional "surfaceCapabilities" VkSurfaceCapabilities2KHR+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "surfaceCapabilities" VkSurfaceCapabilities2KHR =+ #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}+ type FieldIsArray "surfaceCapabilities" VkSurfaceCapabilities2KHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}++instance {-# OVERLAPPING #-}+ CanReadField "surfaceCapabilities" VkSurfaceCapabilities2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}++instance {-# OVERLAPPING #-}+ CanWriteField "surfaceCapabilities" VkSurfaceCapabilities2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilities2KHR, surfaceCapabilities}++instance Show VkSurfaceCapabilities2KHR where+ showsPrec d x+ = showString "VkSurfaceCapabilities2KHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "surfaceCapabilities = " .+ showsPrec d (getField @"surfaceCapabilities" x) . showChar '}'++-- | > typedef struct VkSurfaceCapabilitiesKHR {+-- > uint32_t minImageCount;+-- > uint32_t maxImageCount;+-- > VkExtent2D currentExtent;+-- > VkExtent2D minImageExtent;+-- > VkExtent2D maxImageExtent;+-- > uint32_t maxImageArrayLayers;+-- > VkSurfaceTransformFlagsKHR supportedTransforms;+-- > VkSurfaceTransformFlagBitsKHR currentTransform;+-- > VkCompositeAlphaFlagsKHR supportedCompositeAlpha;+-- > VkImageUsageFlags supportedUsageFlags;+-- > } VkSurfaceCapabilitiesKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR registry at www.khronos.org>+data VkSurfaceCapabilitiesKHR = VkSurfaceCapabilitiesKHR## Addr##+ ByteArray##++instance Eq VkSurfaceCapabilitiesKHR where+ (VkSurfaceCapabilitiesKHR## a _) ==+ x@(VkSurfaceCapabilitiesKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSurfaceCapabilitiesKHR where+ (VkSurfaceCapabilitiesKHR## a _) `compare`+ x@(VkSurfaceCapabilitiesKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSurfaceCapabilitiesKHR where+ sizeOf ~_ = #{size VkSurfaceCapabilitiesKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSurfaceCapabilitiesKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSurfaceCapabilitiesKHR where+ unsafeAddr (VkSurfaceCapabilitiesKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSurfaceCapabilitiesKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSurfaceCapabilitiesKHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSurfaceCapabilitiesKHR where+ type StructFields VkSurfaceCapabilitiesKHR =+ '["minImageCount", "maxImageCount", "currentExtent", -- ' closing tick for hsc2hs+ "minImageExtent", "maxImageExtent", "maxImageArrayLayers",+ "supportedTransforms", "currentTransform",+ "supportedCompositeAlpha", "supportedUsageFlags"]+ type CUnionType VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSurfaceCapabilitiesKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSurfaceCapabilitiesKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "minImageCount" VkSurfaceCapabilitiesKHR where+ type FieldType "minImageCount" VkSurfaceCapabilitiesKHR = Word32+ type FieldOptional "minImageCount" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImageCount" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, minImageCount}+ type FieldIsArray "minImageCount" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, minImageCount}++instance {-# OVERLAPPING #-}+ CanReadField "minImageCount" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, minImageCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageCount}++instance {-# OVERLAPPING #-}+ CanWriteField "minImageCount" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageCount}++instance {-# OVERLAPPING #-}+ HasField "maxImageCount" VkSurfaceCapabilitiesKHR where+ type FieldType "maxImageCount" VkSurfaceCapabilitiesKHR = Word32+ type FieldOptional "maxImageCount" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageCount" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, maxImageCount}+ type FieldIsArray "maxImageCount" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, maxImageCount}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageCount" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, maxImageCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageCount}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageCount" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageCount}++instance {-# OVERLAPPING #-}+ HasField "currentExtent" VkSurfaceCapabilitiesKHR where+ type FieldType "currentExtent" VkSurfaceCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "currentExtent" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "currentExtent" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, currentExtent}+ type FieldIsArray "currentExtent" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, currentExtent}++instance {-# OVERLAPPING #-}+ CanReadField "currentExtent" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, currentExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, currentExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "currentExtent" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, currentExtent}++instance {-# OVERLAPPING #-}+ HasField "minImageExtent" VkSurfaceCapabilitiesKHR where+ type FieldType "minImageExtent" VkSurfaceCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "minImageExtent" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImageExtent" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, minImageExtent}+ type FieldIsArray "minImageExtent" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, minImageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "minImageExtent" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, minImageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "minImageExtent" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, minImageExtent}++instance {-# OVERLAPPING #-}+ HasField "maxImageExtent" VkSurfaceCapabilitiesKHR where+ type FieldType "maxImageExtent" VkSurfaceCapabilitiesKHR =+ VkExtent2D+ type FieldOptional "maxImageExtent" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageExtent" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}+ type FieldIsArray "maxImageExtent" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageExtent" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, maxImageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageExtent" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageExtent}++instance {-# OVERLAPPING #-}+ HasField "maxImageArrayLayers" VkSurfaceCapabilitiesKHR where+ type FieldType "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =+ Word32+ type FieldOptional "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}+ type FieldIsArray "maxImageArrayLayers" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ CanReadField "maxImageArrayLayers" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "maxImageArrayLayers" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, maxImageArrayLayers}++instance {-# OVERLAPPING #-}+ HasField "supportedTransforms" VkSurfaceCapabilitiesKHR where+ type FieldType "supportedTransforms" VkSurfaceCapabilitiesKHR =+ VkSurfaceTransformFlagsKHR+ type FieldOptional "supportedTransforms" VkSurfaceCapabilitiesKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedTransforms" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}+ type FieldIsArray "supportedTransforms" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+ CanReadField "supportedTransforms" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, supportedTransforms})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedTransforms" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedTransforms}++instance {-# OVERLAPPING #-}+ HasField "currentTransform" VkSurfaceCapabilitiesKHR where+ type FieldType "currentTransform" VkSurfaceCapabilitiesKHR =+ VkSurfaceTransformFlagBitsKHR+ type FieldOptional "currentTransform" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "currentTransform" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, currentTransform}+ type FieldIsArray "currentTransform" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, currentTransform}++instance {-# OVERLAPPING #-}+ CanReadField "currentTransform" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, currentTransform})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, currentTransform}++instance {-# OVERLAPPING #-}+ CanWriteField "currentTransform" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, currentTransform}++instance {-# OVERLAPPING #-}+ HasField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR where+ type FieldType "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR =+ VkCompositeAlphaFlagsKHR+ type FieldOptional "supportedCompositeAlpha"+ VkSurfaceCapabilitiesKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR+ =+ #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}+ type FieldIsArray "supportedCompositeAlpha"+ VkSurfaceCapabilitiesKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}++instance {-# OVERLAPPING #-}+ CanReadField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedCompositeAlpha}++instance {-# OVERLAPPING #-}+ HasField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where+ type FieldType "supportedUsageFlags" VkSurfaceCapabilitiesKHR =+ VkImageUsageFlags+ type FieldOptional "supportedUsageFlags" VkSurfaceCapabilitiesKHR =+ 'True -- ' closing tick for hsc2hs+ type FieldOffset "supportedUsageFlags" VkSurfaceCapabilitiesKHR =+ #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}+ type FieldIsArray "supportedUsageFlags" VkSurfaceCapabilitiesKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}++instance {-# OVERLAPPING #-}+ CanReadField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}++instance {-# OVERLAPPING #-}+ CanWriteField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceCapabilitiesKHR, supportedUsageFlags}++instance Show VkSurfaceCapabilitiesKHR where+ showsPrec d x+ = showString "VkSurfaceCapabilitiesKHR {" .+ showString "minImageCount = " .+ showsPrec d (getField @"minImageCount" x) .+ showString ", " .+ showString "maxImageCount = " .+ showsPrec d (getField @"maxImageCount" x) .+ showString ", " .+ showString "currentExtent = " .+ showsPrec d (getField @"currentExtent" x) .+ showString ", " .+ showString "minImageExtent = " .+ showsPrec d (getField @"minImageExtent" x) .+ showString ", " .+ showString "maxImageExtent = " .+ showsPrec d (getField @"maxImageExtent" x) .+ showString ", " .+ showString "maxImageArrayLayers = " .+ showsPrec d (getField @"maxImageArrayLayers" x) .+ showString ", " .+ showString "supportedTransforms = " .+ showsPrec d (getField @"supportedTransforms" x)+ .+ showString ", " .+ showString "currentTransform = " .+ showsPrec d+ (getField @"currentTransform" x)+ .+ showString ", " .+ showString+ "supportedCompositeAlpha = "+ .+ showsPrec d+ (getField+ @"supportedCompositeAlpha"+ x)+ .+ showString ", " .+ showString+ "supportedUsageFlags = "+ .+ showsPrec d+ (getField+ @"supportedUsageFlags"+ x)+ . showChar '}'++-- | > typedef struct VkSurfaceFormat2KHR {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkSurfaceFormatKHR surfaceFormat;+-- > } VkSurfaceFormat2KHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormat2KHR VkSurfaceFormat2KHR registry at www.khronos.org>+data VkSurfaceFormat2KHR = VkSurfaceFormat2KHR## Addr## ByteArray##++instance Eq VkSurfaceFormat2KHR where+ (VkSurfaceFormat2KHR## a _) == x@(VkSurfaceFormat2KHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSurfaceFormat2KHR where+ (VkSurfaceFormat2KHR## a _) `compare` x@(VkSurfaceFormat2KHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSurfaceFormat2KHR where+ sizeOf ~_ = #{size VkSurfaceFormat2KHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSurfaceFormat2KHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSurfaceFormat2KHR where+ unsafeAddr (VkSurfaceFormat2KHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSurfaceFormat2KHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSurfaceFormat2KHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSurfaceFormat2KHR where+ type StructFields VkSurfaceFormat2KHR =+ '["sType", "pNext", "surfaceFormat"] -- ' closing tick for hsc2hs+ type CUnionType VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSurfaceFormat2KHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSurfaceFormat2KHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkSurfaceFormat2KHR+ where+ type FieldType "sType" VkSurfaceFormat2KHR = VkStructureType+ type FieldOptional "sType" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSurfaceFormat2KHR =+ #{offset VkSurfaceFormat2KHR, sType}+ type FieldIsArray "sType" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSurfaceFormat2KHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSurfaceFormat2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceFormat2KHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceFormat2KHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSurfaceFormat2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceFormat2KHR, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkSurfaceFormat2KHR+ where+ type FieldType "pNext" VkSurfaceFormat2KHR = Ptr Void+ type FieldOptional "pNext" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSurfaceFormat2KHR =+ #{offset VkSurfaceFormat2KHR, pNext}+ type FieldIsArray "pNext" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSurfaceFormat2KHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSurfaceFormat2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceFormat2KHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceFormat2KHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSurfaceFormat2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceFormat2KHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "surfaceFormat" VkSurfaceFormat2KHR where+ type FieldType "surfaceFormat" VkSurfaceFormat2KHR =+ VkSurfaceFormatKHR+ type FieldOptional "surfaceFormat" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "surfaceFormat" VkSurfaceFormat2KHR =+ #{offset VkSurfaceFormat2KHR, surfaceFormat}+ type FieldIsArray "surfaceFormat" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSurfaceFormat2KHR, surfaceFormat}++instance {-# OVERLAPPING #-}+ CanReadField "surfaceFormat" VkSurfaceFormat2KHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceFormat2KHR, surfaceFormat})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceFormat2KHR, surfaceFormat}++instance {-# OVERLAPPING #-}+ CanWriteField "surfaceFormat" VkSurfaceFormat2KHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceFormat2KHR, surfaceFormat}++instance Show VkSurfaceFormat2KHR where+ showsPrec d x+ = showString "VkSurfaceFormat2KHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "surfaceFormat = " .+ showsPrec d (getField @"surfaceFormat" x) . showChar '}'++-- | > typedef struct VkSurfaceFormatKHR {+-- > VkFormat format;+-- > VkColorSpaceKHR colorSpace;+-- > } VkSurfaceFormatKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormatKHR VkSurfaceFormatKHR registry at www.khronos.org>+data VkSurfaceFormatKHR = VkSurfaceFormatKHR## Addr## ByteArray##++instance Eq VkSurfaceFormatKHR where+ (VkSurfaceFormatKHR## a _) == x@(VkSurfaceFormatKHR## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSurfaceFormatKHR where+ (VkSurfaceFormatKHR## a _) `compare` x@(VkSurfaceFormatKHR## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSurfaceFormatKHR where+ sizeOf ~_ = #{size VkSurfaceFormatKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSurfaceFormatKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSurfaceFormatKHR where+ unsafeAddr (VkSurfaceFormatKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSurfaceFormatKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSurfaceFormatKHR## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSurfaceFormatKHR where+ type StructFields VkSurfaceFormatKHR = '["format", "colorSpace"] -- ' closing tick for hsc2hs+ type CUnionType VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSurfaceFormatKHR = 'True -- ' closing tick for hsc2hs+ type StructExtends VkSurfaceFormatKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "format" VkSurfaceFormatKHR+ where+ type FieldType "format" VkSurfaceFormatKHR = VkFormat+ type FieldOptional "format" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkSurfaceFormatKHR =+ #{offset VkSurfaceFormatKHR, format}+ type FieldIsArray "format" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSurfaceFormatKHR, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkSurfaceFormatKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceFormatKHR, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceFormatKHR, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkSurfaceFormatKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceFormatKHR, format}++instance {-# OVERLAPPING #-}+ HasField "colorSpace" VkSurfaceFormatKHR where+ type FieldType "colorSpace" VkSurfaceFormatKHR = VkColorSpaceKHR+ type FieldOptional "colorSpace" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "colorSpace" VkSurfaceFormatKHR =+ #{offset VkSurfaceFormatKHR, colorSpace}+ type FieldIsArray "colorSpace" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSurfaceFormatKHR, colorSpace}++instance {-# OVERLAPPING #-}+ CanReadField "colorSpace" VkSurfaceFormatKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSurfaceFormatKHR, colorSpace})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSurfaceFormatKHR, colorSpace}++instance {-# OVERLAPPING #-}+ CanWriteField "colorSpace" VkSurfaceFormatKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSurfaceFormatKHR, colorSpace}++instance Show VkSurfaceFormatKHR where+ showsPrec d x+ = showString "VkSurfaceFormatKHR {" .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "colorSpace = " .+ showsPrec d (getField @"colorSpace" x) . showChar '}'
@@ -0,0 +1,1009 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.SwapchainC+ (VkSwapchainCounterCreateInfoEXT(..), VkSwapchainCreateInfoKHR(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Enum.Color (VkColorSpaceKHR)+import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR (VkCompositeAlphaFlagBitsKHR)+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.Image (VkImageUsageFlags)+import Graphics.Vulkan.Types.Enum.PresentModeKHR (VkPresentModeKHR)+import Graphics.Vulkan.Types.Enum.SharingMode (VkSharingMode)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.Surface (VkSurfaceCounterFlagsEXT,+ VkSurfaceTransformFlagBitsKHR)+import Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR (VkSwapchainCreateFlagsKHR)+import Graphics.Vulkan.Types.Handles (VkSurfaceKHR,+ VkSwapchainKHR)+import Graphics.Vulkan.Types.Struct.Extent (VkExtent2D)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkSwapchainCounterCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSurfaceCounterFlagsEXT surfaceCounters;+-- > } VkSwapchainCounterCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT registry at www.khronos.org>+data VkSwapchainCounterCreateInfoEXT = VkSwapchainCounterCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkSwapchainCounterCreateInfoEXT where+ (VkSwapchainCounterCreateInfoEXT## a _) ==+ x@(VkSwapchainCounterCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSwapchainCounterCreateInfoEXT where+ (VkSwapchainCounterCreateInfoEXT## a _) `compare`+ x@(VkSwapchainCounterCreateInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSwapchainCounterCreateInfoEXT where+ sizeOf ~_ = #{size VkSwapchainCounterCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkSwapchainCounterCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSwapchainCounterCreateInfoEXT where+ unsafeAddr (VkSwapchainCounterCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSwapchainCounterCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSwapchainCounterCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSwapchainCounterCreateInfoEXT where+ type StructFields VkSwapchainCounterCreateInfoEXT =+ '["sType", "pNext", "surfaceCounters"] -- ' closing tick for hsc2hs+ type CUnionType VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSwapchainCounterCreateInfoEXT =+ '[VkSwapchainCreateInfoKHR] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSwapchainCounterCreateInfoEXT where+ type FieldType "sType" VkSwapchainCounterCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSwapchainCounterCreateInfoEXT =+ #{offset VkSwapchainCounterCreateInfoEXT, sType}+ type FieldIsArray "sType" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCounterCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSwapchainCounterCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCounterCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCounterCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSwapchainCounterCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCounterCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSwapchainCounterCreateInfoEXT where+ type FieldType "pNext" VkSwapchainCounterCreateInfoEXT = Ptr Void+ type FieldOptional "pNext" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSwapchainCounterCreateInfoEXT =+ #{offset VkSwapchainCounterCreateInfoEXT, pNext}+ type FieldIsArray "pNext" VkSwapchainCounterCreateInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCounterCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSwapchainCounterCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCounterCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCounterCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSwapchainCounterCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCounterCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "surfaceCounters" VkSwapchainCounterCreateInfoEXT where+ type FieldType "surfaceCounters" VkSwapchainCounterCreateInfoEXT =+ VkSurfaceCounterFlagsEXT+ type FieldOptional "surfaceCounters"+ VkSwapchainCounterCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "surfaceCounters" VkSwapchainCounterCreateInfoEXT+ =+ #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}+ type FieldIsArray "surfaceCounters" VkSwapchainCounterCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}++instance {-# OVERLAPPING #-}+ CanReadField "surfaceCounters" VkSwapchainCounterCreateInfoEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}++instance {-# OVERLAPPING #-}+ CanWriteField "surfaceCounters" VkSwapchainCounterCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCounterCreateInfoEXT, surfaceCounters}++instance Show VkSwapchainCounterCreateInfoEXT where+ showsPrec d x+ = showString "VkSwapchainCounterCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "surfaceCounters = " .+ showsPrec d (getField @"surfaceCounters" x) . showChar '}'++-- | > typedef struct VkSwapchainCreateInfoKHR {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkSwapchainCreateFlagsKHR flags;+-- > VkSurfaceKHR surface;+-- > uint32_t minImageCount;+-- > VkFormat imageFormat;+-- > VkColorSpaceKHR imageColorSpace;+-- > VkExtent2D imageExtent;+-- > uint32_t imageArrayLayers;+-- > VkImageUsageFlags imageUsage;+-- > VkSharingMode imageSharingMode;+-- > uint32_t queueFamilyIndexCount;+-- > const uint32_t* pQueueFamilyIndices;+-- > VkSurfaceTransformFlagBitsKHR preTransform;+-- > VkCompositeAlphaFlagBitsKHR compositeAlpha;+-- > VkPresentModeKHR presentMode;+-- > VkBool32 clipped;+-- > VkSwapchainKHR oldSwapchain;+-- > } VkSwapchainCreateInfoKHR;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR registry at www.khronos.org>+data VkSwapchainCreateInfoKHR = VkSwapchainCreateInfoKHR## Addr##+ ByteArray##++instance Eq VkSwapchainCreateInfoKHR where+ (VkSwapchainCreateInfoKHR## a _) ==+ x@(VkSwapchainCreateInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkSwapchainCreateInfoKHR where+ (VkSwapchainCreateInfoKHR## a _) `compare`+ x@(VkSwapchainCreateInfoKHR## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkSwapchainCreateInfoKHR where+ sizeOf ~_ = #{size VkSwapchainCreateInfoKHR}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkSwapchainCreateInfoKHR}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkSwapchainCreateInfoKHR where+ unsafeAddr (VkSwapchainCreateInfoKHR## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkSwapchainCreateInfoKHR## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkSwapchainCreateInfoKHR## (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkSwapchainCreateInfoKHR where+ type StructFields VkSwapchainCreateInfoKHR =+ '["sType", "pNext", "flags", "surface", "minImageCount", -- ' closing tick for hsc2hs+ "imageFormat", "imageColorSpace", "imageExtent",+ "imageArrayLayers", "imageUsage", "imageSharingMode",+ "queueFamilyIndexCount", "pQueueFamilyIndices", "preTransform",+ "compositeAlpha", "presentMode", "clipped", "oldSwapchain"]+ type CUnionType VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type StructExtends VkSwapchainCreateInfoKHR = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkSwapchainCreateInfoKHR where+ type FieldType "sType" VkSwapchainCreateInfoKHR = VkStructureType+ type FieldOptional "sType" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, sType}+ type FieldIsArray "sType" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkSwapchainCreateInfoKHR where+ type FieldType "pNext" VkSwapchainCreateInfoKHR = Ptr Void+ type FieldOptional "pNext" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, pNext}+ type FieldIsArray "pNext" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkSwapchainCreateInfoKHR where+ type FieldType "flags" VkSwapchainCreateInfoKHR =+ VkSwapchainCreateFlagsKHR+ type FieldOptional "flags" VkSwapchainCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, flags}+ type FieldIsArray "flags" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkSwapchainCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, flags}++instance {-# OVERLAPPING #-}+ HasField "surface" VkSwapchainCreateInfoKHR where+ type FieldType "surface" VkSwapchainCreateInfoKHR = VkSurfaceKHR+ type FieldOptional "surface" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "surface" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, surface}+ type FieldIsArray "surface" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, surface}++instance {-# OVERLAPPING #-}+ CanReadField "surface" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, surface})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, surface}++instance {-# OVERLAPPING #-}+ CanWriteField "surface" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, surface}++instance {-# OVERLAPPING #-}+ HasField "minImageCount" VkSwapchainCreateInfoKHR where+ type FieldType "minImageCount" VkSwapchainCreateInfoKHR = Word32+ type FieldOptional "minImageCount" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "minImageCount" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, minImageCount}+ type FieldIsArray "minImageCount" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, minImageCount}++instance {-# OVERLAPPING #-}+ CanReadField "minImageCount" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, minImageCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, minImageCount}++instance {-# OVERLAPPING #-}+ CanWriteField "minImageCount" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, minImageCount}++instance {-# OVERLAPPING #-}+ HasField "imageFormat" VkSwapchainCreateInfoKHR where+ type FieldType "imageFormat" VkSwapchainCreateInfoKHR = VkFormat+ type FieldOptional "imageFormat" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageFormat" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, imageFormat}+ type FieldIsArray "imageFormat" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, imageFormat}++instance {-# OVERLAPPING #-}+ CanReadField "imageFormat" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageFormat})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageFormat}++instance {-# OVERLAPPING #-}+ CanWriteField "imageFormat" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageFormat}++instance {-# OVERLAPPING #-}+ HasField "imageColorSpace" VkSwapchainCreateInfoKHR where+ type FieldType "imageColorSpace" VkSwapchainCreateInfoKHR =+ VkColorSpaceKHR+ type FieldOptional "imageColorSpace" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageColorSpace" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, imageColorSpace}+ type FieldIsArray "imageColorSpace" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, imageColorSpace}++instance {-# OVERLAPPING #-}+ CanReadField "imageColorSpace" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageColorSpace})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageColorSpace}++instance {-# OVERLAPPING #-}+ CanWriteField "imageColorSpace" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageColorSpace}++instance {-# OVERLAPPING #-}+ HasField "imageExtent" VkSwapchainCreateInfoKHR where+ type FieldType "imageExtent" VkSwapchainCreateInfoKHR = VkExtent2D+ type FieldOptional "imageExtent" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageExtent" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, imageExtent}+ type FieldIsArray "imageExtent" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, imageExtent}++instance {-# OVERLAPPING #-}+ CanReadField "imageExtent" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageExtent})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageExtent}++instance {-# OVERLAPPING #-}+ CanWriteField "imageExtent" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageExtent}++instance {-# OVERLAPPING #-}+ HasField "imageArrayLayers" VkSwapchainCreateInfoKHR where+ type FieldType "imageArrayLayers" VkSwapchainCreateInfoKHR = Word32+ type FieldOptional "imageArrayLayers" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageArrayLayers" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}+ type FieldIsArray "imageArrayLayers" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}++instance {-# OVERLAPPING #-}+ CanReadField "imageArrayLayers" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageArrayLayers})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}++instance {-# OVERLAPPING #-}+ CanWriteField "imageArrayLayers" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageArrayLayers}++instance {-# OVERLAPPING #-}+ HasField "imageUsage" VkSwapchainCreateInfoKHR where+ type FieldType "imageUsage" VkSwapchainCreateInfoKHR =+ VkImageUsageFlags+ type FieldOptional "imageUsage" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageUsage" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, imageUsage}+ type FieldIsArray "imageUsage" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, imageUsage}++instance {-# OVERLAPPING #-}+ CanReadField "imageUsage" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageUsage})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageUsage}++instance {-# OVERLAPPING #-}+ CanWriteField "imageUsage" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageUsage}++instance {-# OVERLAPPING #-}+ HasField "imageSharingMode" VkSwapchainCreateInfoKHR where+ type FieldType "imageSharingMode" VkSwapchainCreateInfoKHR =+ VkSharingMode+ type FieldOptional "imageSharingMode" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "imageSharingMode" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, imageSharingMode}+ type FieldIsArray "imageSharingMode" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, imageSharingMode}++instance {-# OVERLAPPING #-}+ CanReadField "imageSharingMode" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, imageSharingMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, imageSharingMode}++instance {-# OVERLAPPING #-}+ CanWriteField "imageSharingMode" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, imageSharingMode}++instance {-# OVERLAPPING #-}+ HasField "queueFamilyIndexCount" VkSwapchainCreateInfoKHR where+ type FieldType "queueFamilyIndexCount" VkSwapchainCreateInfoKHR =+ Word32+ type FieldOptional "queueFamilyIndexCount" VkSwapchainCreateInfoKHR+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "queueFamilyIndexCount" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}+ type FieldIsArray "queueFamilyIndexCount" VkSwapchainCreateInfoKHR+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ CanReadField "queueFamilyIndexCount" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ CanWriteField "queueFamilyIndexCount" VkSwapchainCreateInfoKHR+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, queueFamilyIndexCount}++instance {-# OVERLAPPING #-}+ HasField "pQueueFamilyIndices" VkSwapchainCreateInfoKHR where+ type FieldType "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =+ Ptr Word32+ type FieldOptional "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}+ type FieldIsArray "pQueueFamilyIndices" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ CanReadField "pQueueFamilyIndices" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ CanWriteField "pQueueFamilyIndices" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, pQueueFamilyIndices}++instance {-# OVERLAPPING #-}+ HasField "preTransform" VkSwapchainCreateInfoKHR where+ type FieldType "preTransform" VkSwapchainCreateInfoKHR =+ VkSurfaceTransformFlagBitsKHR+ type FieldOptional "preTransform" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "preTransform" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, preTransform}+ type FieldIsArray "preTransform" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, preTransform}++instance {-# OVERLAPPING #-}+ CanReadField "preTransform" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, preTransform})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, preTransform}++instance {-# OVERLAPPING #-}+ CanWriteField "preTransform" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, preTransform}++instance {-# OVERLAPPING #-}+ HasField "compositeAlpha" VkSwapchainCreateInfoKHR where+ type FieldType "compositeAlpha" VkSwapchainCreateInfoKHR =+ VkCompositeAlphaFlagBitsKHR+ type FieldOptional "compositeAlpha" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "compositeAlpha" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, compositeAlpha}+ type FieldIsArray "compositeAlpha" VkSwapchainCreateInfoKHR =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, compositeAlpha}++instance {-# OVERLAPPING #-}+ CanReadField "compositeAlpha" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, compositeAlpha})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, compositeAlpha}++instance {-# OVERLAPPING #-}+ CanWriteField "compositeAlpha" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, compositeAlpha}++instance {-# OVERLAPPING #-}+ HasField "presentMode" VkSwapchainCreateInfoKHR where+ type FieldType "presentMode" VkSwapchainCreateInfoKHR =+ VkPresentModeKHR+ type FieldOptional "presentMode" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "presentMode" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, presentMode}+ type FieldIsArray "presentMode" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, presentMode}++instance {-# OVERLAPPING #-}+ CanReadField "presentMode" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, presentMode})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, presentMode}++instance {-# OVERLAPPING #-}+ CanWriteField "presentMode" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, presentMode}++instance {-# OVERLAPPING #-}+ HasField "clipped" VkSwapchainCreateInfoKHR where+ type FieldType "clipped" VkSwapchainCreateInfoKHR = VkBool32+ type FieldOptional "clipped" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs+ type FieldOffset "clipped" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, clipped}+ type FieldIsArray "clipped" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, clipped}++instance {-# OVERLAPPING #-}+ CanReadField "clipped" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, clipped})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, clipped}++instance {-# OVERLAPPING #-}+ CanWriteField "clipped" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, clipped}++instance {-# OVERLAPPING #-}+ HasField "oldSwapchain" VkSwapchainCreateInfoKHR where+ type FieldType "oldSwapchain" VkSwapchainCreateInfoKHR =+ VkSwapchainKHR+ type FieldOptional "oldSwapchain" VkSwapchainCreateInfoKHR = 'True -- ' closing tick for hsc2hs+ type FieldOffset "oldSwapchain" VkSwapchainCreateInfoKHR =+ #{offset VkSwapchainCreateInfoKHR, oldSwapchain}+ type FieldIsArray "oldSwapchain" VkSwapchainCreateInfoKHR = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkSwapchainCreateInfoKHR, oldSwapchain}++instance {-# OVERLAPPING #-}+ CanReadField "oldSwapchain" VkSwapchainCreateInfoKHR where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkSwapchainCreateInfoKHR, oldSwapchain})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkSwapchainCreateInfoKHR, oldSwapchain}++instance {-# OVERLAPPING #-}+ CanWriteField "oldSwapchain" VkSwapchainCreateInfoKHR where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkSwapchainCreateInfoKHR, oldSwapchain}++instance Show VkSwapchainCreateInfoKHR where+ showsPrec d x+ = showString "VkSwapchainCreateInfoKHR {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "surface = " .+ showsPrec d (getField @"surface" x) .+ showString ", " .+ showString "minImageCount = " .+ showsPrec d (getField @"minImageCount" x) .+ showString ", " .+ showString "imageFormat = " .+ showsPrec d (getField @"imageFormat" x) .+ showString ", " .+ showString "imageColorSpace = " .+ showsPrec d (getField @"imageColorSpace" x) .+ showString ", " .+ showString "imageExtent = " .+ showsPrec d (getField @"imageExtent" x) .+ showString ", " .+ showString "imageArrayLayers = " .+ showsPrec d+ (getField @"imageArrayLayers" x)+ .+ showString ", " .+ showString "imageUsage = " .+ showsPrec d+ (getField @"imageUsage" x)+ .+ showString ", " .+ showString+ "imageSharingMode = "+ .+ showsPrec d+ (getField+ @"imageSharingMode"+ x)+ .+ showString ", " .+ showString+ "queueFamilyIndexCount = "+ .+ showsPrec d+ (getField+ @"queueFamilyIndexCount"+ x)+ .+ showString ", "+ .+ showString+ "pQueueFamilyIndices = "+ .+ showsPrec d+ (getField+ @"pQueueFamilyIndices"+ x)+ .+ showString+ ", "+ .+ showString+ "preTransform = "+ .+ showsPrec+ d+ (getField+ @"preTransform"+ x)+ .+ showString+ ", "+ .+ showString+ "compositeAlpha = "+ .+ showsPrec+ d+ (getField+ @"compositeAlpha"+ x)+ .+ showString+ ", "+ .+ showString+ "presentMode = "+ .+ showsPrec+ d+ (getField+ @"presentMode"+ x)+ .+ showString+ ", "+ .+ showString+ "clipped = "+ .+ showsPrec+ d+ (getField+ @"clipped"+ x)+ .+ showString+ ", "+ .+ showString+ "oldSwapchain = "+ .+ showsPrec+ d+ (getField+ @"oldSwapchain"+ x)+ .+ showChar+ '}'
@@ -0,0 +1,213 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD+ (VkTextureLODGatherFormatPropertiesAMD(..)) where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.BaseTypes (VkBool32)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Struct.Image (VkImageFormatProperties2)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkTextureLODGatherFormatPropertiesAMD {+-- > VkStructureType sType;+-- > void* pNext;+-- > VkBool32 supportsTextureGatherLODBiasAMD;+-- > } VkTextureLODGatherFormatPropertiesAMD;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkTextureLODGatherFormatPropertiesAMD VkTextureLODGatherFormatPropertiesAMD registry at www.khronos.org>+data VkTextureLODGatherFormatPropertiesAMD = VkTextureLODGatherFormatPropertiesAMD## Addr##+ ByteArray##++instance Eq VkTextureLODGatherFormatPropertiesAMD where+ (VkTextureLODGatherFormatPropertiesAMD## a _) ==+ x@(VkTextureLODGatherFormatPropertiesAMD## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkTextureLODGatherFormatPropertiesAMD where+ (VkTextureLODGatherFormatPropertiesAMD## a _) `compare`+ x@(VkTextureLODGatherFormatPropertiesAMD## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkTextureLODGatherFormatPropertiesAMD where+ sizeOf ~_+ = #{size VkTextureLODGatherFormatPropertiesAMD}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkTextureLODGatherFormatPropertiesAMD}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkTextureLODGatherFormatPropertiesAMD+ where+ unsafeAddr (VkTextureLODGatherFormatPropertiesAMD## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkTextureLODGatherFormatPropertiesAMD## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkTextureLODGatherFormatPropertiesAMD##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkTextureLODGatherFormatPropertiesAMD where+ type StructFields VkTextureLODGatherFormatPropertiesAMD =+ '["sType", "pNext", "supportsTextureGatherLODBiasAMD"] -- ' closing tick for hsc2hs+ type CUnionType VkTextureLODGatherFormatPropertiesAMD = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkTextureLODGatherFormatPropertiesAMD = 'True -- ' closing tick for hsc2hs+ type StructExtends VkTextureLODGatherFormatPropertiesAMD =+ '[VkImageFormatProperties2] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkTextureLODGatherFormatPropertiesAMD where+ type FieldType "sType" VkTextureLODGatherFormatPropertiesAMD =+ VkStructureType+ type FieldOptional "sType" VkTextureLODGatherFormatPropertiesAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkTextureLODGatherFormatPropertiesAMD =+ #{offset VkTextureLODGatherFormatPropertiesAMD, sType}+ type FieldIsArray "sType" VkTextureLODGatherFormatPropertiesAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkTextureLODGatherFormatPropertiesAMD, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkTextureLODGatherFormatPropertiesAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkTextureLODGatherFormatPropertiesAMD, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkTextureLODGatherFormatPropertiesAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkTextureLODGatherFormatPropertiesAMD where+ type FieldType "pNext" VkTextureLODGatherFormatPropertiesAMD =+ Ptr Void+ type FieldOptional "pNext" VkTextureLODGatherFormatPropertiesAMD =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkTextureLODGatherFormatPropertiesAMD =+ #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}+ type FieldIsArray "pNext" VkTextureLODGatherFormatPropertiesAMD =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkTextureLODGatherFormatPropertiesAMD where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkTextureLODGatherFormatPropertiesAMD, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkTextureLODGatherFormatPropertiesAMD where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, pNext}++instance {-# OVERLAPPING #-}+ HasField "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ where+ type FieldType "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ = VkBool32+ type FieldOptional "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ =+ #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}+ type FieldIsArray "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}++instance {-# OVERLAPPING #-}+ CanReadField "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}++instance {-# OVERLAPPING #-}+ CanWriteField "supportsTextureGatherLODBiasAMD"+ VkTextureLODGatherFormatPropertiesAMD+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkTextureLODGatherFormatPropertiesAMD, supportsTextureGatherLODBiasAMD}++instance Show VkTextureLODGatherFormatPropertiesAMD where+ showsPrec d x+ = showString "VkTextureLODGatherFormatPropertiesAMD {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "supportsTextureGatherLODBiasAMD = " .+ showsPrec d (getField @"supportsTextureGatherLODBiasAMD" x) .+ showChar '}'
@@ -0,0 +1,483 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Validation+ (VkValidationCacheCreateInfoEXT(..), VkValidationFlagsEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##,+ ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Bitmasks (VkValidationCacheCreateFlagsEXT)+import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)+import Graphics.Vulkan.Types.Enum.ValidationC (VkValidationCheckEXT)+import Graphics.Vulkan.Types.Struct.InstanceCreateInfo (VkInstanceCreateInfo)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkValidationCacheCreateInfoEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > VkValidationCacheCreateFlagsEXT flags;+-- > size_t initialDataSize;+-- > const void* pInitialData;+-- > } VkValidationCacheCreateInfoEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationCacheCreateInfoEXT VkValidationCacheCreateInfoEXT registry at www.khronos.org>+data VkValidationCacheCreateInfoEXT = VkValidationCacheCreateInfoEXT## Addr##+ ByteArray##++instance Eq VkValidationCacheCreateInfoEXT where+ (VkValidationCacheCreateInfoEXT## a _) ==+ x@(VkValidationCacheCreateInfoEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkValidationCacheCreateInfoEXT where+ (VkValidationCacheCreateInfoEXT## a _) `compare`+ x@(VkValidationCacheCreateInfoEXT## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkValidationCacheCreateInfoEXT where+ sizeOf ~_ = #{size VkValidationCacheCreateInfoEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkValidationCacheCreateInfoEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkValidationCacheCreateInfoEXT where+ unsafeAddr (VkValidationCacheCreateInfoEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkValidationCacheCreateInfoEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkValidationCacheCreateInfoEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkValidationCacheCreateInfoEXT where+ type StructFields VkValidationCacheCreateInfoEXT =+ '["sType", "pNext", "flags", "initialDataSize", "pInitialData"] -- ' closing tick for hsc2hs+ type CUnionType VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkValidationCacheCreateInfoEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "sType" VkValidationCacheCreateInfoEXT where+ type FieldType "sType" VkValidationCacheCreateInfoEXT =+ VkStructureType+ type FieldOptional "sType" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkValidationCacheCreateInfoEXT =+ #{offset VkValidationCacheCreateInfoEXT, sType}+ type FieldIsArray "sType" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationCacheCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkValidationCacheCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkValidationCacheCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, sType}++instance {-# OVERLAPPING #-}+ HasField "pNext" VkValidationCacheCreateInfoEXT where+ type FieldType "pNext" VkValidationCacheCreateInfoEXT = Ptr Void+ type FieldOptional "pNext" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkValidationCacheCreateInfoEXT =+ #{offset VkValidationCacheCreateInfoEXT, pNext}+ type FieldIsArray "pNext" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationCacheCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkValidationCacheCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkValidationCacheCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "flags" VkValidationCacheCreateInfoEXT where+ type FieldType "flags" VkValidationCacheCreateInfoEXT =+ VkValidationCacheCreateFlagsEXT+ type FieldOptional "flags" VkValidationCacheCreateInfoEXT = 'True -- ' closing tick for hsc2hs+ type FieldOffset "flags" VkValidationCacheCreateInfoEXT =+ #{offset VkValidationCacheCreateInfoEXT, flags}+ type FieldIsArray "flags" VkValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationCacheCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanReadField "flags" VkValidationCacheCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, flags})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ CanWriteField "flags" VkValidationCacheCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, flags}++instance {-# OVERLAPPING #-}+ HasField "initialDataSize" VkValidationCacheCreateInfoEXT where+ type FieldType "initialDataSize" VkValidationCacheCreateInfoEXT =+ CSize+ type FieldOptional "initialDataSize" VkValidationCacheCreateInfoEXT+ = 'True -- ' closing tick for hsc2hs+ type FieldOffset "initialDataSize" VkValidationCacheCreateInfoEXT =+ #{offset VkValidationCacheCreateInfoEXT, initialDataSize}+ type FieldIsArray "initialDataSize" VkValidationCacheCreateInfoEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = True++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationCacheCreateInfoEXT, initialDataSize}++instance {-# OVERLAPPING #-}+ CanReadField "initialDataSize" VkValidationCacheCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, initialDataSize})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, initialDataSize}++instance {-# OVERLAPPING #-}+ CanWriteField "initialDataSize" VkValidationCacheCreateInfoEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, initialDataSize}++instance {-# OVERLAPPING #-}+ HasField "pInitialData" VkValidationCacheCreateInfoEXT where+ type FieldType "pInitialData" VkValidationCacheCreateInfoEXT =+ Ptr Void+ type FieldOptional "pInitialData" VkValidationCacheCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "pInitialData" VkValidationCacheCreateInfoEXT =+ #{offset VkValidationCacheCreateInfoEXT, pInitialData}+ type FieldIsArray "pInitialData" VkValidationCacheCreateInfoEXT =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationCacheCreateInfoEXT, pInitialData}++instance {-# OVERLAPPING #-}+ CanReadField "pInitialData" VkValidationCacheCreateInfoEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationCacheCreateInfoEXT, pInitialData})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationCacheCreateInfoEXT, pInitialData}++instance {-# OVERLAPPING #-}+ CanWriteField "pInitialData" VkValidationCacheCreateInfoEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationCacheCreateInfoEXT, pInitialData}++instance Show VkValidationCacheCreateInfoEXT where+ showsPrec d x+ = showString "VkValidationCacheCreateInfoEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "flags = " .+ showsPrec d (getField @"flags" x) .+ showString ", " .+ showString "initialDataSize = " .+ showsPrec d (getField @"initialDataSize" x) .+ showString ", " .+ showString "pInitialData = " .+ showsPrec d (getField @"pInitialData" x) . showChar '}'++-- | > typedef struct VkValidationFlagsEXT {+-- > VkStructureType sType;+-- > const void* pNext;+-- > uint32_t disabledValidationCheckCount;+-- > VkValidationCheckEXT* pDisabledValidationChecks;+-- > } VkValidationFlagsEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkValidationFlagsEXT VkValidationFlagsEXT registry at www.khronos.org>+data VkValidationFlagsEXT = VkValidationFlagsEXT## Addr## ByteArray##++instance Eq VkValidationFlagsEXT where+ (VkValidationFlagsEXT## a _) == x@(VkValidationFlagsEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkValidationFlagsEXT where+ (VkValidationFlagsEXT## a _) `compare` x@(VkValidationFlagsEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkValidationFlagsEXT where+ sizeOf ~_ = #{size VkValidationFlagsEXT}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkValidationFlagsEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkValidationFlagsEXT where+ unsafeAddr (VkValidationFlagsEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkValidationFlagsEXT## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkValidationFlagsEXT## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkValidationFlagsEXT where+ type StructFields VkValidationFlagsEXT =+ '["sType", "pNext", "disabledValidationCheckCount", -- ' closing tick for hsc2hs+ "pDisabledValidationChecks"]+ type CUnionType VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs+ type StructExtends VkValidationFlagsEXT = '[VkInstanceCreateInfo] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "sType" VkValidationFlagsEXT+ where+ type FieldType "sType" VkValidationFlagsEXT = VkStructureType+ type FieldOptional "sType" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "sType" VkValidationFlagsEXT =+ #{offset VkValidationFlagsEXT, sType}+ type FieldIsArray "sType" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkValidationFlagsEXT, sType}++instance {-# OVERLAPPING #-}+ CanReadField "sType" VkValidationFlagsEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, sType})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationFlagsEXT, sType}++instance {-# OVERLAPPING #-}+ CanWriteField "sType" VkValidationFlagsEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationFlagsEXT, sType}++instance {-# OVERLAPPING #-} HasField "pNext" VkValidationFlagsEXT+ where+ type FieldType "pNext" VkValidationFlagsEXT = Ptr Void+ type FieldOptional "pNext" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pNext" VkValidationFlagsEXT =+ #{offset VkValidationFlagsEXT, pNext}+ type FieldIsArray "pNext" VkValidationFlagsEXT = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkValidationFlagsEXT, pNext}++instance {-# OVERLAPPING #-}+ CanReadField "pNext" VkValidationFlagsEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, pNext})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationFlagsEXT, pNext}++instance {-# OVERLAPPING #-}+ CanWriteField "pNext" VkValidationFlagsEXT where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationFlagsEXT, pNext}++instance {-# OVERLAPPING #-}+ HasField "disabledValidationCheckCount" VkValidationFlagsEXT where+ type FieldType "disabledValidationCheckCount" VkValidationFlagsEXT+ = Word32+ type FieldOptional "disabledValidationCheckCount"+ VkValidationFlagsEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "disabledValidationCheckCount"+ VkValidationFlagsEXT+ =+ #{offset VkValidationFlagsEXT, disabledValidationCheckCount}+ type FieldIsArray "disabledValidationCheckCount"+ VkValidationFlagsEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationFlagsEXT, disabledValidationCheckCount}++instance {-# OVERLAPPING #-}+ CanReadField "disabledValidationCheckCount" VkValidationFlagsEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, disabledValidationCheckCount})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationFlagsEXT, disabledValidationCheckCount}++instance {-# OVERLAPPING #-}+ CanWriteField "disabledValidationCheckCount" VkValidationFlagsEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationFlagsEXT, disabledValidationCheckCount}++instance {-# OVERLAPPING #-}+ HasField "pDisabledValidationChecks" VkValidationFlagsEXT where+ type FieldType "pDisabledValidationChecks" VkValidationFlagsEXT =+ Ptr VkValidationCheckEXT+ type FieldOptional "pDisabledValidationChecks" VkValidationFlagsEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "pDisabledValidationChecks" VkValidationFlagsEXT =+ #{offset VkValidationFlagsEXT, pDisabledValidationChecks}+ type FieldIsArray "pDisabledValidationChecks" VkValidationFlagsEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkValidationFlagsEXT, pDisabledValidationChecks}++instance {-# OVERLAPPING #-}+ CanReadField "pDisabledValidationChecks" VkValidationFlagsEXT where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkValidationFlagsEXT, pDisabledValidationChecks})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkValidationFlagsEXT, pDisabledValidationChecks}++instance {-# OVERLAPPING #-}+ CanWriteField "pDisabledValidationChecks" VkValidationFlagsEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkValidationFlagsEXT, pDisabledValidationChecks}++instance Show VkValidationFlagsEXT where+ showsPrec d x+ = showString "VkValidationFlagsEXT {" .+ showString "sType = " .+ showsPrec d (getField @"sType" x) .+ showString ", " .+ showString "pNext = " .+ showsPrec d (getField @"pNext" x) .+ showString ", " .+ showString "disabledValidationCheckCount = " .+ showsPrec d (getField @"disabledValidationCheckCount" x) .+ showString ", " .+ showString "pDisabledValidationChecks = " .+ showsPrec d (getField @"pDisabledValidationChecks" x) .+ showChar '}'
@@ -0,0 +1,566 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.VertexInput+ (VkVertexInputAttributeDescription(..),+ VkVertexInputBindingDescription(..),+ VkVertexInputBindingDivisorDescriptionEXT(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.Format (VkFormat)+import Graphics.Vulkan.Types.Enum.VertexInputRate (VkVertexInputRate)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkVertexInputAttributeDescription {+-- > uint32_t location;+-- > uint32_t binding;+-- > VkFormat format;+-- > uint32_t offset;+-- > } VkVertexInputAttributeDescription;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputAttributeDescription VkVertexInputAttributeDescription registry at www.khronos.org>+data VkVertexInputAttributeDescription = VkVertexInputAttributeDescription## Addr##+ ByteArray##++instance Eq VkVertexInputAttributeDescription where+ (VkVertexInputAttributeDescription## a _) ==+ x@(VkVertexInputAttributeDescription## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkVertexInputAttributeDescription where+ (VkVertexInputAttributeDescription## a _) `compare`+ x@(VkVertexInputAttributeDescription## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkVertexInputAttributeDescription where+ sizeOf ~_ = #{size VkVertexInputAttributeDescription}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkVertexInputAttributeDescription}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkVertexInputAttributeDescription where+ unsafeAddr (VkVertexInputAttributeDescription## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkVertexInputAttributeDescription## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkVertexInputAttributeDescription##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkVertexInputAttributeDescription where+ type StructFields VkVertexInputAttributeDescription =+ '["location", "binding", "format", "offset"] -- ' closing tick for hsc2hs+ type CUnionType VkVertexInputAttributeDescription = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkVertexInputAttributeDescription = 'False -- ' closing tick for hsc2hs+ type StructExtends VkVertexInputAttributeDescription = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "location" VkVertexInputAttributeDescription where+ type FieldType "location" VkVertexInputAttributeDescription =+ Word32+ type FieldOptional "location" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "location" VkVertexInputAttributeDescription =+ #{offset VkVertexInputAttributeDescription, location}+ type FieldIsArray "location" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputAttributeDescription, location}++instance {-# OVERLAPPING #-}+ CanReadField "location" VkVertexInputAttributeDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, location})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputAttributeDescription, location}++instance {-# OVERLAPPING #-}+ CanWriteField "location" VkVertexInputAttributeDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputAttributeDescription, location}++instance {-# OVERLAPPING #-}+ HasField "binding" VkVertexInputAttributeDescription where+ type FieldType "binding" VkVertexInputAttributeDescription = Word32+ type FieldOptional "binding" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "binding" VkVertexInputAttributeDescription =+ #{offset VkVertexInputAttributeDescription, binding}+ type FieldIsArray "binding" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputAttributeDescription, binding}++instance {-# OVERLAPPING #-}+ CanReadField "binding" VkVertexInputAttributeDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, binding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputAttributeDescription, binding}++instance {-# OVERLAPPING #-}+ CanWriteField "binding" VkVertexInputAttributeDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputAttributeDescription, binding}++instance {-# OVERLAPPING #-}+ HasField "format" VkVertexInputAttributeDescription where+ type FieldType "format" VkVertexInputAttributeDescription =+ VkFormat+ type FieldOptional "format" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "format" VkVertexInputAttributeDescription =+ #{offset VkVertexInputAttributeDescription, format}+ type FieldIsArray "format" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputAttributeDescription, format}++instance {-# OVERLAPPING #-}+ CanReadField "format" VkVertexInputAttributeDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, format})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputAttributeDescription, format}++instance {-# OVERLAPPING #-}+ CanWriteField "format" VkVertexInputAttributeDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputAttributeDescription, format}++instance {-# OVERLAPPING #-}+ HasField "offset" VkVertexInputAttributeDescription where+ type FieldType "offset" VkVertexInputAttributeDescription = Word32+ type FieldOptional "offset" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "offset" VkVertexInputAttributeDescription =+ #{offset VkVertexInputAttributeDescription, offset}+ type FieldIsArray "offset" VkVertexInputAttributeDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputAttributeDescription, offset}++instance {-# OVERLAPPING #-}+ CanReadField "offset" VkVertexInputAttributeDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputAttributeDescription, offset})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputAttributeDescription, offset}++instance {-# OVERLAPPING #-}+ CanWriteField "offset" VkVertexInputAttributeDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputAttributeDescription, offset}++instance Show VkVertexInputAttributeDescription where+ showsPrec d x+ = showString "VkVertexInputAttributeDescription {" .+ showString "location = " .+ showsPrec d (getField @"location" x) .+ showString ", " .+ showString "binding = " .+ showsPrec d (getField @"binding" x) .+ showString ", " .+ showString "format = " .+ showsPrec d (getField @"format" x) .+ showString ", " .+ showString "offset = " .+ showsPrec d (getField @"offset" x) . showChar '}'++-- | > typedef struct VkVertexInputBindingDescription {+-- > uint32_t binding;+-- > uint32_t stride;+-- > VkVertexInputRate inputRate;+-- > } VkVertexInputBindingDescription;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputBindingDescription VkVertexInputBindingDescription registry at www.khronos.org>+data VkVertexInputBindingDescription = VkVertexInputBindingDescription## Addr##+ ByteArray##++instance Eq VkVertexInputBindingDescription where+ (VkVertexInputBindingDescription## a _) ==+ x@(VkVertexInputBindingDescription## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkVertexInputBindingDescription where+ (VkVertexInputBindingDescription## a _) `compare`+ x@(VkVertexInputBindingDescription## b _) = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkVertexInputBindingDescription where+ sizeOf ~_ = #{size VkVertexInputBindingDescription}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkVertexInputBindingDescription}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkVertexInputBindingDescription where+ unsafeAddr (VkVertexInputBindingDescription## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkVertexInputBindingDescription## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkVertexInputBindingDescription##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkVertexInputBindingDescription where+ type StructFields VkVertexInputBindingDescription =+ '["binding", "stride", "inputRate"] -- ' closing tick for hsc2hs+ type CUnionType VkVertexInputBindingDescription = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkVertexInputBindingDescription = 'False -- ' closing tick for hsc2hs+ type StructExtends VkVertexInputBindingDescription = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "binding" VkVertexInputBindingDescription where+ type FieldType "binding" VkVertexInputBindingDescription = Word32+ type FieldOptional "binding" VkVertexInputBindingDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "binding" VkVertexInputBindingDescription =+ #{offset VkVertexInputBindingDescription, binding}+ type FieldIsArray "binding" VkVertexInputBindingDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputBindingDescription, binding}++instance {-# OVERLAPPING #-}+ CanReadField "binding" VkVertexInputBindingDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDescription, binding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputBindingDescription, binding}++instance {-# OVERLAPPING #-}+ CanWriteField "binding" VkVertexInputBindingDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputBindingDescription, binding}++instance {-# OVERLAPPING #-}+ HasField "stride" VkVertexInputBindingDescription where+ type FieldType "stride" VkVertexInputBindingDescription = Word32+ type FieldOptional "stride" VkVertexInputBindingDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "stride" VkVertexInputBindingDescription =+ #{offset VkVertexInputBindingDescription, stride}+ type FieldIsArray "stride" VkVertexInputBindingDescription = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputBindingDescription, stride}++instance {-# OVERLAPPING #-}+ CanReadField "stride" VkVertexInputBindingDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDescription, stride})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputBindingDescription, stride}++instance {-# OVERLAPPING #-}+ CanWriteField "stride" VkVertexInputBindingDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputBindingDescription, stride}++instance {-# OVERLAPPING #-}+ HasField "inputRate" VkVertexInputBindingDescription where+ type FieldType "inputRate" VkVertexInputBindingDescription =+ VkVertexInputRate+ type FieldOptional "inputRate" VkVertexInputBindingDescription =+ 'False -- ' closing tick for hsc2hs+ type FieldOffset "inputRate" VkVertexInputBindingDescription =+ #{offset VkVertexInputBindingDescription, inputRate}+ type FieldIsArray "inputRate" VkVertexInputBindingDescription =+ 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputBindingDescription, inputRate}++instance {-# OVERLAPPING #-}+ CanReadField "inputRate" VkVertexInputBindingDescription where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDescription, inputRate})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputBindingDescription, inputRate}++instance {-# OVERLAPPING #-}+ CanWriteField "inputRate" VkVertexInputBindingDescription where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputBindingDescription, inputRate}++instance Show VkVertexInputBindingDescription where+ showsPrec d x+ = showString "VkVertexInputBindingDescription {" .+ showString "binding = " .+ showsPrec d (getField @"binding" x) .+ showString ", " .+ showString "stride = " .+ showsPrec d (getField @"stride" x) .+ showString ", " .+ showString "inputRate = " .+ showsPrec d (getField @"inputRate" x) . showChar '}'++-- | > typedef struct VkVertexInputBindingDivisorDescriptionEXT {+-- > uint32_t binding;+-- > uint32_t divisor;+-- > } VkVertexInputBindingDivisorDescriptionEXT;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkVertexInputBindingDivisorDescriptionEXT VkVertexInputBindingDivisorDescriptionEXT registry at www.khronos.org>+data VkVertexInputBindingDivisorDescriptionEXT = VkVertexInputBindingDivisorDescriptionEXT## Addr##+ ByteArray##++instance Eq VkVertexInputBindingDivisorDescriptionEXT where+ (VkVertexInputBindingDivisorDescriptionEXT## a _) ==+ x@(VkVertexInputBindingDivisorDescriptionEXT## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkVertexInputBindingDivisorDescriptionEXT where+ (VkVertexInputBindingDivisorDescriptionEXT## a _) `compare`+ x@(VkVertexInputBindingDivisorDescriptionEXT## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkVertexInputBindingDivisorDescriptionEXT where+ sizeOf ~_+ = #{size VkVertexInputBindingDivisorDescriptionEXT}++ {-# INLINE sizeOf #-}+ alignment ~_+ = #{alignment VkVertexInputBindingDivisorDescriptionEXT}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim+ VkVertexInputBindingDivisorDescriptionEXT+ where+ unsafeAddr (VkVertexInputBindingDivisorDescriptionEXT## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkVertexInputBindingDivisorDescriptionEXT## _ b)+ = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkVertexInputBindingDivisorDescriptionEXT##+ (plusAddr## (byteArrayContents## b) off)+ b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkVertexInputBindingDivisorDescriptionEXT+ where+ type StructFields VkVertexInputBindingDivisorDescriptionEXT =+ '["binding", "divisor"] -- ' closing tick for hsc2hs+ type CUnionType VkVertexInputBindingDivisorDescriptionEXT = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkVertexInputBindingDivisorDescriptionEXT =+ 'False -- ' closing tick for hsc2hs+ type StructExtends VkVertexInputBindingDivisorDescriptionEXT = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-}+ HasField "binding" VkVertexInputBindingDivisorDescriptionEXT where+ type FieldType "binding" VkVertexInputBindingDivisorDescriptionEXT+ = Word32+ type FieldOptional "binding"+ VkVertexInputBindingDivisorDescriptionEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "binding"+ VkVertexInputBindingDivisorDescriptionEXT+ =+ #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}+ type FieldIsArray "binding"+ VkVertexInputBindingDivisorDescriptionEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}++instance {-# OVERLAPPING #-}+ CanReadField "binding" VkVertexInputBindingDivisorDescriptionEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDivisorDescriptionEXT, binding})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}++instance {-# OVERLAPPING #-}+ CanWriteField "binding" VkVertexInputBindingDivisorDescriptionEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, binding}++instance {-# OVERLAPPING #-}+ HasField "divisor" VkVertexInputBindingDivisorDescriptionEXT where+ type FieldType "divisor" VkVertexInputBindingDivisorDescriptionEXT+ = Word32+ type FieldOptional "divisor"+ VkVertexInputBindingDivisorDescriptionEXT+ = 'False -- ' closing tick for hsc2hs+ type FieldOffset "divisor"+ VkVertexInputBindingDivisorDescriptionEXT+ =+ #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}+ type FieldIsArray "divisor"+ VkVertexInputBindingDivisorDescriptionEXT+ = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset+ = #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}++instance {-# OVERLAPPING #-}+ CanReadField "divisor" VkVertexInputBindingDivisorDescriptionEXT+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}++instance {-# OVERLAPPING #-}+ CanWriteField "divisor" VkVertexInputBindingDivisorDescriptionEXT+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkVertexInputBindingDivisorDescriptionEXT, divisor}++instance Show VkVertexInputBindingDivisorDescriptionEXT where+ showsPrec d x+ = showString "VkVertexInputBindingDivisorDescriptionEXT {" .+ showString "binding = " .+ showsPrec d (getField @"binding" x) .+ showString ", " .+ showString "divisor = " .+ showsPrec d (getField @"divisor" x) . showChar '}'
@@ -0,0 +1,583 @@+#include "vulkan/vulkan.h"++{-# LANGUAGE DataKinds #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MagicHash #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE Strict #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE TypeFamilies #-}+module Graphics.Vulkan.Types.Struct.Viewport+ (VkViewport(..), VkViewportSwizzleNV(..), VkViewportWScalingNV(..))+ where+import Foreign.Storable (Storable (..))+import GHC.Base (Addr##, ByteArray##,+ byteArrayContents##,+ plusAddr##)+import Graphics.Vulkan.Marshal+import Graphics.Vulkan.Marshal.Internal+import Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV (VkViewportCoordinateSwizzleNV)+import System.IO.Unsafe (unsafeDupablePerformIO)++-- | > typedef struct VkViewport {+-- > float x;+-- > float y;+-- > float width;+-- > float height;+-- > float minDepth;+-- > float maxDepth;+-- > } VkViewport;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewport VkViewport registry at www.khronos.org>+data VkViewport = VkViewport## Addr## ByteArray##++instance Eq VkViewport where+ (VkViewport## a _) == x@(VkViewport## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkViewport where+ (VkViewport## a _) `compare` x@(VkViewport## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkViewport where+ sizeOf ~_ = #{size VkViewport}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkViewport}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkViewport where+ unsafeAddr (VkViewport## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkViewport## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkViewport## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkViewport where+ type StructFields VkViewport =+ '["x", "y", "width", "height", "minDepth", "maxDepth"] -- ' closing tick for hsc2hs+ type CUnionType VkViewport = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkViewport = 'False -- ' closing tick for hsc2hs+ type StructExtends VkViewport = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "x" VkViewport where+ type FieldType "x" VkViewport = #{type float}+ type FieldOptional "x" VkViewport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "x" VkViewport =+ #{offset VkViewport, x}+ type FieldIsArray "x" VkViewport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewport, x}++instance {-# OVERLAPPING #-} CanReadField "x" VkViewport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewport, x})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkViewport, x}++instance {-# OVERLAPPING #-} CanWriteField "x" VkViewport where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkViewport, x}++instance {-# OVERLAPPING #-} HasField "y" VkViewport where+ type FieldType "y" VkViewport = #{type float}+ type FieldOptional "y" VkViewport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "y" VkViewport =+ #{offset VkViewport, y}+ type FieldIsArray "y" VkViewport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewport, y}++instance {-# OVERLAPPING #-} CanReadField "y" VkViewport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewport, y})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkViewport, y}++instance {-# OVERLAPPING #-} CanWriteField "y" VkViewport where+ {-# INLINE writeField #-}+ writeField p = pokeByteOff p #{offset VkViewport, y}++instance {-# OVERLAPPING #-} HasField "width" VkViewport where+ type FieldType "width" VkViewport = #{type float}+ type FieldOptional "width" VkViewport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "width" VkViewport =+ #{offset VkViewport, width}+ type FieldIsArray "width" VkViewport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewport, width}++instance {-# OVERLAPPING #-} CanReadField "width" VkViewport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewport, width})++ {-# INLINE readField #-}+ readField p = peekByteOff p #{offset VkViewport, width}++instance {-# OVERLAPPING #-} CanWriteField "width" VkViewport where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewport, width}++instance {-# OVERLAPPING #-} HasField "height" VkViewport where+ type FieldType "height" VkViewport = #{type float}+ type FieldOptional "height" VkViewport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "height" VkViewport =+ #{offset VkViewport, height}+ type FieldIsArray "height" VkViewport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewport, height}++instance {-# OVERLAPPING #-} CanReadField "height" VkViewport where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewport, height})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewport, height}++instance {-# OVERLAPPING #-} CanWriteField "height" VkViewport+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewport, height}++instance {-# OVERLAPPING #-} HasField "minDepth" VkViewport where+ type FieldType "minDepth" VkViewport = #{type float}+ type FieldOptional "minDepth" VkViewport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "minDepth" VkViewport =+ #{offset VkViewport, minDepth}+ type FieldIsArray "minDepth" VkViewport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewport, minDepth}++instance {-# OVERLAPPING #-} CanReadField "minDepth" VkViewport+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewport, minDepth})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewport, minDepth}++instance {-# OVERLAPPING #-} CanWriteField "minDepth" VkViewport+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewport, minDepth}++instance {-# OVERLAPPING #-} HasField "maxDepth" VkViewport where+ type FieldType "maxDepth" VkViewport = #{type float}+ type FieldOptional "maxDepth" VkViewport = 'False -- ' closing tick for hsc2hs+ type FieldOffset "maxDepth" VkViewport =+ #{offset VkViewport, maxDepth}+ type FieldIsArray "maxDepth" VkViewport = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewport, maxDepth}++instance {-# OVERLAPPING #-} CanReadField "maxDepth" VkViewport+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewport, maxDepth})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewport, maxDepth}++instance {-# OVERLAPPING #-} CanWriteField "maxDepth" VkViewport+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewport, maxDepth}++instance Show VkViewport where+ showsPrec d x+ = showString "VkViewport {" .+ showString "x = " .+ showsPrec d (getField @"x" x) .+ showString ", " .+ showString "y = " .+ showsPrec d (getField @"y" x) .+ showString ", " .+ showString "width = " .+ showsPrec d (getField @"width" x) .+ showString ", " .+ showString "height = " .+ showsPrec d (getField @"height" x) .+ showString ", " .+ showString "minDepth = " .+ showsPrec d (getField @"minDepth" x) .+ showString ", " .+ showString "maxDepth = " .+ showsPrec d (getField @"maxDepth" x) . showChar '}'++-- | > typedef struct VkViewportSwizzleNV {+-- > VkViewportCoordinateSwizzleNV x;+-- > VkViewportCoordinateSwizzleNV y;+-- > VkViewportCoordinateSwizzleNV z;+-- > VkViewportCoordinateSwizzleNV w;+-- > } VkViewportSwizzleNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewportSwizzleNV VkViewportSwizzleNV registry at www.khronos.org>+data VkViewportSwizzleNV = VkViewportSwizzleNV## Addr## ByteArray##++instance Eq VkViewportSwizzleNV where+ (VkViewportSwizzleNV## a _) == x@(VkViewportSwizzleNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkViewportSwizzleNV where+ (VkViewportSwizzleNV## a _) `compare` x@(VkViewportSwizzleNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkViewportSwizzleNV where+ sizeOf ~_ = #{size VkViewportSwizzleNV}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkViewportSwizzleNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkViewportSwizzleNV where+ unsafeAddr (VkViewportSwizzleNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkViewportSwizzleNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkViewportSwizzleNV## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkViewportSwizzleNV where+ type StructFields VkViewportSwizzleNV = '["x", "y", "z", "w"] -- ' closing tick for hsc2hs+ type CUnionType VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkViewportSwizzleNV = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "x" VkViewportSwizzleNV where+ type FieldType "x" VkViewportSwizzleNV =+ VkViewportCoordinateSwizzleNV+ type FieldOptional "x" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "x" VkViewportSwizzleNV =+ #{offset VkViewportSwizzleNV, x}+ type FieldIsArray "x" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewportSwizzleNV, x}++instance {-# OVERLAPPING #-} CanReadField "x" VkViewportSwizzleNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, x})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewportSwizzleNV, x}++instance {-# OVERLAPPING #-} CanWriteField "x" VkViewportSwizzleNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewportSwizzleNV, x}++instance {-# OVERLAPPING #-} HasField "y" VkViewportSwizzleNV where+ type FieldType "y" VkViewportSwizzleNV =+ VkViewportCoordinateSwizzleNV+ type FieldOptional "y" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "y" VkViewportSwizzleNV =+ #{offset VkViewportSwizzleNV, y}+ type FieldIsArray "y" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewportSwizzleNV, y}++instance {-# OVERLAPPING #-} CanReadField "y" VkViewportSwizzleNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, y})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewportSwizzleNV, y}++instance {-# OVERLAPPING #-} CanWriteField "y" VkViewportSwizzleNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewportSwizzleNV, y}++instance {-# OVERLAPPING #-} HasField "z" VkViewportSwizzleNV where+ type FieldType "z" VkViewportSwizzleNV =+ VkViewportCoordinateSwizzleNV+ type FieldOptional "z" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "z" VkViewportSwizzleNV =+ #{offset VkViewportSwizzleNV, z}+ type FieldIsArray "z" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewportSwizzleNV, z}++instance {-# OVERLAPPING #-} CanReadField "z" VkViewportSwizzleNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, z})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewportSwizzleNV, z}++instance {-# OVERLAPPING #-} CanWriteField "z" VkViewportSwizzleNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewportSwizzleNV, z}++instance {-# OVERLAPPING #-} HasField "w" VkViewportSwizzleNV where+ type FieldType "w" VkViewportSwizzleNV =+ VkViewportCoordinateSwizzleNV+ type FieldOptional "w" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "w" VkViewportSwizzleNV =+ #{offset VkViewportSwizzleNV, w}+ type FieldIsArray "w" VkViewportSwizzleNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewportSwizzleNV, w}++instance {-# OVERLAPPING #-} CanReadField "w" VkViewportSwizzleNV+ where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewportSwizzleNV, w})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewportSwizzleNV, w}++instance {-# OVERLAPPING #-} CanWriteField "w" VkViewportSwizzleNV+ where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewportSwizzleNV, w}++instance Show VkViewportSwizzleNV where+ showsPrec d x+ = showString "VkViewportSwizzleNV {" .+ showString "x = " .+ showsPrec d (getField @"x" x) .+ showString ", " .+ showString "y = " .+ showsPrec d (getField @"y" x) .+ showString ", " .+ showString "z = " .+ showsPrec d (getField @"z" x) .+ showString ", " .+ showString "w = " . showsPrec d (getField @"w" x) . showChar '}'++-- | > typedef struct VkViewportWScalingNV {+-- > float xcoeff;+-- > float ycoeff;+-- > } VkViewportWScalingNV;+--+-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkViewportWScalingNV VkViewportWScalingNV registry at www.khronos.org>+data VkViewportWScalingNV = VkViewportWScalingNV## Addr## ByteArray##++instance Eq VkViewportWScalingNV where+ (VkViewportWScalingNV## a _) == x@(VkViewportWScalingNV## b _)+ = EQ == cmpBytes## (sizeOf x) a b++ {-# INLINE (==) #-}++instance Ord VkViewportWScalingNV where+ (VkViewportWScalingNV## a _) `compare` x@(VkViewportWScalingNV## b _)+ = cmpBytes## (sizeOf x) a b++ {-# INLINE compare #-}++instance Storable VkViewportWScalingNV where+ sizeOf ~_ = #{size VkViewportWScalingNV}++ {-# INLINE sizeOf #-}+ alignment ~_ = #{alignment VkViewportWScalingNV}++ {-# INLINE alignment #-}+ peek = peekVkData##++ {-# INLINE peek #-}+ poke = pokeVkData##++ {-# INLINE poke #-}++instance VulkanMarshalPrim VkViewportWScalingNV where+ unsafeAddr (VkViewportWScalingNV## a _) = a++ {-# INLINE unsafeAddr #-}+ unsafeByteArray (VkViewportWScalingNV## _ b) = b++ {-# INLINE unsafeByteArray #-}+ unsafeFromByteArrayOffset off b+ = VkViewportWScalingNV## (plusAddr## (byteArrayContents## b) off) b++ {-# INLINE unsafeFromByteArrayOffset #-}++instance VulkanMarshal VkViewportWScalingNV where+ type StructFields VkViewportWScalingNV = '["xcoeff", "ycoeff"] -- ' closing tick for hsc2hs+ type CUnionType VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs+ type ReturnedOnly VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs+ type StructExtends VkViewportWScalingNV = '[] -- ' closing tick for hsc2hs++instance {-# OVERLAPPING #-} HasField "xcoeff" VkViewportWScalingNV+ where+ type FieldType "xcoeff" VkViewportWScalingNV =+ #{type float}+ type FieldOptional "xcoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "xcoeff" VkViewportWScalingNV =+ #{offset VkViewportWScalingNV, xcoeff}+ type FieldIsArray "xcoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewportWScalingNV, xcoeff}++instance {-# OVERLAPPING #-}+ CanReadField "xcoeff" VkViewportWScalingNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewportWScalingNV, xcoeff})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewportWScalingNV, xcoeff}++instance {-# OVERLAPPING #-}+ CanWriteField "xcoeff" VkViewportWScalingNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewportWScalingNV, xcoeff}++instance {-# OVERLAPPING #-} HasField "ycoeff" VkViewportWScalingNV+ where+ type FieldType "ycoeff" VkViewportWScalingNV =+ #{type float}+ type FieldOptional "ycoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs+ type FieldOffset "ycoeff" VkViewportWScalingNV =+ #{offset VkViewportWScalingNV, ycoeff}+ type FieldIsArray "ycoeff" VkViewportWScalingNV = 'False -- ' closing tick for hsc2hs++ {-# INLINE fieldOptional #-}+ fieldOptional = False++ {-# INLINE fieldOffset #-}+ fieldOffset = #{offset VkViewportWScalingNV, ycoeff}++instance {-# OVERLAPPING #-}+ CanReadField "ycoeff" VkViewportWScalingNV where+ {-# NOINLINE getField #-}+ getField x+ = unsafeDupablePerformIO+ (peekByteOff (unsafePtr x) #{offset VkViewportWScalingNV, ycoeff})++ {-# INLINE readField #-}+ readField p+ = peekByteOff p #{offset VkViewportWScalingNV, ycoeff}++instance {-# OVERLAPPING #-}+ CanWriteField "ycoeff" VkViewportWScalingNV where+ {-# INLINE writeField #-}+ writeField p+ = pokeByteOff p #{offset VkViewportWScalingNV, ycoeff}++instance Show VkViewportWScalingNV where+ showsPrec d x+ = showString "VkViewportWScalingNV {" .+ showString "xcoeff = " .+ showsPrec d (getField @"xcoeff" x) .+ showString ", " .+ showString "ycoeff = " .+ showsPrec d (getField @"ycoeff" x) . showChar '}'
@@ -1,331 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MagicHash #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeApplications #-}-{-# LANGUAGE TypeFamilies #-}-module Graphics.Vulkan.Types.Struct.VkAcquireNextImageInfoKHR- (VkAcquireNextImageInfoKHR(..)) where-import Foreign.Storable (Storable (..))-import GHC.Prim-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType)-import Graphics.Vulkan.Types.Handles (VkFence,- VkSemaphore,- VkSwapchainKHR)-import System.IO.Unsafe (unsafeDupablePerformIO)---- | > typedef struct VkAcquireNextImageInfoKHR {--- > VkStructureType sType;--- > const void* pNext;--- > VkSwapchainKHR swapchain;--- > uint64_t timeout;--- > VkSemaphore semaphore;--- > VkFence fence;--- > uint32_t deviceMask;--- > } VkAcquireNextImageInfoKHR;------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAcquireNextImageInfoKHR.html VkAcquireNextImageInfoKHR registry at www.khronos.org>-data VkAcquireNextImageInfoKHR = VkAcquireNextImageInfoKHR## Addr##- ByteArray##--instance Eq VkAcquireNextImageInfoKHR where- (VkAcquireNextImageInfoKHR## a _) ==- x@(VkAcquireNextImageInfoKHR## b _) = EQ == cmpBytes## (sizeOf x) a b-- {-# INLINE (==) #-}--instance Ord VkAcquireNextImageInfoKHR where- (VkAcquireNextImageInfoKHR## a _) `compare`- x@(VkAcquireNextImageInfoKHR## b _) = cmpBytes## (sizeOf x) a b-- {-# INLINE compare #-}--instance Storable VkAcquireNextImageInfoKHR where- sizeOf ~_ = #{size VkAcquireNextImageInfoKHR}-- {-# INLINE sizeOf #-}- alignment ~_ = #{alignment VkAcquireNextImageInfoKHR}-- {-# INLINE alignment #-}- peek = peekVkData##-- {-# INLINE peek #-}- poke = pokeVkData##-- {-# INLINE poke #-}--instance VulkanMarshalPrim VkAcquireNextImageInfoKHR where- unsafeAddr (VkAcquireNextImageInfoKHR## a _) = a-- {-# INLINE unsafeAddr #-}- unsafeByteArray (VkAcquireNextImageInfoKHR## _ b) = b-- {-# INLINE unsafeByteArray #-}- unsafeFromByteArrayOffset off b- = VkAcquireNextImageInfoKHR## (plusAddr## (byteArrayContents## b) off)- b-- {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkAcquireNextImageInfoKHR where- type StructFields VkAcquireNextImageInfoKHR =- '["sType", "pNext", "swapchain", "timeout", "semaphore", "fence", -- ' closing tick for hsc2hs- "deviceMask"]- type CUnionType VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type ReturnedOnly VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type StructExtends VkAcquireNextImageInfoKHR = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}- HasField "sType" VkAcquireNextImageInfoKHR where- type FieldType "sType" VkAcquireNextImageInfoKHR = VkStructureType- type FieldOptional "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type FieldOffset "sType" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, sType}- type FieldIsArray "sType" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, sType}--instance {-# OVERLAPPING #-}- CanReadField "sType" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, sType})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, sType}--instance {-# OVERLAPPING #-}- CanWriteField "sType" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, sType}--instance {-# OVERLAPPING #-}- HasField "pNext" VkAcquireNextImageInfoKHR where- type FieldType "pNext" VkAcquireNextImageInfoKHR = Ptr Void- type FieldOptional "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type FieldOffset "pNext" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, pNext}- type FieldIsArray "pNext" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, pNext}--instance {-# OVERLAPPING #-}- CanReadField "pNext" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, pNext})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}--instance {-# OVERLAPPING #-}- CanWriteField "pNext" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, pNext}--instance {-# OVERLAPPING #-}- HasField "swapchain" VkAcquireNextImageInfoKHR where- type FieldType "swapchain" VkAcquireNextImageInfoKHR =- VkSwapchainKHR- type FieldOptional "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type FieldOffset "swapchain" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, swapchain}- type FieldIsArray "swapchain" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, swapchain}--instance {-# OVERLAPPING #-}- CanReadField "swapchain" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, swapchain})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}--instance {-# OVERLAPPING #-}- CanWriteField "swapchain" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, swapchain}--instance {-# OVERLAPPING #-}- HasField "timeout" VkAcquireNextImageInfoKHR where- type FieldType "timeout" VkAcquireNextImageInfoKHR = Word64- type FieldOptional "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type FieldOffset "timeout" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, timeout}- type FieldIsArray "timeout" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, timeout}--instance {-# OVERLAPPING #-}- CanReadField "timeout" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, timeout})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}--instance {-# OVERLAPPING #-}- CanWriteField "timeout" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, timeout}--instance {-# OVERLAPPING #-}- HasField "semaphore" VkAcquireNextImageInfoKHR where- type FieldType "semaphore" VkAcquireNextImageInfoKHR = VkSemaphore- type FieldOptional "semaphore" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs- type FieldOffset "semaphore" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, semaphore}- type FieldIsArray "semaphore" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = True-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, semaphore}--instance {-# OVERLAPPING #-}- CanReadField "semaphore" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, semaphore})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}--instance {-# OVERLAPPING #-}- CanWriteField "semaphore" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, semaphore}--instance {-# OVERLAPPING #-}- HasField "fence" VkAcquireNextImageInfoKHR where- type FieldType "fence" VkAcquireNextImageInfoKHR = VkFence- type FieldOptional "fence" VkAcquireNextImageInfoKHR = 'True -- ' closing tick for hsc2hs- type FieldOffset "fence" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, fence}- type FieldIsArray "fence" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = True-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, fence}--instance {-# OVERLAPPING #-}- CanReadField "fence" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, fence})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, fence}--instance {-# OVERLAPPING #-}- CanWriteField "fence" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, fence}--instance {-# OVERLAPPING #-}- HasField "deviceMask" VkAcquireNextImageInfoKHR where- type FieldType "deviceMask" VkAcquireNextImageInfoKHR = Word32- type FieldOptional "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs- type FieldOffset "deviceMask" VkAcquireNextImageInfoKHR =- #{offset VkAcquireNextImageInfoKHR, deviceMask}- type FieldIsArray "deviceMask" VkAcquireNextImageInfoKHR = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAcquireNextImageInfoKHR, deviceMask}--instance {-# OVERLAPPING #-}- CanReadField "deviceMask" VkAcquireNextImageInfoKHR where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAcquireNextImageInfoKHR, deviceMask})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}--instance {-# OVERLAPPING #-}- CanWriteField "deviceMask" VkAcquireNextImageInfoKHR where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAcquireNextImageInfoKHR, deviceMask}--instance Show VkAcquireNextImageInfoKHR where- showsPrec d x- = showString "VkAcquireNextImageInfoKHR {" .- showString "sType = " .- showsPrec d (getField @"sType" x) .- showString ", " .- showString "pNext = " .- showsPrec d (getField @"pNext" x) .- showString ", " .- showString "swapchain = " .- showsPrec d (getField @"swapchain" x) .- showString ", " .- showString "timeout = " .- showsPrec d (getField @"timeout" x) .- showString ", " .- showString "semaphore = " .- showsPrec d (getField @"semaphore" x) .- showString ", " .- showString "fence = " .- showsPrec d (getField @"fence" x) .- showString ", " .- showString "deviceMask = " .- showsPrec d (getField @"deviceMask" x) .- showChar '}'
@@ -1,299 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MagicHash #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeApplications #-}-{-# LANGUAGE TypeFamilies #-}-module Graphics.Vulkan.Types.Struct.VkAllocationCallbacks- (VkAllocationCallbacks(..)) where-import Foreign.Storable (Storable (..))-import GHC.Prim-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Funcpointers (PFN_vkAllocationFunction,- PFN_vkFreeFunction,- PFN_vkInternalAllocationNotification,- PFN_vkInternalFreeNotification,- PFN_vkReallocationFunction)-import System.IO.Unsafe (unsafeDupablePerformIO)---- | > typedef struct VkAllocationCallbacks {--- > void* pUserData;--- > PFN_vkAllocationFunction pfnAllocation;--- > PFN_vkReallocationFunction pfnReallocation;--- > PFN_vkFreeFunction pfnFree;--- > PFN_vkInternalAllocationNotification pfnInternalAllocation;--- > PFN_vkInternalFreeNotification pfnInternalFree;--- > } VkAllocationCallbacks;------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAllocationCallbacks.html VkAllocationCallbacks registry at www.khronos.org>-data VkAllocationCallbacks = VkAllocationCallbacks## Addr##- ByteArray##--instance Eq VkAllocationCallbacks where- (VkAllocationCallbacks## a _) == x@(VkAllocationCallbacks## b _)- = EQ == cmpBytes## (sizeOf x) a b-- {-# INLINE (==) #-}--instance Ord VkAllocationCallbacks where- (VkAllocationCallbacks## a _) `compare`- x@(VkAllocationCallbacks## b _) = cmpBytes## (sizeOf x) a b-- {-# INLINE compare #-}--instance Storable VkAllocationCallbacks where- sizeOf ~_ = #{size VkAllocationCallbacks}-- {-# INLINE sizeOf #-}- alignment ~_ = #{alignment VkAllocationCallbacks}-- {-# INLINE alignment #-}- peek = peekVkData##-- {-# INLINE peek #-}- poke = pokeVkData##-- {-# INLINE poke #-}--instance VulkanMarshalPrim VkAllocationCallbacks where- unsafeAddr (VkAllocationCallbacks## a _) = a-- {-# INLINE unsafeAddr #-}- unsafeByteArray (VkAllocationCallbacks## _ b) = b-- {-# INLINE unsafeByteArray #-}- unsafeFromByteArrayOffset off b- = VkAllocationCallbacks## (plusAddr## (byteArrayContents## b) off) b-- {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal VkAllocationCallbacks where- type StructFields VkAllocationCallbacks =- '["pUserData", "pfnAllocation", "pfnReallocation", "pfnFree", -- ' closing tick for hsc2hs- "pfnInternalAllocation", "pfnInternalFree"]- type CUnionType VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs- type ReturnedOnly VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs- type StructExtends VkAllocationCallbacks = '[] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}- HasField "pUserData" VkAllocationCallbacks where- type FieldType "pUserData" VkAllocationCallbacks = Ptr Void- type FieldOptional "pUserData" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs- type FieldOffset "pUserData" VkAllocationCallbacks =- #{offset VkAllocationCallbacks, pUserData}- type FieldIsArray "pUserData" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = True-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAllocationCallbacks, pUserData}--instance {-# OVERLAPPING #-}- CanReadField "pUserData" VkAllocationCallbacks where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pUserData})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAllocationCallbacks, pUserData}--instance {-# OVERLAPPING #-}- CanWriteField "pUserData" VkAllocationCallbacks where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAllocationCallbacks, pUserData}--instance {-# OVERLAPPING #-}- HasField "pfnAllocation" VkAllocationCallbacks where- type FieldType "pfnAllocation" VkAllocationCallbacks =- PFN_vkAllocationFunction- type FieldOptional "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs- type FieldOffset "pfnAllocation" VkAllocationCallbacks =- #{offset VkAllocationCallbacks, pfnAllocation}- type FieldIsArray "pfnAllocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAllocationCallbacks, pfnAllocation}--instance {-# OVERLAPPING #-}- CanReadField "pfnAllocation" VkAllocationCallbacks where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnAllocation})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAllocationCallbacks, pfnAllocation}--instance {-# OVERLAPPING #-}- CanWriteField "pfnAllocation" VkAllocationCallbacks where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAllocationCallbacks, pfnAllocation}--instance {-# OVERLAPPING #-}- HasField "pfnReallocation" VkAllocationCallbacks where- type FieldType "pfnReallocation" VkAllocationCallbacks =- PFN_vkReallocationFunction- type FieldOptional "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs- type FieldOffset "pfnReallocation" VkAllocationCallbacks =- #{offset VkAllocationCallbacks, pfnReallocation}- type FieldIsArray "pfnReallocation" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAllocationCallbacks, pfnReallocation}--instance {-# OVERLAPPING #-}- CanReadField "pfnReallocation" VkAllocationCallbacks where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnReallocation})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAllocationCallbacks, pfnReallocation}--instance {-# OVERLAPPING #-}- CanWriteField "pfnReallocation" VkAllocationCallbacks where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAllocationCallbacks, pfnReallocation}--instance {-# OVERLAPPING #-}- HasField "pfnFree" VkAllocationCallbacks where- type FieldType "pfnFree" VkAllocationCallbacks = PFN_vkFreeFunction- type FieldOptional "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs- type FieldOffset "pfnFree" VkAllocationCallbacks =- #{offset VkAllocationCallbacks, pfnFree}- type FieldIsArray "pfnFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset = #{offset VkAllocationCallbacks, pfnFree}--instance {-# OVERLAPPING #-}- CanReadField "pfnFree" VkAllocationCallbacks where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnFree})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAllocationCallbacks, pfnFree}--instance {-# OVERLAPPING #-}- CanWriteField "pfnFree" VkAllocationCallbacks where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAllocationCallbacks, pfnFree}--instance {-# OVERLAPPING #-}- HasField "pfnInternalAllocation" VkAllocationCallbacks where- type FieldType "pfnInternalAllocation" VkAllocationCallbacks =- PFN_vkInternalAllocationNotification- type FieldOptional "pfnInternalAllocation" VkAllocationCallbacks =- 'True -- ' closing tick for hsc2hs- type FieldOffset "pfnInternalAllocation" VkAllocationCallbacks =- #{offset VkAllocationCallbacks, pfnInternalAllocation}- type FieldIsArray "pfnInternalAllocation" VkAllocationCallbacks =- 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = True-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAllocationCallbacks, pfnInternalAllocation}--instance {-# OVERLAPPING #-}- CanReadField "pfnInternalAllocation" VkAllocationCallbacks where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalAllocation})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}--instance {-# OVERLAPPING #-}- CanWriteField "pfnInternalAllocation" VkAllocationCallbacks where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalAllocation}--instance {-# OVERLAPPING #-}- HasField "pfnInternalFree" VkAllocationCallbacks where- type FieldType "pfnInternalFree" VkAllocationCallbacks =- PFN_vkInternalFreeNotification- type FieldOptional "pfnInternalFree" VkAllocationCallbacks = 'True -- ' closing tick for hsc2hs- type FieldOffset "pfnInternalFree" VkAllocationCallbacks =- #{offset VkAllocationCallbacks, pfnInternalFree}- type FieldIsArray "pfnInternalFree" VkAllocationCallbacks = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = True-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAllocationCallbacks, pfnInternalFree}--instance {-# OVERLAPPING #-}- CanReadField "pfnInternalFree" VkAllocationCallbacks where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAllocationCallbacks, pfnInternalFree})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}--instance {-# OVERLAPPING #-}- CanWriteField "pfnInternalFree" VkAllocationCallbacks where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAllocationCallbacks, pfnInternalFree}--instance Show VkAllocationCallbacks where- showsPrec d x- = showString "VkAllocationCallbacks {" .- showString "pUserData = " .- showsPrec d (getField @"pUserData" x) .- showString ", " .- showString "pfnAllocation = " .- showsPrec d (getField @"pfnAllocation" x) .- showString ", " .- showString "pfnReallocation = " .- showsPrec d (getField @"pfnReallocation" x) .- showString ", " .- showString "pfnFree = " .- showsPrec d (getField @"pfnFree" x) .- showString ", " .- showString "pfnInternalAllocation = " .- showsPrec d (getField @"pfnInternalAllocation" x) .- showString ", " .- showString "pfnInternalFree = " .- showsPrec d (getField @"pfnInternalFree" x) .- showChar '}'
@@ -1,619 +0,0 @@-#include "vulkan/vulkan.h"--{-# LANGUAGE DataKinds #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MagicHash #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Strict #-}-{-# LANGUAGE TypeApplications #-}-{-# LANGUAGE TypeFamilies #-}-module Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferFormatPropertiesANDROID- (VkAndroidHardwareBufferFormatPropertiesANDROID(..)) where-import Foreign.Storable- (Storable (..))-import GHC.Prim-import Graphics.Vulkan.Marshal-import Graphics.Vulkan.Marshal.Internal-import Graphics.Vulkan.Types.Enum.VkChromaLocation- (VkChromaLocation)-import Graphics.Vulkan.Types.Enum.VkFormat- (VkFormat)-import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags- (VkFormatFeatureFlags)-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrModelConversion- (VkSamplerYcbcrModelConversion)-import Graphics.Vulkan.Types.Enum.VkSamplerYcbcrRange- (VkSamplerYcbcrRange)-import Graphics.Vulkan.Types.Enum.VkStructureType- (VkStructureType)-import Graphics.Vulkan.Types.Struct.VkAndroidHardwareBufferPropertiesANDROID- (VkAndroidHardwareBufferPropertiesANDROID)-import Graphics.Vulkan.Types.Struct.VkComponentMapping- (VkComponentMapping)-import System.IO.Unsafe- (unsafeDupablePerformIO)---- | > typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {--- > VkStructureType sType;--- > void* pNext;--- > VkFormat format;--- > uint64_t externalFormat;--- > VkFormatFeatureFlags formatFeatures;--- > VkComponentMapping samplerYcbcrConversionComponents;--- > VkSamplerYcbcrModelConversion suggestedYcbcrModel;--- > VkSamplerYcbcrRange suggestedYcbcrRange;--- > VkChromaLocation suggestedXChromaOffset;--- > VkChromaLocation suggestedYChromaOffset;--- > } VkAndroidHardwareBufferFormatPropertiesANDROID;------ <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkAndroidHardwareBufferFormatPropertiesANDROID.html VkAndroidHardwareBufferFormatPropertiesANDROID registry at www.khronos.org>-data VkAndroidHardwareBufferFormatPropertiesANDROID = VkAndroidHardwareBufferFormatPropertiesANDROID## Addr##- ByteArray##--instance Eq VkAndroidHardwareBufferFormatPropertiesANDROID where- (VkAndroidHardwareBufferFormatPropertiesANDROID## a _) ==- x@(VkAndroidHardwareBufferFormatPropertiesANDROID## b _)- = EQ == cmpBytes## (sizeOf x) a b-- {-# INLINE (==) #-}--instance Ord VkAndroidHardwareBufferFormatPropertiesANDROID where- (VkAndroidHardwareBufferFormatPropertiesANDROID## a _) `compare`- x@(VkAndroidHardwareBufferFormatPropertiesANDROID## b _)- = cmpBytes## (sizeOf x) a b-- {-# INLINE compare #-}--instance Storable VkAndroidHardwareBufferFormatPropertiesANDROID- where- sizeOf ~_- = #{size VkAndroidHardwareBufferFormatPropertiesANDROID}-- {-# INLINE sizeOf #-}- alignment ~_- = #{alignment VkAndroidHardwareBufferFormatPropertiesANDROID}-- {-# INLINE alignment #-}- peek = peekVkData##-- {-# INLINE peek #-}- poke = pokeVkData##-- {-# INLINE poke #-}--instance VulkanMarshalPrim- VkAndroidHardwareBufferFormatPropertiesANDROID- where- unsafeAddr (VkAndroidHardwareBufferFormatPropertiesANDROID## a _)- = a-- {-# INLINE unsafeAddr #-}- unsafeByteArray- (VkAndroidHardwareBufferFormatPropertiesANDROID## _ b) = b-- {-# INLINE unsafeByteArray #-}- unsafeFromByteArrayOffset off b- = VkAndroidHardwareBufferFormatPropertiesANDROID##- (plusAddr## (byteArrayContents## b) off)- b-- {-# INLINE unsafeFromByteArrayOffset #-}--instance VulkanMarshal- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type StructFields VkAndroidHardwareBufferFormatPropertiesANDROID =- '["sType", "pNext", "format", "externalFormat", "formatFeatures", -- ' closing tick for hsc2hs- "samplerYcbcrConversionComponents", "suggestedYcbcrModel",- "suggestedYcbcrRange", "suggestedXChromaOffset",- "suggestedYChromaOffset"]- type CUnionType VkAndroidHardwareBufferFormatPropertiesANDROID =- 'False -- ' closing tick for hsc2hs- type ReturnedOnly VkAndroidHardwareBufferFormatPropertiesANDROID =- 'True -- ' closing tick for hsc2hs- type StructExtends VkAndroidHardwareBufferFormatPropertiesANDROID =- '[VkAndroidHardwareBufferPropertiesANDROID] -- ' closing tick for hsc2hs--instance {-# OVERLAPPING #-}- HasField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "sType"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkStructureType- type FieldOptional "sType"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "sType"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}- type FieldIsArray "sType"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}- CanReadField "sType" VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}- CanWriteField "sType"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, sType}--instance {-# OVERLAPPING #-}- HasField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "pNext"- VkAndroidHardwareBufferFormatPropertiesANDROID- = Ptr Void- type FieldOptional "pNext"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "pNext"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}- type FieldIsArray "pNext"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}- CanReadField "pNext" VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}- CanWriteField "pNext"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, pNext}--instance {-# OVERLAPPING #-}- HasField "format" VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "format"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkFormat- type FieldOptional "format"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "format"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}- type FieldIsArray "format"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}--instance {-# OVERLAPPING #-}- CanReadField "format"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}--instance {-# OVERLAPPING #-}- CanWriteField "format"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, format}--instance {-# OVERLAPPING #-}- HasField "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- = Word64- type FieldOptional "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}- type FieldIsArray "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}--instance {-# OVERLAPPING #-}- CanReadField "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}--instance {-# OVERLAPPING #-}- CanWriteField "externalFormat"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, externalFormat}--instance {-# OVERLAPPING #-}- HasField "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkFormatFeatureFlags- type FieldOptional "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}- type FieldIsArray "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}--instance {-# OVERLAPPING #-}- CanReadField "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}--instance {-# OVERLAPPING #-}- CanWriteField "formatFeatures"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, formatFeatures}--instance {-# OVERLAPPING #-}- HasField "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkComponentMapping- type FieldOptional "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}- type FieldIsArray "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}--instance {-# OVERLAPPING #-}- CanReadField "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}--instance {-# OVERLAPPING #-}- CanWriteField "samplerYcbcrConversionComponents"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, samplerYcbcrConversionComponents}--instance {-# OVERLAPPING #-}- HasField "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkSamplerYcbcrModelConversion- type FieldOptional "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}- type FieldIsArray "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}--instance {-# OVERLAPPING #-}- CanReadField "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}--instance {-# OVERLAPPING #-}- CanWriteField "suggestedYcbcrModel"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrModel}--instance {-# OVERLAPPING #-}- HasField "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkSamplerYcbcrRange- type FieldOptional "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}- type FieldIsArray "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}--instance {-# OVERLAPPING #-}- CanReadField "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}--instance {-# OVERLAPPING #-}- CanWriteField "suggestedYcbcrRange"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYcbcrRange}--instance {-# OVERLAPPING #-}- HasField "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkChromaLocation- type FieldOptional "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}- type FieldIsArray "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}--instance {-# OVERLAPPING #-}- CanReadField "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}--instance {-# OVERLAPPING #-}- CanWriteField "suggestedXChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedXChromaOffset}--instance {-# OVERLAPPING #-}- HasField "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- type FieldType "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- = VkChromaLocation- type FieldOptional "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs- type FieldOffset "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- =- #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}- type FieldIsArray "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- = 'False -- ' closing tick for hsc2hs-- {-# INLINE fieldOptional #-}- fieldOptional = False-- {-# INLINE fieldOffset #-}- fieldOffset- = #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}--instance {-# OVERLAPPING #-}- CanReadField "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# NOINLINE getField #-}- getField x- = unsafeDupablePerformIO- (peekByteOff (unsafePtr x) #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset})-- {-# INLINE readField #-}- readField p- = peekByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}--instance {-# OVERLAPPING #-}- CanWriteField "suggestedYChromaOffset"- VkAndroidHardwareBufferFormatPropertiesANDROID- where- {-# INLINE writeField #-}- writeField p- = pokeByteOff p #{offset VkAndroidHardwareBufferFormatPropertiesANDROID, suggestedYChromaOffset}--instance Show VkAndroidHardwareBufferFormatPropertiesANDROID where- showsPrec d x- = showString "VkAndroidHardwareBufferFormatPropertiesANDROID {" .- showString "sType = " .- showsPrec d (getField @"sType" x) .- showString ", " .- showString "pNext = " .- showsPrec d (getField @"pNext" x) .- showString ", " .- showString "format = " .- showsPrec d (getField @"format" x) .- showString ", " .- showString "externalFormat = " .- showsPrec d (getField @"externalFormat" x) .- showString ", " .- showString "formatFeatures = " .- showsPrec d (getField @"formatFeatures" x) .- showString ", " .- showString "samplerYcbcrConversionComponents = " .- showsPrec d- (getField @"samplerYcbcrConversionComponents" x)- .- showString ", " .- showString "suggestedYcbcrModel = " .- showsPrec d (getField @"suggestedYcbcrModel" x)- .- showString ", " .- showString "suggestedYcbcrRange = " .- showsPrec d- (getField @"suggestedYcbcrRange" x)- .- showString ", " .- showString "suggestedXChromaOffset = "- .- showsPrec d- (getField- @"suggestedXChromaOffset"- x)- .- showString ", " .- showString- "suggestedYChromaOffset = "- .- showsPrec d- (getField- @"suggestedYChromaOffset"- x)- . showChar '}'
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff